@cdk_utils/iam 1.27.0 → 1.28.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 +2 -2
- 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 +5 -6
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.d.ts +16 -0
- package/lib/generated/services/billingconductor.js +31 -5
- 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.d.ts +737 -0
- package/lib/generated/services/cloudwatch.js +845 -7
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +4 -4
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.js +4 -4
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.d.ts +6 -0
- package/lib/generated/services/omics.js +20 -5
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +4 -4
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +4 -4
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.js +4 -4
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ class BedrockActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BedrockActions = BedrockActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BedrockActions[_a] = { fqn: "@cdk_utils/iam.bedrock.BedrockActions", version: "1.
|
|
19
|
+
BedrockActions[_a] = { fqn: "@cdk_utils/iam.bedrock.BedrockActions", version: "1.28.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BedrockActions.SERVICE_PREFIX = "bedrock";
|
|
22
22
|
/** [Read] bedrock:AgenticRetrieveStream */
|
|
@@ -1991,7 +1991,7 @@ class BedrockResources {
|
|
|
1991
1991
|
}
|
|
1992
1992
|
exports.BedrockResources = BedrockResources;
|
|
1993
1993
|
_b = JSII_RTTI_SYMBOL_1;
|
|
1994
|
-
BedrockResources[_b] = { fqn: "@cdk_utils/iam.bedrock.BedrockResources", version: "1.
|
|
1994
|
+
BedrockResources[_b] = { fqn: "@cdk_utils/iam.bedrock.BedrockResources", version: "1.28.0" };
|
|
1995
1995
|
/**
|
|
1996
1996
|
* API operation to required IAM actions mapping for bedrock.
|
|
1997
1997
|
*/
|
|
@@ -1999,7 +1999,7 @@ class BedrockOperations {
|
|
|
1999
1999
|
}
|
|
2000
2000
|
exports.BedrockOperations = BedrockOperations;
|
|
2001
2001
|
_c = JSII_RTTI_SYMBOL_1;
|
|
2002
|
-
BedrockOperations[_c] = { fqn: "@cdk_utils/iam.bedrock.BedrockOperations", version: "1.
|
|
2002
|
+
BedrockOperations[_c] = { fqn: "@cdk_utils/iam.bedrock.BedrockOperations", version: "1.28.0" };
|
|
2003
2003
|
/** IAM actions required for the AgenticRetrieveStream API call. */
|
|
2004
2004
|
BedrockOperations.AgenticRetrieveStream = [
|
|
2005
2005
|
"bedrock:AgenticRetrieveStream",
|
|
@@ -2058,7 +2058,6 @@ BedrockOperations.CountTokens = [
|
|
|
2058
2058
|
];
|
|
2059
2059
|
/** IAM actions required for the CreateAdvancedPromptOptimizationJob API call. */
|
|
2060
2060
|
BedrockOperations.CreateAdvancedPromptOptimizationJob = [
|
|
2061
|
-
"bedrock:CallWithBearerToken",
|
|
2062
2061
|
"bedrock:CreateAdvancedPromptOptimizationJob",
|
|
2063
2062
|
"bedrock:TagResource",
|
|
2064
2063
|
];
|
|
@@ -3086,7 +3085,7 @@ class BedrockConditions {
|
|
|
3086
3085
|
}
|
|
3087
3086
|
exports.BedrockConditions = BedrockConditions;
|
|
3088
3087
|
_d = JSII_RTTI_SYMBOL_1;
|
|
3089
|
-
BedrockConditions[_d] = { fqn: "@cdk_utils/iam.bedrock.BedrockConditions", version: "1.
|
|
3088
|
+
BedrockConditions[_d] = { fqn: "@cdk_utils/iam.bedrock.BedrockConditions", version: "1.28.0" };
|
|
3090
3089
|
/** Condition keys applicable to the AssociateThirdPartyKnowledgeBase action. */
|
|
3091
3090
|
BedrockConditions.AssociateThirdPartyKnowledgeBaseConditionKeys = [
|
|
3092
3091
|
"bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn",
|
|
@@ -3303,4 +3302,4 @@ BedrockConditions.PROMPT_ROUTER_ARN = "bedrock:PromptRouterArn";
|
|
|
3303
3302
|
BedrockConditions.SERVICE_TIER = "bedrock:ServiceTier";
|
|
3304
3303
|
/** Condition key: bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn (ARN) */
|
|
3305
3304
|
BedrockConditions.THIRD_PARTY_KNOWLEDGE_BASE_CREDENTIALS_SECRET_ARN = "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn";
|
|
3306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmVkcm9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0EwNEJDOzs7QUF6NEJBLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRTNDLDJDQUEyQztBQUMzQixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGlEQUFpRDtBQUNqQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLCtEQUErRDtBQUMvQyx1REFBd0MsR0FDdkQsa0RBQWtELENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxrRUFBa0U7QUFDbEQsMERBQTJDLEdBQzFELHFEQUFxRCxDQUFDO0FBQ3ZELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELDhDQUE4QztBQUM5Qix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7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QUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELDRDQUE0QztBQUM1QiwyQkFBUyxHQUFHLGtCQUFrQixDQUFDO0FBQy9DLDhDQUE4QztBQUM5Qiw2QkFBVyxHQUFHLG9CQUFvQixDQUFDO0FBQ25ELG1EQUFtRDtBQUNuQyxtQ0FBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUM5RCxrREFBa0Q7QUFDbEMsOEJBQVksR0FBRyxxQkFBcUIsQ0FBQztBQUNyRCwrRUFBK0U7QUFDL0QsbUVBQWlELEdBQ2hFLHFEQUFxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYmVkcm9jay5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgYmVkcm9jayBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJiZWRyb2NrXCI7XG5cblx0LyoqIFtSZWFkXSBiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWdlbnRpY1JldHJpZXZlU3RyZWFtID0gXCJiZWRyb2NrOkFnZW50aWNSZXRyaWV2ZVN0cmVhbVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBiZWRyb2NrOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImJlZHJvY2s6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpBcHBseUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXBwbHlHdWFyZHJhaWwgPSBcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgPVxuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkFzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlID1cblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlID1cblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6QmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFdpdGhCZWFyZXJUb2tlbiA9IFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDYW5jZWxJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEludm9rZSA9IFwiYmVkcm9jazpDYW5jZWxJbnZva2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsID0gXCJiZWRyb2NrOkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weUJsdWVwcmludFN0YWdlID0gXCJiZWRyb2NrOkNvcHlCbHVlcHJpbnRTdGFnZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6Q291bnRUb2tlbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvdW50VG9rZW5zID0gXCJiZWRyb2NrOkNvdW50VG9rZW5zXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnQgPSBcImJlZHJvY2s6Q3JlYXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOkNyZWF0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOkNyZWF0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVCbHVlcHJpbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCbHVlcHJpbnRWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWwgPSBcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhU291cmNlID0gXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhU291cmNlVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFTb3VyY2VUb2tlbiA9IFwiYmVkcm9jazpDcmVhdGVEYXRhU291cmNlVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkNyZWF0ZUV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93ID0gXCJiZWRyb2NrOkNyZWF0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpDcmVhdGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd1ZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlRmxvd1ZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsID0gXCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUd1YXJkcmFpbFZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUluZmVyZW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgPSBcImJlZHJvY2s6Q3JlYXRlSW5mZXJlbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUludm9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludm9jYXRpb24gPSBcImJlZHJvY2s6Q3JlYXRlSW52b2NhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENvcHlKb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxDb3B5Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEltcG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxJbXBvcnRKb2IgPSBcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbXBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbEludm9jYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdCA9IFwiYmVkcm9jazpDcmVhdGVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm9tcHRSb3V0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlciA9IFwiYmVkcm9jazpDcmVhdGVQcm9tcHRSb3V0ZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm9tcHRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uID0gXCJiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlc3Npb24gPSBcImJlZHJvY2s6Q3JlYXRlU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudCA9IFwiYmVkcm9jazpEZWxldGVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWxpYXMgPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudE1lbW9yeSA9IFwiYmVkcm9jazpEZWxldGVBZ2VudE1lbW9yeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUFnZW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRWZXJzaW9uID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmx1ZXByaW50ID0gXCJiZWRyb2NrOkRlbGV0ZUJsdWVwcmludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbCA9IFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZURhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFTb3VyY2UgPSBcImJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvdyA9IFwiYmVkcm9jazpEZWxldGVGbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93QWxpYXMgPSBcImJlZHJvY2s6RGVsZXRlRmxvd0FsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkRlbGV0ZUZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpEZWxldGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVJbXBvcnRlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbXBvcnRlZE1vZGVsID0gXCJiZWRyb2NrOkRlbGV0ZUltcG9ydGVkTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVJbmZlcmVuY2VQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VQcm9maWxlID0gXCJiZWRyb2NrOkRlbGV0ZUluZmVyZW5jZVByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludm9rZSA9IFwiYmVkcm9jazpEZWxldGVJbnZva2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsQWdyZWVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0ID0gXCJiZWRyb2NrOkRlbGV0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkRlbGV0ZVByb21wdFJvdXRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJiZWRyb2NrOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpEZWxldGVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkRldGVjdEdlbmVyYXRlZENvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdEdlbmVyYXRlZENvbnRlbnQgPSBcImJlZHJvY2s6RGV0ZWN0R2VuZXJhdGVkQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciA9XG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgPVxuXHRcdFwiYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpFbmRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRTZXNzaW9uID0gXCJiZWRyb2NrOkVuZFNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gPVxuXHRcdFwiYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZW5lcmF0ZVF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVF1ZXJ5ID0gXCJiZWRyb2NrOkdlbmVyYXRlUXVlcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFjY291bnREYXRhUmV0ZW50aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2NvdW50RGF0YVJldGVudGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldEFjY291bnREYXRhUmV0ZW50aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50ID0gXCJiZWRyb2NrOkdldEFnZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50QWxpYXMgPSBcImJlZHJvY2s6R2V0QWdlbnRBbGlhc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29sbGFib3JhdG9yID0gXCJiZWRyb2NrOkdldEFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpHZXRBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50TWVtb3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudE1lbW9yeSA9IFwiYmVkcm9jazpHZXRBZ2VudE1lbW9yeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFZlcnNpb24gPSBcImJlZHJvY2s6R2V0QWdlbnRWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBc3luY0ludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXN5bmNJbnZva2UgPSBcImJlZHJvY2s6R2V0QXN5bmNJbnZva2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpb1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJsdWVwcmludCA9IFwiYmVkcm9jazpHZXRCbHVlcHJpbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzID1cblx0XHRcImJlZHJvY2s6R2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50UmVjb21tZW5kYXRpb24gPVxuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Q3VzdG9tTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbU1vZGVsID0gXCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOkdldEN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5ID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvblN0YXR1cyA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhU291cmNlID0gXCJiZWRyb2NrOkdldERhdGFTb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFTb3VyY2VBdXRob3JpemF0aW9uVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybCA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFTb3VyY2VBdXRob3JpemF0aW9uVXJsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREb2N1bWVudENvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvY3VtZW50Q29udGVudCA9IFwiYmVkcm9jazpHZXREb2N1bWVudENvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFeGVjdXRpb25GbG93U25hcHNob3QgPVxuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3cgPSBcImJlZHJvY2s6R2V0Rmxvd1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rmxvd0FsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGbG93QWxpYXMgPSBcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGbG93RXhlY3V0aW9uID0gXCJiZWRyb2NrOkdldEZsb3dFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGbG93VmVyc2lvbiA9IFwiYmVkcm9jazpHZXRGbG93VmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWwgPSBcImJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eSA9XG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0R3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRHdWFyZHJhaWwgPSBcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbXBvcnRlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbXBvcnRlZE1vZGVsID0gXCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEluZmVyZW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluZmVyZW5jZVByb2ZpbGUgPSBcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5nZXN0ZWREb2N1bWVudEFjbCA9XG5cdFx0XCJiZWRyb2NrOkdldEluZ2VzdGVkRG9jdW1lbnRBY2xcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludm9jYXRpb25TdGVwID0gXCJiZWRyb2NrOkdldEludm9jYXRpb25TdGVwXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbnZva2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludm9rZSA9IFwiYmVkcm9jazpHZXRJbnZva2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkdldEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbENvcHlKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsQ29weUpvYiA9IFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6R2V0TW9kZWxDdXN0b21pemF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsRXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRNb2RlbEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEltcG9ydEpvYiA9IFwiYmVkcm9jazpHZXRNb2RlbEltcG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxJbnZvY2F0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEludm9jYXRpb25Kb2IgPSBcImJlZHJvY2s6R2V0TW9kZWxJbnZvY2F0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9tcHQgPSBcImJlZHJvY2s6R2V0UHJvbXB0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRQcm9tcHRSb3V0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb21wdFJvdXRlciA9IFwiYmVkcm9jazpHZXRQcm9tcHRSb3V0ZXJcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcImJlZHJvY2s6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlc3Npb24gPSBcImJlZHJvY2s6R2V0U2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgPVxuXHRcdFwiYmVkcm9jazpHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6SW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUFnZW50ID0gXCJiZWRyb2NrOkludm9rZUFnZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyA9XG5cdFx0XCJiZWRyb2NrOkludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlQmx1ZXByaW50UmVjb21tZW5kYXRpb25Bc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQmx1ZXByaW50UmVjb21tZW5kYXRpb25Bc3luYyA9XG5cdFx0XCJiZWRyb2NrOkludm9rZUJsdWVwcmludFJlY29tbWVuZGF0aW9uQXN5bmNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VCdWlsZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCdWlsZGVyID0gXCJiZWRyb2NrOkludm9rZUJ1aWxkZXJcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb24gPSBcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VGbG93ID0gXCJiZWRyb2NrOkludm9rZUZsb3dcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlR3VhcmRyYWlsQ2hlY2tzID0gXCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50ID0gXCJiZWRyb2NrOkludm9rZUlubGluZUFnZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWwgPSBcImJlZHJvY2s6SW52b2tlTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSA9XG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VUb29sICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VUb29sID0gXCJiZWRyb2NrOkludm9rZVRvb2xcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRBY3Rpb25Hcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3VwcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRBY3Rpb25Hcm91cHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFsaWFzZXMgPSBcImJlZHJvY2s6TGlzdEFnZW50QWxpYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50Q29sbGFib3JhdG9ycyA9IFwiYmVkcm9jazpMaXN0QWdlbnRDb2xsYWJvcmF0b3JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50S25vd2xlZGdlQmFzZXMgPSBcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9ucyA9IFwiYmVkcm9jazpMaXN0QWdlbnRWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50cyA9IFwiYmVkcm9jazpMaXN0QWdlbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzID0gXCJiZWRyb2NrOkxpc3RBc3luY0ludm9rZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlcyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Qmx1ZXByaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJsdWVwcmludHMgPSBcImJlZHJvY2s6TGlzdEJsdWVwcmludHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tTW9kZWxzID0gXCJiZWRyb2NrOkxpc3RDdXN0b21Nb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyaWVzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdGllcyA9XG5cdFx0XCJiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdGllc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvblByb2plY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvblByb2plY3RzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YVNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhU291cmNlcyA9IFwiYmVkcm9jazpMaXN0RGF0YVNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkxpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RXZhbHVhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmFsdWF0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0RXZhbHVhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dBbGlhc2VzID0gXCJiZWRyb2NrOkxpc3RGbG93QWxpYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25FdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93RXhlY3V0aW9uRXZlbnRzID0gXCJiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9uRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93RXhlY3V0aW9ucyA9IFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93VmVyc2lvbnMgPSBcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd3MgPSBcImJlZHJvY2s6TGlzdEZsb3dzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzID1cblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzID0gXCJiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0R3VhcmRyYWlscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEd1YXJkcmFpbHMgPSBcImJlZHJvY2s6TGlzdEd1YXJkcmFpbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbXBvcnRlZE1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydGVkTW9kZWxzID0gXCJiZWRyb2NrOkxpc3RJbXBvcnRlZE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUHJvZmlsZXMgPSBcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdEluZ2VzdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbnZvY2F0aW9uU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHMgPSBcImJlZHJvY2s6TGlzdEludm9jYXRpb25TdGVwc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEludm9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnMgPSBcImJlZHJvY2s6TGlzdEludm9jYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEtub3dsZWRnZUJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXMgPSBcImJlZHJvY2s6TGlzdEtub3dsZWRnZUJhc2VzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpMaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsQ29weUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENvcHlKb2JzID0gXCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV2YWx1YXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RNb2RlbEV2YWx1YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxJbXBvcnRKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzID0gXCJiZWRyb2NrOkxpc3RNb2RlbEltcG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEludm9jYXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFByb21wdFJvdXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzID0gXCJiZWRyb2NrOkxpc3RQcm9tcHRSb3V0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0UHJvbXB0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb21wdHMgPSBcImJlZHJvY2s6TGlzdFByb21wdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0U2Vzc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9ucyA9IFwiYmVkcm9jazpMaXN0U2Vzc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImJlZHJvY2s6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6T3B0aW1pemVQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9wdGltaXplUHJvbXB0ID0gXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHJlcGFyZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQgPSBcImJlZHJvY2s6UHJlcGFyZUFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHJlcGFyZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXBhcmVGbG93ID0gXCJiZWRyb2NrOlByZXBhcmVGbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uID0gXCJiZWRyb2NrOlB1dEFjY291bnREYXRhUmV0ZW50aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpQdXRFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Rm91bmRhdGlvbk1vZGVsRW50aXRsZW1lbnQgPVxuXHRcdFwiYmVkcm9jazpQdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEludm9jYXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnZvY2F0aW9uU3RlcCA9IFwiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOlB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJiZWRyb2NrOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgPSBcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6UmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOlJlbmRlclByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVuZGVyUHJvbXB0ID0gXCJiZWRyb2NrOlJlbmRlclByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlJlcmFuayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVyYW5rID0gXCJiZWRyb2NrOlJlcmFua1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6UmV0cmlldmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlID0gXCJiZWRyb2NrOlJldHJpZXZlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmVBbmRHZW5lcmF0ZSA9IFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3cgPVxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0Rmxvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGbG93RXhlY3V0aW9uID0gXCJiZWRyb2NrOlN0YXJ0Rmxvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluZ2VzdGlvbkpvYiA9IFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6U3RvcEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcEV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uID0gXCJiZWRyb2NrOlN0b3BGbG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZ2VzdGlvbkpvYiA9IFwiYmVkcm9jazpTdG9wSW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wTW9kZWxJbnZvY2F0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9kZWxJbnZvY2F0aW9uSm9iID0gXCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBiZWRyb2NrOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGJlZHJvY2s6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiYmVkcm9jazpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50ID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRBbGlhcyA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50Q29sbGFib3JhdG9yID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCbHVlcHJpbnQgPSBcImJlZHJvY2s6VXBkYXRlQmx1ZXByaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZSA9IFwiYmVkcm9jazpVcGRhdGVEYXRhU291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvdyA9IFwiYmVkcm9jazpVcGRhdGVGbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93QWxpYXMgPSBcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlR3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWwgPSBcImJlZHJvY2s6VXBkYXRlR3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpVcGRhdGVLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdCA9IFwiYmVkcm9jazpVcGRhdGVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb24gPSBcImJlZHJvY2s6VXBkYXRlU2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6VmFsaWRhdGVGbG93RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbiA9IFwiYmVkcm9jazpWYWxpZGF0ZUZsb3dEZWZpbml0aW9uXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuQWdlbnRpY1JldHJpZXZlU3RyZWFtLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkFwcGx5R3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNhbGxXaXRoQmVhcmVyVG9rZW4sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNvdW50VG9rZW5zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRldGVjdEdlbmVyYXRlZENvbnRlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5HZW5lcmF0ZVF1ZXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFjY291bnREYXRhUmV0ZW50aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRNZW1vcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFzeW5jSW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Qmx1ZXByaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludE9wdGltaXphdGlvblN0YXR1cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRDdXN0b21Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRDdXN0b21Nb2RlbERlcGxveW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uU3RhdHVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RG9jdW1lbnRDb250ZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvd0FsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZsb3dFeGVjdXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvd1ZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW1wb3J0ZWRNb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbmZlcmVuY2VQcm9maWxlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEluZ2VzdGVkRG9jdW1lbnRBY2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEludm9jYXRpb25TdGVwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEtub3dsZWRnZUJhc2VEb2N1bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsQ29weUpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsSW1wb3J0Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UHJvbXB0Um91dGVyLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUd1YXJkcmFpbENoZWNrcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VJbmxpbmVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VNb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VUb29sLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuT3B0aW1pemVQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmVuZGVyUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJldHJpZXZlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlZhbGlkYXRlRmxvd0RlZmluaXRpb24sXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FuY2VsSW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNvcHlCbHVlcHJpbnRTdGFnZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQmx1ZXByaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUJsdWVwcmludFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQ3VzdG9tTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhU291cmNlVG9rZW4sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVGbG93VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlR3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUd1YXJkcmFpbFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVJbnZvY2F0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsQ29weUpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsSW1wb3J0Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvbXB0Um91dGVyLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb21wdFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlU2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudEFjdGlvbkdyb3VwLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRNZW1vcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUJsdWVwcmludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVDdXN0b21Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVEYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZsb3dBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVGbG93VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlR3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUltcG9ydGVkTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlSW5mZXJlbmNlUHJvZmlsZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlS25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVQcm9tcHRSb3V0ZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlU2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5FbmRTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQmx1ZXByaW50UmVjb21tZW5kYXRpb25Bc3luYyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VCdWlsZGVyLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZURhdGFBdXRvbWF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlByZXBhcmVBZ2VudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5QcmVwYXJlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRBY2NvdW50RGF0YVJldGVudGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0Rm91bmRhdGlvbk1vZGVsRW50aXRsZW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0SW52b2NhdGlvblN0ZXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJlcmFuayxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZXRyaWV2ZUFuZEdlbmVyYXRlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEZsb3dFeGVjdXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BGbG93RXhlY3V0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wTW9kZWxJbnZvY2F0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUJsdWVwcmludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVEYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRmxvd0FsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlU2Vzc2lvbixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRBY3Rpb25Hcm91cHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50QWxpYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRDb2xsYWJvcmF0b3JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudEtub3dsZWRnZUJhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudFZlcnNpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFzeW5jSW52b2tlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RCbHVlcHJpbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RDdXN0b21Nb2RlbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyaWVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdGllcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YVNvdXJjZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEV2YWx1YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93QWxpYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd0V4ZWN1dGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dWZXJzaW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVycyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rm91bmRhdGlvbk1vZGVscyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0R3VhcmRyYWlscyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW1wb3J0ZWRNb2RlbHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEluZmVyZW5jZVByb2ZpbGVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbmdlc3Rpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbnZvY2F0aW9uU3RlcHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEludm9jYXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RLbm93bGVkZ2VCYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxDb3B5Sm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxDdXN0b21pemF0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxFdmFsdWF0aW9uSm9icyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0TW9kZWxJbXBvcnRKb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEludm9jYXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RQcm9tcHRSb3V0ZXJzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RQcm9tcHRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFNlc3Npb25zLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5BbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWdlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFyblByb3BzIHtcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFnZW50LWFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBbGlhc0FyblByb3BzIHtcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRBbGlhc0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudEFsaWFzSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZ2VudC1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QWxpYXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRBbGlhc0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRBbGlhc0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhc3luYy1pbnZva2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBc3luY0ludm9rZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXN5bmMtaW52b2tlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXN5bmNJbnZva2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJsdWVwcmludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JsdWVwcmludEFyblByb3BzIHtcblx0LyoqIFRoZSBCbHVlcHJpbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYmx1ZXByaW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBibHVlcHJpbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tCbHVlcHJpbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJsdWVwcmludElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYmx1ZXByaW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjdXN0b20tbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY3VzdG9tLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUFyblByb3BzIHtcblx0LyoqIFRoZSBEYXRhQXV0b21hdGlvbkxpYnJhcnlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXRhQXV0b21hdGlvbkxpYnJhcnlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBJbmdlc3Rpb25Kb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5nZXN0aW9uSm9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmdlc3Rpb25Kb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZ2VzdGlvbkpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9maWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2ZpbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9maWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9maWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2plY3RJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvamVjdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2plY3RJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2plY3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGVmYXVsdC1wcm9tcHQtcm91dGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGVmYXVsdC1wcm9tcHQtcm91dGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRXZhbHVhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXZhbHVhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmbG93IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93LWFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0FsaWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0FsaWFzSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmxvdy1hbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dBbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0FsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdy1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0FsaWFzSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0V4ZWN1dGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93RXhlY3V0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmbG93LWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dBbGlhc0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93RXhlY3V0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93RXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZvdW5kYXRpb24tbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGb3VuZGF0aW9uTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZvdW5kYXRpb24tbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGb3VuZGF0aW9uTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBndWFyZHJhaWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgR3VhcmRyYWlsSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGd1YXJkcmFpbElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ3VhcmRyYWlsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBHdWFyZHJhaWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGd1YXJkcmFpbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBndWFyZHJhaWwtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbFByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGd1YXJkcmFpbC1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGltcG9ydGVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW1wb3J0ZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBrbm93bGVkZ2UtYmFzZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0tub3dsZWRnZUJhc2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgS25vd2xlZGdlQmFzZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBrbm93bGVkZ2VCYXNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBrbm93bGVkZ2UtYmFzZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0tub3dsZWRnZUJhc2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEtub3dsZWRnZUJhc2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGtub3dsZWRnZUJhc2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtY29weS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbENvcHlKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWNvcHktam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDb3B5Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWV2YWx1YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtaW1wb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1pbXBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbXBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW52b2NhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvamVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb2plY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9tcHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJvbXB0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9tcHQtcm91dGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0Um91dGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9tcHQtcm91dGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvbXB0LXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xuXHQvKiogVGhlIFByb21wdFZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb21wdFZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9tcHQtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9tcHRWZXJzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvbXB0VmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvdmlzaW9uZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm92aXNpb25lZE1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm92aXNpb25lZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb3Zpc2lvbmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXNzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU2Vzc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBTZXNzaW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlc3Npb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTZXNzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXNzaW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN5c3RlbS10b29sIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU3lzdGVtVG9vbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzeXN0ZW0tdG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1N5c3RlbVRvb2xBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBBZ2VudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWdlbnRcXC8oPzxhZ2VudElkPlteOi8/XSspJC87XG5jb25zdCBBZ2VudEFsaWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudC1hbGlhc1xcLyg/PGFnZW50SWQ+W146Lz9dKylcXC8oPzxhZ2VudEFsaWFzSWQ+W146Lz9dKykkLztcbmNvbnN0IEFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGVcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBBc3luY0ludm9rZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXN5bmMtaW52b2tlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeVxcLyg/PGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeVxcLyg/PGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkPlteOi8/XSspOig/PGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1hcmtldHBsYWNlXFwvbW9kZWwtZW5kcG9pbnRcXC9hbGwtYWNjZXNzJC87XG5jb25zdCBCbHVlcHJpbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJsdWVwcmludFxcLyg/PGJsdWVwcmludElkPlteOi8/XSspJC87XG5jb25zdCBCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb25cXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBDdXN0b21Nb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y3VzdG9tLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjdXN0b20tbW9kZWwtZGVwbG95bWVudFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb25cXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeVxcLyg/PGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2JcXC8oPzxpbmdlc3Rpb25Kb2JJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24tcHJvZmlsZVxcLyg/PHByb2ZpbGVJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24tcHJvamVjdFxcLyg/PHByb2plY3RJZD5bXjovP10rKSQvO1xuY29uc3QgRGVmYXVsdFByb21wdFJvdXRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGVmYXVsdC1wcm9tcHQtcm91dGVyXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRXZhbHVhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXZhbHVhdGlvbi1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBGbG93QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93XFwvKD88Zmxvd0lkPlteOi8/XSspJC87XG5jb25zdCBGbG93QWxpYXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3dcXC8oPzxmbG93SWQ+W146Lz9dKylcXC9hbGlhc1xcLyg/PGZsb3dBbGlhc0lkPlteOi8/XSspJC87XG5jb25zdCBGbG93RXhlY3V0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93XFwvKD88Zmxvd0lkPlteOi8/XSspXFwvYWxpYXNcXC8oPzxmbG93QWxpYXNJZD5bXjovP10rKVxcL2V4ZWN1dGlvblxcLyg/PGZsb3dFeGVjdXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgRm91bmRhdGlvbk1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTo6Zm91bmRhdGlvbi1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEd1YXJkcmFpbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Z3VhcmRyYWlsXFwvKD88Z3VhcmRyYWlsSWQ+W146Lz9dKykkLztcbmNvbnN0IEd1YXJkcmFpbFByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmd1YXJkcmFpbC1wcm9maWxlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgSW1wb3J0ZWRNb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW1wb3J0ZWQtbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtcHJvZmlsZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEtub3dsZWRnZUJhc2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmtub3dsZWRnZS1iYXNlXFwvKD88a25vd2xlZGdlQmFzZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbENvcHlKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWNvcHktam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jdXN0b21pemF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsRXZhbHVhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtZXZhbHVhdGlvbi1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEltcG9ydEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtaW1wb3J0LWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsSW52b2NhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtaW52b2NhdGlvbi1qb2JcXC8oPzxqb2JJZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBQcm9qZWN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9qZWN0XFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgUHJvbXB0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9tcHRcXC8oPzxwcm9tcHRJZD5bXjovP10rKSQvO1xuY29uc3QgUHJvbXB0Um91dGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9tcHQtcm91dGVyXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgUHJvbXB0VmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvbXB0XFwvKD88cHJvbXB0SWQ+W146Lz9dKyk6KD88cHJvbXB0VmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgUHJvdmlzaW9uZWRNb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvdmlzaW9uZWQtbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBTZXNzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXNzaW9uXFwvKD88c2Vzc2lvbklkPlteOi8/XSspJC87XG5jb25zdCBTeXN0ZW1Ub29sQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6Oig/PGFjY291bnQ+W146XSopOnN5c3RlbS10b29sXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGJlZHJvY2sgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWR2YW5jZWQtcHJvbXB0LW9wdGltaXphdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFnZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFnZW50KHByb3BzOiBCZWRyb2NrQWdlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudC8ke3Byb3BzLmFnZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFnZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ2VudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhZ2VudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2VudEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBZ2VudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWdlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWdlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFnZW50LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFnZW50QWxpYXMocHJvcHM6IEJlZHJvY2tBZ2VudEFsaWFzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnQtYWxpYXMvJHtwcm9wcy5hZ2VudElkfS8ke3Byb3BzLmFnZW50QWxpYXNJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWdlbnQtYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFnZW50QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWdlbnRBbGlhc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhZ2VudC1hbGlhcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2VudEFsaWFzQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50QWxpYXNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFnZW50QWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWdlbnQtYWxpYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudElkLFxuXHRcdFx0YWdlbnRBbGlhc0lkOiBtYXRjaC5ncm91cHMhLmFnZW50QWxpYXNJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGUoXG5cdFx0cHJvcHM6IEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFzeW5jLWludm9rZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhc3luY0ludm9rZShwcm9wczogQmVkcm9ja0FzeW5jSW52b2tlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXN5bmMtaW52b2tlLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXN5bmMtaW52b2tlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBc3luY0ludm9rZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3luY0ludm9rZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhc3luYy1pbnZva2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXN5bmNJbnZva2VBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQXN5bmNJbnZva2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFzeW5jSW52b2tlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzeW5jLWludm9rZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5KFxuXHRcdHByb3BzOiBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS8ke3Byb3BzLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24oXG5cdFx0cHJvcHM6IEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS8ke3Byb3BzLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkfToke3Byb3BzLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQsXG5cdFx0XHRhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBiZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50KFxuXHRcdHByb3BzOiBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWFya2V0cGxhY2UvbW9kZWwtZW5kcG9pbnQvYWxsLWFjY2Vzc2A7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBibHVlcHJpbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmx1ZXByaW50KHByb3BzOiBCZWRyb2NrQmx1ZXByaW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ymx1ZXByaW50LyR7cHJvcHMuYmx1ZXByaW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJsdWVwcmludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmx1ZXByaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJsdWVwcmludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBibHVlcHJpbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmx1ZXByaW50QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0JsdWVwcmludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmx1ZXByaW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJsdWVwcmludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRibHVlcHJpbnRJZDogbWF0Y2guZ3JvdXBzIS5ibHVlcHJpbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbihcblx0XHRwcm9wczogQmVkcm9ja0JsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBibHVlcHJpbnQtb3B0aW1pemF0aW9uLWludm9jYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21Nb2RlbChwcm9wczogQmVkcm9ja0N1c3RvbU1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y3VzdG9tLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY3VzdG9tLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDdXN0b21Nb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDdXN0b21Nb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjdXN0b20tbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEN1c3RvbU1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGN1c3RvbS1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tTW9kZWxEZXBsb3ltZW50KFxuXHRcdHByb3BzOiBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjdXN0b20tbW9kZWwtZGVwbG95bWVudC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDdXN0b21Nb2RlbERlcGxveW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUN1c3RvbU1vZGVsRGVwbG95bWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iKFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvbkxpYnJhcnkoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LyR7cHJvcHMuZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvbkxpYnJhcnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uTGlicmFyeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkOiBtYXRjaC5ncm91cHMhLmRhdGFBdXRvbWF0aW9uTGlicmFyeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iKFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iLyR7cHJvcHMuaW5nZXN0aW9uSm9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmdlc3Rpb25Kb2JJZDogbWF0Y2guZ3JvdXBzIS5pbmdlc3Rpb25Kb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvblByb2ZpbGUoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1wcm9maWxlLyR7cHJvcHMucHJvZmlsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhQXV0b21hdGlvblByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9maWxlSWQ6IG1hdGNoLmdyb3VwcyEucHJvZmlsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uUHJvamVjdChcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLXByb2plY3QvJHtwcm9wcy5wcm9qZWN0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvblByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uUHJvamVjdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1wcm9qZWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2plY3RJZDogbWF0Y2guZ3JvdXBzIS5wcm9qZWN0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGVmYXVsdC1wcm9tcHQtcm91dGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRlZmF1bHRQcm9tcHRSb3V0ZXIoXG5cdFx0cHJvcHM6IEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZWZhdWx0LXByb21wdC1yb3V0ZXIvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERlZmF1bHRQcm9tcHRSb3V0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGVmYXVsdFByb21wdFJvdXRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGVmYXVsdFByb21wdFJvdXRlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERlZmF1bHRQcm9tcHRSb3V0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGVmYXVsdC1wcm9tcHQtcm91dGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBldmFsdWF0aW9uSm9iKHByb3BzOiBCZWRyb2NrRXZhbHVhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV2YWx1YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV2YWx1YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZhbHVhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBldmFsdWF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmFsdWF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV2YWx1YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXZhbHVhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZsb3cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvdyhwcm9wczogQmVkcm9ja0Zsb3dBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LyR7cHJvcHMuZmxvd0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmxvdyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0Zsb3dBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZsb3dBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93SWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZsb3ctYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmxvd0FsaWFzKHByb3BzOiBCZWRyb2NrRmxvd0FsaWFzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy8ke3Byb3BzLmZsb3dJZH0vYWxpYXMvJHtwcm9wcy5mbG93QWxpYXNJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdy1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0FsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dBbGlhc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbG93LWFsaWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dBbGlhc0Fybihhcm46IHN0cmluZyk6IEJlZHJvY2tGbG93QWxpYXNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZsb3dBbGlhc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93LWFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dJZDogbWF0Y2guZ3JvdXBzIS5mbG93SWQsXG5cdFx0XHRmbG93QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5mbG93QWxpYXNJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbG93LWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93RXhlY3V0aW9uKHByb3BzOiBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3cvJHtwcm9wcy5mbG93SWR9L2FsaWFzLyR7cHJvcHMuZmxvd0FsaWFzSWR9L2V4ZWN1dGlvbi8ke3Byb3BzLmZsb3dFeGVjdXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdy1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dFeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0V4ZWN1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbG93LWV4ZWN1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93RXhlY3V0aW9uQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZsb3dFeGVjdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmxvdy1leGVjdXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0lkOiBtYXRjaC5ncm91cHMhLmZsb3dJZCxcblx0XHRcdGZsb3dBbGlhc0lkOiBtYXRjaC5ncm91cHMhLmZsb3dBbGlhc0lkLFxuXHRcdFx0Zmxvd0V4ZWN1dGlvbklkOiBtYXRjaC5ncm91cHMhLmZsb3dFeGVjdXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmb3VuZGF0aW9uLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZvdW5kYXRpb25Nb2RlbChwcm9wczogQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Zm91bmRhdGlvbi1tb2RlbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZvdW5kYXRpb24tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZvdW5kYXRpb25Nb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGb3VuZGF0aW9uTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZm91bmRhdGlvbi1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGb3VuZGF0aW9uTW9kZWxBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tGb3VuZGF0aW9uTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZvdW5kYXRpb25Nb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmb3VuZGF0aW9uLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBndWFyZHJhaWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZ3VhcmRyYWlsKHByb3BzOiBCZWRyb2NrR3VhcmRyYWlsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Z3VhcmRyYWlsLyR7cHJvcHMuZ3VhcmRyYWlsSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGd1YXJkcmFpbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkR3VhcmRyYWlsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEd1YXJkcmFpbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBndWFyZHJhaWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlR3VhcmRyYWlsQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0d1YXJkcmFpbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gR3VhcmRyYWlsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGd1YXJkcmFpbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRndWFyZHJhaWxJZDogbWF0Y2guZ3JvdXBzIS5ndWFyZHJhaWxJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBndWFyZHJhaWwtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxQcm9maWxlKHByb3BzOiBCZWRyb2NrR3VhcmRyYWlsUHJvZmlsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omd1YXJkcmFpbC1wcm9maWxlLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZ3VhcmRyYWlsLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEd1YXJkcmFpbFByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR3VhcmRyYWlsUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBndWFyZHJhaWwtcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHdWFyZHJhaWxQcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrR3VhcmRyYWlsUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gR3VhcmRyYWlsUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBndWFyZHJhaWwtcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW1wb3J0ZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW1wb3J0ZWRNb2RlbChwcm9wczogQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbXBvcnRlZC1tb2RlbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGltcG9ydGVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbXBvcnRlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEltcG9ydGVkTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW1wb3J0ZWQtbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW1wb3J0ZWRNb2RlbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbXBvcnRlZE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGltcG9ydGVkLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VQcm9maWxlKHByb3BzOiBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1wcm9maWxlLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZVByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VQcm9maWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUga25vd2xlZGdlLWJhc2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMga25vd2xlZGdlQmFzZShwcm9wczogQmVkcm9ja0tub3dsZWRnZUJhc2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTprbm93bGVkZ2UtYmFzZS8ke3Byb3BzLmtub3dsZWRnZUJhc2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUga25vd2xlZGdlLWJhc2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEtub3dsZWRnZUJhc2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gS25vd2xlZGdlQmFzZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBrbm93bGVkZ2UtYmFzZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VLbm93bGVkZ2VCYXNlQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0tub3dsZWRnZUJhc2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEtub3dsZWRnZUJhc2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQga25vd2xlZGdlLWJhc2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0a25vd2xlZGdlQmFzZUlkOiBtYXRjaC5ncm91cHMhLmtub3dsZWRnZUJhc2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jb3B5LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbENvcHlKb2IocHJvcHM6IEJlZHJvY2tNb2RlbENvcHlKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1jb3B5LWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWNvcHktam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbENvcHlKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxDb3B5Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWNvcHktam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ29weUpvYkFybihhcm46IHN0cmluZyk6IEJlZHJvY2tNb2RlbENvcHlKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ29weUpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jb3B5LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDdXN0b21pemF0aW9uSm9iKFxuXHRcdHByb3BzOiBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1jdXN0b21pemF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ3VzdG9taXphdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWN1c3RvbWl6YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1ldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEV2YWx1YXRpb25Kb2IocHJvcHM6IEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1ldmFsdWF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEV2YWx1YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxFdmFsdWF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWV2YWx1YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsRXZhbHVhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxFdmFsdWF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWV2YWx1YXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1pbXBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsSW1wb3J0Sm9iKHByb3BzOiBCZWRyb2NrTW9kZWxJbXBvcnRKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1pbXBvcnQtam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtaW1wb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxJbXBvcnRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxJbXBvcnRKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtaW1wb3J0LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEltcG9ydEpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja01vZGVsSW1wb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEltcG9ydEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1pbXBvcnQtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEludm9jYXRpb25Kb2IocHJvcHM6IEJlZHJvY2tNb2RlbEludm9jYXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1pbnZvY2F0aW9uLWpvYi8ke3Byb3BzLmpvYklkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEludm9jYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxJbnZvY2F0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWludm9jYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsSW52b2NhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja01vZGVsSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxJbnZvY2F0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWludm9jYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuam9iSWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3QocHJvcHM6IEJlZHJvY2tQcm9qZWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvamVjdC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9qZWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvamVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9qZWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9tcHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvbXB0KHByb3BzOiBCZWRyb2NrUHJvbXB0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvbXB0LyR7cHJvcHMucHJvbXB0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb21wdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvbXB0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb21wdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9tcHQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvbXB0QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Byb21wdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvbXB0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb21wdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9tcHRJZDogbWF0Y2guZ3JvdXBzIS5wcm9tcHRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9tcHQtcm91dGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb21wdFJvdXRlcihwcm9wczogQmVkcm9ja1Byb21wdFJvdXRlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb21wdC1yb3V0ZXIvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9tcHQtcm91dGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9tcHRSb3V0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvbXB0Um91dGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb21wdC1yb3V0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvbXB0Um91dGVyQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Byb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvbXB0Um91dGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb21wdC1yb3V0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb21wdC12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByb21wdFZlcnNpb24ocHJvcHM6IEJlZHJvY2tQcm9tcHRWZXJzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvbXB0LyR7cHJvcHMucHJvbXB0SWR9OiR7cHJvcHMucHJvbXB0VmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvbXB0LXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb21wdFZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvbXB0VmVyc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9tcHQtdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9tcHRWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Byb21wdFZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb21wdFZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvbXB0LXZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvbXB0SWQ6IG1hdGNoLmdyb3VwcyEucHJvbXB0SWQsXG5cdFx0XHRwcm9tcHRWZXJzaW9uOiBtYXRjaC5ncm91cHMhLnByb21wdFZlcnNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvdmlzaW9uZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdmlzaW9uZWRNb2RlbChwcm9wczogQmVkcm9ja1Byb3Zpc2lvbmVkTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm92aXNpb25lZC1tb2RlbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb3Zpc2lvbmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm92aXNpb25lZE1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb3Zpc2lvbmVkTW9kZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvdmlzaW9uZWQtbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvdmlzaW9uZWRNb2RlbEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja1Byb3Zpc2lvbmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb3Zpc2lvbmVkTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvdmlzaW9uZWQtbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlc3Npb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2Vzc2lvbihwcm9wczogQmVkcm9ja1Nlc3Npb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXNzaW9uLyR7cHJvcHMuc2Vzc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXNzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXNzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlc3Npb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2Vzc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXNzaW9uQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja1Nlc3Npb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlc3Npb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2Vzc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXNzaW9uSWQ6IG1hdGNoLmdyb3VwcyEuc2Vzc2lvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN5c3RlbS10b29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN5c3RlbVRvb2wocHJvcHM6IEJlZHJvY2tTeXN0ZW1Ub29sQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3lzdGVtLXRvb2wvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzeXN0ZW0tdG9vbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3lzdGVtVG9vbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTeXN0ZW1Ub29sQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHN5c3RlbS10b29sIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN5c3RlbVRvb2xBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrU3lzdGVtVG9vbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3lzdGVtVG9vbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzeXN0ZW0tdG9vbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgYmVkcm9jay5cbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWdlbnRpY1JldHJpZXZlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWdlbnRpY1JldHJpZXZlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QWdlbnRpY1JldHJpZXZlU3RyZWFtXCIsXG5cdFx0XCJiZWRyb2NrOlJldHJpZXZlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFwcGx5R3VhcmRyYWlsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXBwbHlHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENoZWNrSW5nZXN0ZWREb2N1bWVudEFjbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENoZWNrSW5nZXN0ZWREb2N1bWVudEFjbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNoZWNrSW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb252ZXJzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnZlcnNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbnZlcnNlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udmVyc2VTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29weUJsdWVwcmludFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weUJsdWVwcmludFN0YWdlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6Q29weUJsdWVwcmludFN0YWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3VudFRva2VucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvdW50VG9rZW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDb3VudFRva2Vuc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWdlbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudEFjdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZ2VudEFsaWFzXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCbHVlcHJpbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhU291cmNlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2YWx1YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUV2YWx1YXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZsb3dcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVGbG93QWxpYXNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZUZsb3dWZXJzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlSW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnZvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW52b2NhdGlvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZUludm9jYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VcIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxDb3B5Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbENvcHlKb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEltcG9ydEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvbXB0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvbXB0XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdFJvdXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvbXB0Um91dGVyXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvbXB0VmVyc2lvblwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVNlc3Npb25cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudEFjdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudE1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50TWVtb3J5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRNZW1vcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCbHVlcHJpbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVCbHVlcHJpbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YVNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFTb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVEYXRhU291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVGbG93QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVGbG93VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUd1YXJkcmFpbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlR3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbXBvcnRlZE1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVJbXBvcnRlZE1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluZmVyZW5jZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVJbmZlcmVuY2VQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0Um91dGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVQcm9tcHRSb3V0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdFx0XCJiZWRyb2NrOlB1dFJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlU2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5kU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkVuZFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlUXVlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVF1ZXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2VuZXJhdGVRdWVyeVwiLFxuXHRcdFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFjY291bnREYXRhUmV0ZW50aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0QWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50QWN0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRDb2xsYWJvcmF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudE1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRNZW1vcnk6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudE1lbW9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudFZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QXN5bmNJbnZva2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q3VzdG9tTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbU1vZGVsRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFTb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXREYXRhU291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb2N1bWVudENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvY3VtZW50Q29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldERvY3VtZW50Q29udGVudFwiLFxuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGVjdXRpb25GbG93U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGbG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZvdW5kYXRpb25Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rm91bmRhdGlvbk1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluZ2VzdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52b2NhdGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludm9jYXRpb25TdGVwOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkludm9rZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpJbnZva2VGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VHdWFyZHJhaWxDaGVja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VJbmxpbmVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlTW9kZWxXaXRoQmlkaXJlY3Rpb25hbFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aEJpZGlyZWN0aW9uYWxTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudEFjdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudENvbGxhYm9yYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3luY0ludm9rZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJsdWVwcmludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0FsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RXhlY3V0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0V4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3VhcmRyYWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0ZWRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludm9jYXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S25vd2xlZGdlQmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbENvcHlKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0Um91dGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdFByb21wdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3B0aW1pemVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmVwYXJlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByZXBhcmVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludm9jYXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXA6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXJhbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbms6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXJhbmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmU6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXRyaWV2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlQW5kR2VuZXJhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZsb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmxvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93OiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImJlZHJvY2s6VXBkYXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCbHVlcHJpbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUd1YXJkcmFpbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlSW5saW5lQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCIsXG5cdFx0XCJiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm5cIixcblx0XHRcImJlZHJvY2s6TW9kZWxBcm5cIixcblx0XHRcImJlZHJvY2s6UHJvamVjdEFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIixcblx0XHRcImJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnREYXRhUmV0ZW50aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJiZWRyb2NrOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9SRVRFTlRJT05fTU9ERSA9IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHVUFSRFJBSUxfSURFTlRJRklFUiA9IFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9QUk9GSUxFX0FSTiA9IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOklubGluZUFnZW50TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5MSU5FX0FHRU5UX05BTUUgPSBcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcImJlZHJvY2s6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2s6UHJvamVjdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPSkVDVF9BUk4gPSBcImJlZHJvY2s6UHJvamVjdEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST01QVF9ST1VURVJfQVJOID0gXCJiZWRyb2NrOlByb21wdFJvdXRlckFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpTZXJ2aWNlVGllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9USUVSID0gXCJiZWRyb2NrOlNlcnZpY2VUaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOlRoaXJkUGFydHlLbm93bGVkZ2VCYXNlQ3JlZGVudGlhbHNTZWNyZXRBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRISVJEX1BBUlRZX0tOT1dMRURHRV9CQVNFX0NSRURFTlRJQUxTX1NFQ1JFVF9BUk4gPVxuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyBkYXRhUmV0ZW50aW9uTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOklubGluZUFnZW50TmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5saW5lQWdlbnROYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrOklubGluZUFnZW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlByb2plY3RBcm5gLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3RBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOlByb2plY3RBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6UHJvbXB0Um91dGVyQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXJBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImJlZHJvY2s6UHJvbXB0Um91dGVyQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlNlcnZpY2VUaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlVGllcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6U2VydmljZVRpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFyblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxufVxuIl19
|
|
3305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmVkcm9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0EwNEJDOzs7QUF6NEJBLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRTNDLDJDQUEyQztBQUMzQixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSx1RUFBdUU7QUFDdkQsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGlEQUFpRDtBQUNqQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLCtEQUErRDtBQUMvQyx1REFBd0MsR0FDdkQsa0RBQWtELENBQUM7QUFDcEQsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHlDQUF5QztBQUN6QixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxrRUFBa0U7QUFDbEQsMERBQTJDLEdBQzFELHFEQUFxRCxDQUFDO0FBQ3ZELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELDhDQUE4QztBQUM5Qix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQsMERBQTBEO0FBQzFDLGtEQUFtQyxHQUNsRCw2Q0FBNkMsQ0FBQztBQUMvQyxrQ0FBa0M7QUFDbEIsMEJBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUNwRCw2Q0FBNkM7QUFDN0IscUNBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFDMUUsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCw0REFBNEQ7QUFDNUMsb0RBQXFDLEdBQ3BELCtDQUErQyxDQUFDO0FBQ2pELHNDQUFzQztBQUN0Qiw4QkFBZSxHQUFHLHlCQUF5QixDQUFDO0FBQzVELDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2QyxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELDRDQUE0QztBQUM1QixvQ0FBcUIsR0FBRywrQkFBK0IsQ0FBQztBQUN4RSwwQ0FBMEM7QUFDMUIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsaUNBQWlDO0FBQ2pCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsNkNBQTZDO0FBQzdCLHFDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLDJDQUEyQztBQUMzQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSwrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLDBDQUEwQztBQUMxQixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLG9DQUFvQztBQUNwQiw0QkFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQ3hELGtDQUFrQztBQUNsQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHlDQUF5QztBQUN6QixpQ0FBa0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxxREFBcUQ7QUFDckMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGtFQUFrRTtBQUNsRCwwREFBMkMsR0FDMUQscURBQXFELENBQUM7QUFDdkQsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCxzQ0FBc0M7QUFDdEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2QyxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELDJEQUEyRDtBQUMzQyxtREFBb0MsR0FDbkQsOENBQThDLENBQUM7QUFDaEQsaUNBQWlDO0FBQ2pCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsd0NBQXdDO0FBQ3hCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCwwQ0FBMEM7QUFDMUIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsbURBQW1EO0FBQ25DLDJDQUE0QixHQUMzQyxzQ0FBc0MsQ0FBQztBQUN4QyxzREFBc0Q7QUFDdEMsOENBQStCLEdBQzlDLHlDQUF5QyxDQUFDO0FBQzNDLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsZ0VBQWdFO0FBQ2hELHdEQUF5QyxHQUN4RCxtREFBbUQsQ0FBQztBQUNyRCxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCx5Q0FBeUM7QUFDekIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsdURBQXVEO0FBQ3ZDLCtDQUFnQyxHQUMvQywwQ0FBMEMsQ0FBQztBQUM1QywyQ0FBMkM7QUFDM0IsbUNBQW9CLEdBQUcsOEJBQThCLENBQUM7QUFDdEUsb0NBQW9DO0FBQ3BCLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQseURBQXlEO0FBQ3pDLGlEQUFrQyxHQUNqRCw0Q0FBNEMsQ0FBQztBQUM5Qyw0Q0FBNEM7QUFDNUIscUNBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFDMUUsb0RBQW9EO0FBQ3BDLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6QyxxREFBcUQ7QUFDckMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGlDQUFpQztBQUNqQix5QkFBVSxHQUFHLG9CQUFvQixDQUFDO0FBQ2xELDJEQUEyRDtBQUMzQyxvREFBcUMsR0FDcEQsK0NBQStDLENBQUM7QUFDakQsbUNBQW1DO0FBQ25CLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQsNkNBQTZDO0FBQzdCLDRDQUE2QixHQUM1QyxpQ0FBaUMsQ0FBQztBQUNuQyxzREFBc0Q7QUFDdEMscURBQXNDLEdBQ3JELDBDQUEwQyxDQUFDO0FBQzVDLDhCQUE4QjtBQUNkLDZCQUFjLEdBQUcsa0JBQWtCLENBQUM7QUFDcEQseUNBQXlDO0FBQ3pCLHdDQUF5QixHQUFHLDZCQUE2QixDQUFDO0FBQzFFLG1DQUFtQztBQUNuQixrQ0FBbUIsR0FBRyx1QkFBdUIsQ0FBQztBQUM5RCwwQ0FBMEM7QUFDMUIseUNBQTBCLEdBQUcsOEJBQThCLENBQUM7QUFDNUUsMkNBQTJDO0FBQzNCLDBDQUEyQixHQUFHLCtCQUErQixDQUFDO0FBQzlFLG9DQUFvQztBQUNwQixtQ0FBb0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNoRSxxQ0FBcUM7QUFDckIsb0NBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsb0NBQW9DO0FBQ3BCLG1DQUFvQixHQUFHLHdCQUF3QixDQUFDO0FBQ2hFLGlEQUFpRDtBQUNqQyxnREFBaUMsR0FDaEQscUNBQXFDLENBQUM7QUFDdkMsNERBQTREO0FBQzVDLDJEQUE0QyxHQUMzRCxnREFBZ0QsQ0FBQztBQUNsRCw4REFBOEQ7QUFDOUMsNkRBQThDLEdBQzdELGtEQUFrRCxDQUFDO0FBQ3BELDBFQUEwRTtBQUMxRCx5RUFBMEQsR0FDekUsOERBQThELENBQUM7QUFDaEUsNkRBQTZEO0FBQzdDLDREQUE2QyxHQUM1RCxpREFBaUQsQ0FBQztBQUNuRCx5REFBeUQ7QUFDekMsd0RBQXlDLEdBQ3hELDZDQUE2QyxDQUFDO0FBQy9DLDJEQUEyRDtBQUMzQywwREFBMkMsR0FDMUQsK0NBQStDLENBQUM7QUFDakQsa0NBQWtDO0FBQ2xCLGlDQUFrQixHQUFHLHNCQUFzQixDQUFDO0FBQzVELG9EQUFvRDtBQUNwQyxtREFBb0MsR0FDbkQsd0NBQXdDLENBQUM7QUFDMUMsZ0RBQWdEO0FBQ2hDLCtDQUFnQyxHQUMvQyxvQ0FBb0MsQ0FBQztBQUN0QyxvQ0FBb0M7QUFDcEIsbUNBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFDaEUsOENBQThDO0FBQzlCLDZDQUE4QixHQUM3QyxrQ0FBa0MsQ0FBQztBQUNwQyw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLG9EQUFvRDtBQUNwQyxtREFBb0MsR0FDbkQsd0NBQXdDLENBQUM7QUFDMUMsMERBQTBEO0FBQzFDLHlEQUEwQyxHQUN6RCw4Q0FBOEMsQ0FBQztBQUNoRCw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLDZDQUE2QztBQUM3Qiw0Q0FBNkIsR0FDNUMsaUNBQWlDLENBQUM7QUFDbkMsbUNBQW1DO0FBQ25CLGtDQUFtQixHQUFHLHVCQUF1QixDQUFDO0FBQzlELG1EQUFtRDtBQUNuQyxrREFBbUMsR0FDbEQsdUNBQXVDLENBQUM7QUFDekMsd0NBQXdDO0FBQ3hCLHVDQUF3QixHQUFHLDRCQUE0QixDQUFDO0FBQ3hFLHNDQUFzQztBQUN0QixxQ0FBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUNwRSw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLDZCQUE2QjtBQUNiLDRCQUFhLEdBQUcsaUJBQWlCLENBQUM7QUFDbEQsa0NBQWtDO0FBQ2xCLGlDQUFrQixHQUFHLHNCQUFzQixDQUFDO0FBQzVELHNDQUFzQztBQUN0QixxQ0FBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUNwRSxvQ0FBb0M7QUFDcEIsbUNBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFDaEUsd0NBQXdDO0FBQ3hCLHVDQUF3QixHQUFHLDRCQUE0QixDQUFDO0FBQ3hFLG9EQUFvRDtBQUNwQyxtREFBb0MsR0FDbkQsd0NBQXdDLENBQUM7QUFDMUMsa0NBQWtDO0FBQ2xCLGlDQUFrQixHQUFHLHNCQUFzQixDQUFDO0FBQzVELHNDQUFzQztBQUN0QixxQ0FBc0IsR0FBRywwQkFBMEIsQ0FBQztBQUNwRSx5Q0FBeUM7QUFDekIsd0NBQXlCLEdBQUcsNkJBQTZCLENBQUM7QUFDMUUsNENBQTRDO0FBQzVCLDJDQUE0QixHQUMzQyxnQ0FBZ0MsQ0FBQztBQUNsQyxxQ0FBcUM7QUFDckIsb0NBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsdUNBQXVDO0FBQ3ZCLHNDQUF1QixHQUFHLDJCQUEyQixDQUFDO0FBQ3RFLCtCQUErQjtBQUNmLDhCQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQsc0NBQXNDO0FBQ3RCLHFDQUFzQixHQUFHLDBCQUEwQixDQUFDO0FBQ3BFLCtDQUErQztBQUMvQiw4Q0FBK0IsR0FDOUMsbUNBQW1DLENBQUM7QUFDckMsaURBQWlEO0FBQ2pDLGdEQUFpQyxHQUNoRCxxQ0FBcUMsQ0FBQztBQUN2QyxxQ0FBcUM7QUFDckIsb0NBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsOENBQThDO0FBQzlCLDZDQUE4QixHQUM3QyxrQ0FBa0MsQ0FBQztBQUNwQywyQ0FBMkM7QUFDM0IsMENBQTJCLEdBQUcsK0JBQStCLENBQUM7QUFDOUUsdUNBQXVDO0FBQ3ZCLHNDQUF1QixHQUFHLDJCQUEyQixDQUFDO0FBQ3RFLDJDQUEyQztBQUMzQiwwQ0FBMkIsR0FBRywrQkFBK0IsQ0FBQztBQUM5RSw0REFBNEQ7QUFDNUMsMkRBQTRDLEdBQzNELGdEQUFnRCxDQUFDO0FBQ2xELCtCQUErQjtBQUNmLDhCQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDdEQscUNBQXFDO0FBQ3JCLG9DQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQ2xFLG1EQUFtRDtBQUNuQyxrREFBbUMsR0FDbEQsdUNBQXVDLENBQUM7QUFDekMsdUNBQXVDO0FBQ3ZCLHNDQUF1QixHQUFHLDJCQUEyQixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQiwrQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztBQUN4RCw4Q0FBOEM7QUFDOUIsNkNBQThCLEdBQzdDLGtDQUFrQyxDQUFDO0FBQ3BDLG1EQUFtRDtBQUNuQywyQ0FBNEIsR0FDM0Msc0NBQXNDLENBQUM7QUFDeEMsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQsb0RBQW9EO0FBQ3BDLDZDQUE4QixHQUM3Qyx3Q0FBd0MsQ0FBQztBQUMxQyx1REFBdUQ7QUFDdkMsK0NBQWdDLEdBQy9DLDBDQUEwQyxDQUFDO0FBQzVDLHlEQUF5RDtBQUN6QyxpREFBa0MsR0FDakQsNENBQTRDLENBQUM7QUFDOUMsb0NBQW9DO0FBQ3BCLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQsMkNBQTJDO0FBQzNCLG1DQUFvQixHQUFHLDhCQUE4QixDQUFDO0FBQ3RFLGdEQUFnRDtBQUNoQyx3Q0FBeUIsR0FDeEMsbUNBQW1DLENBQUM7QUFDckMsOERBQThEO0FBQzlDLHNEQUF1QyxHQUN0RCxpREFBaUQsQ0FBQztBQUNuRCxnQ0FBZ0M7QUFDaEIseUJBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCwyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsdUNBQXVDO0FBQ3ZCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLGlDQUFpQztBQUNqQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELG1EQUFtRDtBQUNuQyw0Q0FBNkIsR0FDNUMsdUNBQXVDLENBQUM7QUFDekMsZ0NBQWdDO0FBQ2hCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsd0RBQXdEO0FBQ3hDLGlEQUFrQyxHQUNqRCw0Q0FBNEMsQ0FBQztBQUM5QywyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsc0NBQXNDO0FBQ3RCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELDRDQUE0QztBQUM1QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSw2Q0FBNkM7QUFDN0Isc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUsdUNBQXVDO0FBQ3ZCLGdDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLGdDQUFnQztBQUNoQix5QkFBVSxHQUFHLG9CQUFvQixDQUFDO0FBQ2xELHNDQUFzQztBQUN0QiwrQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCxvREFBb0Q7QUFDcEMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGdFQUFnRTtBQUNoRCx5REFBMEMsR0FDekQsb0RBQW9ELENBQUM7QUFDdEQsMkRBQTJEO0FBQzNDLG9EQUFxQyxHQUNwRCwrQ0FBK0MsQ0FBQztBQUNqRCw2REFBNkQ7QUFDN0Msc0RBQXVDLEdBQ3RELGlEQUFpRCxDQUFDO0FBQ25ELG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELGdEQUFnRDtBQUNoQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMsc0NBQXNDO0FBQ3RCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELGlEQUFpRDtBQUNqQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsdURBQXVEO0FBQ3ZDLGdEQUFpQyxHQUNoRCwyQ0FBMkMsQ0FBQztBQUM3Qyw0REFBNEQ7QUFDNUMscURBQXNDLEdBQ3JELGdEQUFnRCxDQUFDO0FBQ2xELGdEQUFnRDtBQUNoQyx5Q0FBMEIsR0FDekMsb0NBQW9DLENBQUM7QUFDdEMscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGtEQUFtQyxHQUNsRCw2Q0FBNkMsQ0FBQztBQUMvQyx3Q0FBd0M7QUFDeEIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsNkNBQTZDO0FBQzdCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLHdDQUF3QztBQUN4QixpQ0FBa0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNsRSxzQ0FBc0M7QUFDdEIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsK0JBQStCO0FBQ2Ysd0JBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUNoRCx3REFBd0Q7QUFDeEMsaURBQWtDLEdBQ2pELDRDQUE0QyxDQUFDO0FBQzlDLDBDQUEwQztBQUMxQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxvQ0FBb0M7QUFDcEIsNkJBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUMxRCx3Q0FBd0M7QUFDeEIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsMkNBQTJDO0FBQzNCLG9DQUFxQixHQUFHLCtCQUErQixDQUFDO0FBQ3hFLHVDQUF1QztBQUN2QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsZ0RBQWdEO0FBQ2hDLHlDQUEwQixHQUN6QyxvQ0FBb0MsQ0FBQztBQUN0Qyx3Q0FBd0M7QUFDeEIsaUNBQWtCLEdBQUcsNEJBQTRCLENBQUM7QUFDbEUsbURBQW1EO0FBQ25DLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6Qyx1Q0FBdUM7QUFDdkIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsZ0RBQWdEO0FBQ2hDLHlDQUEwQixHQUN6QyxvQ0FBb0MsQ0FBQztBQUN0Qyw2Q0FBNkM7QUFDN0Isc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUseUNBQXlDO0FBQ3pCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLDZDQUE2QztBQUM3QixzQ0FBdUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUM1RSx1Q0FBdUM7QUFDdkIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQscURBQXFEO0FBQ3JDLDhDQUErQixHQUM5Qyx5Q0FBeUMsQ0FBQztBQUMzQyxrQ0FBa0M7QUFDbEIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCx5Q0FBeUM7QUFDekIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsb0NBQW9DO0FBQ3BCLDZCQUFjLEdBQUcsd0JBQXdCLENBQUM7QUFDMUQsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsa0NBQWtDO0FBQ2xCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLHdEQUF3RDtBQUN4QyxnREFBaUMsR0FDaEQsMkNBQTJDLENBQUM7QUFDN0Msb0RBQW9EO0FBQ3BDLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6Qyx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsK0NBQStDO0FBQy9CLHVDQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlFLHVEQUF1RDtBQUN2QywrQ0FBZ0MsR0FDL0MsMENBQTBDLENBQUM7QUFDNUMsa0NBQWtDO0FBQ2xCLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsNkJBQTZCO0FBQ2IscUJBQU0sR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyw4QkFBOEI7QUFDZCx1QkFBUSxHQUFHLGtCQUFrQixDQUFDO0FBQzlDLDBDQUEwQztBQUMxQixrQ0FBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNwRSxpRUFBaUU7QUFDakQseURBQTBDLEdBQ3pELG9EQUFvRCxDQUFDO0FBQ3RELGdFQUFnRTtBQUNoRCx3REFBeUMsR0FDeEQsbURBQW1ELENBQUM7QUFDckQseUNBQXlDO0FBQ3pCLGlDQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBQ2xFLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx3REFBd0Q7QUFDeEMsZ0RBQWlDLEdBQ2hELDJDQUEyQyxDQUFDO0FBQzdDLHdDQUF3QztBQUN4QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsdUNBQXVDO0FBQ3ZCLCtCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELGdEQUFnRDtBQUNoQyx3Q0FBeUIsR0FDeEMsbUNBQW1DLENBQUM7QUFDckMsNkNBQTZDO0FBQzdCLHFDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLG9DQUFvQztBQUNwQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELHNDQUFzQztBQUN0Qiw0QkFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQ3hELGtDQUFrQztBQUNsQiwwQkFBVyxHQUFHLHFCQUFxQixDQUFDO0FBQ3BELDZDQUE2QztBQUM3QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsOENBQThDO0FBQzlCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLCtDQUErQztBQUMvQix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSxxREFBcUQ7QUFDckMsNkNBQThCLEdBQzdDLHdDQUF3QyxDQUFDO0FBQzFDLGdFQUFnRTtBQUNoRCx3REFBeUMsR0FDeEQsbURBQW1ELENBQUM7QUFDckQsNkRBQTZEO0FBQzdDLHFEQUFzQyxHQUNyRCxnREFBZ0QsQ0FBQztBQUNsRCxzQ0FBc0M7QUFDdEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBMkIsR0FDMUMscUNBQXFDLENBQUM7QUFDdkMsa0RBQWtEO0FBQ2xDLDBDQUEyQixHQUMxQyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsaUNBQWlDO0FBQ2pCLHlCQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDbEQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsc0NBQXNDO0FBQ3RCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHFEQUFxRDtBQUNyQyw2Q0FBOEIsR0FDN0Msd0NBQXdDLENBQUM7QUFDMUMsbUNBQW1DO0FBQ25CLDJCQUFZLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsdURBQXVEO0FBQ3ZDLCtDQUFnQyxHQUMvQywwQ0FBMEMsQ0FBQztBQUM1QyxvQ0FBb0M7QUFDcEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCw0Q0FBNEM7QUFDNUIscUNBQXNCLEdBQUcsZ0NBQWdDLENBQUM7QUFFMUUsOEJBQThCO0FBQ2QsNkJBQWMsR0FBYTtJQUMxQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLHdCQUF3QjtJQUN2QyxjQUFjLENBQUMsV0FBVztJQUMxQixjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxxQ0FBcUM7SUFDcEQsY0FBYyxDQUFDLGFBQWE7SUFDNUIsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsc0NBQXNDO0lBQ3JELGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLG1CQUFtQjtJQUNsQyxjQUFjLENBQUMsMEJBQTBCO0lBQ3pDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxvQkFBb0I7SUFDbkMsY0FBYyxDQUFDLGlDQUFpQztJQUNoRCxjQUFjLENBQUMsNENBQTRDO0lBQzNELGNBQWMsQ0FBQyw4Q0FBOEM7SUFDN0QsY0FBYyxDQUFDLDBEQUEwRDtJQUN6RSxjQUFjLENBQUMsNkNBQTZDO0lBQzVELGNBQWMsQ0FBQyx5Q0FBeUM7SUFDeEQsY0FBYyxDQUFDLDJDQUEyQztJQUMxRCxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxvQ0FBb0M7SUFDbkQsY0FBYyxDQUFDLGdDQUFnQztJQUMvQyxjQUFjLENBQUMsb0JBQW9CO0lBQ25DLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsb0NBQW9DO0lBQ25ELGNBQWMsQ0FBQywwQ0FBMEM7SUFDekQsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsNkJBQTZCO0lBQzVDLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLG1DQUFtQztJQUNsRCxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsYUFBYTtJQUM1QixjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyxvQ0FBb0M7SUFDbkQsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLDRCQUE0QjtJQUMzQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsK0JBQStCO0lBQzlDLGNBQWMsQ0FBQyxpQ0FBaUM7SUFDaEQsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLHVCQUF1QjtJQUN0QyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQyw0Q0FBNEM7SUFDM0QsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsbUNBQW1DO0lBQ2xELGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLFVBQVU7SUFDekIsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyw2QkFBNkI7SUFDNUMsY0FBYyxDQUFDLFVBQVU7SUFDekIsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyxZQUFZO0lBQzNCLGNBQWMsQ0FBQyxRQUFRO0lBQ3ZCLGNBQWMsQ0FBQyxzQkFBc0I7Q0FDckMsQ0FBQztBQUNGLCtCQUErQjtBQUNmLDhCQUFlLEdBQWE7SUFDM0MsY0FBYyxDQUFDLDBCQUEwQjtJQUN6QyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLHdDQUF3QztJQUN2RCxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQywyQ0FBMkM7SUFDMUQsY0FBYyxDQUFDLFlBQVk7SUFDM0IsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsbUNBQW1DO0lBQ2xELGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQyxzQ0FBc0M7SUFDckQsY0FBYyxDQUFDLHFDQUFxQztJQUNwRCxjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxpQkFBaUI7SUFDaEMsY0FBYyxDQUFDLDJCQUEyQjtJQUMxQyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLFVBQVU7SUFDekIsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLHdCQUF3QjtJQUN2QyxjQUFjLENBQUMsb0JBQW9CO0lBQ25DLGNBQWMsQ0FBQyx3QkFBd0I7SUFDdkMsY0FBYyxDQUFDLFlBQVk7SUFDM0IsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLGFBQWE7SUFDNUIsY0FBYyxDQUFDLFdBQVc7SUFDMUIsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyxpQkFBaUI7SUFDaEMsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsOEJBQThCO0lBQzdDLGNBQWMsQ0FBQywyQ0FBMkM7SUFDMUQsY0FBYyxDQUFDLHNDQUFzQztJQUNyRCxjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLDJCQUEyQjtJQUMxQyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLG9DQUFvQztJQUNuRCxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLG1CQUFtQjtJQUNsQyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxZQUFZO0lBQzNCLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLDRCQUE0QjtJQUMzQyxjQUFjLENBQUMsK0JBQStCO0lBQzlDLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLHlDQUF5QztJQUN4RCxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsYUFBYTtJQUM1QixjQUFjLENBQUMsa0NBQWtDO0lBQ2pELGNBQWMsQ0FBQyw2QkFBNkI7SUFDNUMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsNEJBQTRCO0lBQzNDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLGtDQUFrQztJQUNqRCxjQUFjLENBQUMsYUFBYTtJQUM1QixjQUFjLENBQUMsb0JBQW9CO0lBQ25DLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLHVDQUF1QztJQUN0RCxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsV0FBVztJQUMxQixjQUFjLENBQUMsdUJBQXVCO0lBQ3RDLGNBQWMsQ0FBQyxpQ0FBaUM7SUFDaEQsY0FBYyxDQUFDLDZCQUE2QjtJQUM1QyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxzQ0FBc0M7SUFDckQsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyxnQ0FBZ0M7SUFDL0MsY0FBYyxDQUFDLE1BQU07SUFDckIsY0FBYyxDQUFDLG1CQUFtQjtJQUNsQyxjQUFjLENBQUMsMENBQTBDO0lBQ3pELGNBQWMsQ0FBQyx5Q0FBeUM7SUFDeEQsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxpQ0FBaUM7SUFDaEQsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLHlCQUF5QjtJQUN4QyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxzQkFBc0I7SUFDckMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsdUJBQXVCO0lBQ3RDLGNBQWMsQ0FBQyx3QkFBd0I7SUFDdkMsY0FBYyxDQUFDLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMseUNBQXlDO0lBQ3hELGNBQWMsQ0FBQyxzQ0FBc0M7SUFDckQsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLDJCQUEyQjtJQUMxQyxjQUFjLENBQUMsMkJBQTJCO0lBQzFDLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsZUFBZTtJQUM5QixjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLFlBQVk7SUFDM0IsY0FBYyxDQUFDLGdDQUFnQztJQUMvQyxjQUFjLENBQUMsYUFBYTtDQUM1QixDQUFDO0FBQ0YsOEJBQThCO0FBQ2QsNkJBQWMsR0FBYTtJQUMxQyxjQUFjLENBQUMsa0NBQWtDO0lBQ2pELGNBQWMsQ0FBQyxxQkFBcUI7SUFDcEMsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyw4QkFBOEI7SUFDN0MsY0FBYyxDQUFDLDBDQUEwQztJQUN6RCxjQUFjLENBQUMscUNBQXFDO0lBQ3BELGNBQWMsQ0FBQyx1Q0FBdUM7SUFDdEQsY0FBYyxDQUFDLGNBQWM7SUFDN0IsY0FBYyxDQUFDLDBCQUEwQjtJQUN6QyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQywyQkFBMkI7SUFDMUMsY0FBYyxDQUFDLGlDQUFpQztJQUNoRCxjQUFjLENBQUMsc0NBQXNDO0lBQ3JELGNBQWMsQ0FBQywwQkFBMEI7SUFDekMsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLG1DQUFtQztJQUNsRCxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsZ0JBQWdCO0lBQy9CLGNBQWMsQ0FBQyxTQUFTO0lBQ3hCLGNBQWMsQ0FBQyxrQ0FBa0M7SUFDakQsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsY0FBYztJQUM3QixjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxxQkFBcUI7SUFDcEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQywwQkFBMEI7SUFDekMsY0FBYyxDQUFDLGtCQUFrQjtJQUNqQyxjQUFjLENBQUMsaUJBQWlCO0lBQ2hDLGNBQWMsQ0FBQywwQkFBMEI7SUFDekMsY0FBYyxDQUFDLHVCQUF1QjtJQUN0QyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsV0FBVztJQUMxQixjQUFjLENBQUMsK0JBQStCO0lBQzlDLGNBQWMsQ0FBQyxZQUFZO0NBQzNCLENBQUM7QUFDRiwrQ0FBK0M7QUFDL0IsNkNBQThCLEdBQWE7SUFDMUQsY0FBYyxDQUFDLGlDQUFpQztDQUNoRCxDQUFDO0FBQ0YsaUNBQWlDO0FBQ2pCLGdDQUFpQixHQUFhO0lBQzdDLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxhQUFhO0NBQzVCLENBQUM7QUFtbkNILE1BQU0scUNBQXFDLEdBQzFDLCtIQUErSCxDQUFDO0FBQ2pJLE1BQU0sYUFBYSxHQUNsQixpR0FBaUcsQ0FBQztBQUNuRyxNQUFNLGtCQUFrQixHQUN2QixpSUFBaUksQ0FBQztBQUNuSSxNQUFNLG1DQUFtQyxHQUN4Qyw0SEFBNEgsQ0FBQztBQUM5SCxNQUFNLG1CQUFtQixHQUN4QiwyR0FBMkcsQ0FBQztBQUM3RyxNQUFNLGdDQUFnQyxHQUNyQyx5SUFBeUksQ0FBQztBQUMzSSxNQUFNLHVDQUF1QyxHQUM1QyxxTEFBcUwsQ0FBQztBQUN2TCxNQUFNLHVDQUF1QyxHQUM1Qyw4R0FBOEcsQ0FBQztBQUNoSCxNQUFNLGlCQUFpQixHQUN0Qix5R0FBeUcsQ0FBQztBQUMzRyxNQUFNLHVDQUF1QyxHQUM1QyxnSUFBZ0ksQ0FBQztBQUNsSSxNQUFNLG1CQUFtQixHQUN4QiwyR0FBMkcsQ0FBQztBQUM3RyxNQUFNLDZCQUE2QixHQUNsQyxzSEFBc0gsQ0FBQztBQUN4SCxNQUFNLG1DQUFtQyxHQUN4QyxvSEFBb0gsQ0FBQztBQUN0SCxNQUFNLDZCQUE2QixHQUNsQyxtSUFBbUksQ0FBQztBQUNySSxNQUFNLHlDQUF5QyxHQUM5Qyx3SUFBd0ksQ0FBQztBQUMxSSxNQUFNLDZCQUE2QixHQUNsQyxxSEFBcUgsQ0FBQztBQUN2SCxNQUFNLDZCQUE2QixHQUNsQyxxSEFBcUgsQ0FBQztBQUN2SCxNQUFNLDJCQUEyQixHQUNoQyxvSEFBb0gsQ0FBQztBQUN0SCxNQUFNLHFCQUFxQixHQUMxQiw2R0FBNkcsQ0FBQztBQUMvRyxNQUFNLFlBQVksR0FDakIsK0ZBQStGLENBQUM7QUFDakcsTUFBTSxpQkFBaUIsR0FDdEIsK0hBQStILENBQUM7QUFDakksTUFBTSxxQkFBcUIsR0FDMUIsdUtBQXVLLENBQUM7QUFDekssTUFBTSx1QkFBdUIsR0FDNUIsOEZBQThGLENBQUM7QUFDaEcsTUFBTSxpQkFBaUIsR0FDdEIseUdBQXlHLENBQUM7QUFDM0csTUFBTSx3QkFBd0IsR0FDN0IsZ0hBQWdILENBQUM7QUFDbEgsTUFBTSxxQkFBcUIsR0FDMUIsNkdBQTZHLENBQUM7QUFDL0csTUFBTSx3QkFBd0IsR0FDN0IsZ0hBQWdILENBQUM7QUFDbEgsTUFBTSxxQkFBcUIsR0FDMUIsa0hBQWtILENBQUM7QUFDcEgsTUFBTSxvQkFBb0IsR0FDekIsNkdBQTZHLENBQUM7QUFDL0csTUFBTSw2QkFBNkIsR0FDbEMsc0hBQXNILENBQUM7QUFDeEgsTUFBTSwwQkFBMEIsR0FDL0IsbUhBQW1ILENBQUM7QUFDckgsTUFBTSxzQkFBc0IsR0FDM0IsK0dBQStHLENBQUM7QUFDakgsTUFBTSwwQkFBMEIsR0FDL0Isc0hBQXNILENBQUM7QUFDeEgsTUFBTSxlQUFlLEdBQ3BCLHNHQUFzRyxDQUFDO0FBQ3hHLE1BQU0sY0FBYyxHQUNuQixtR0FBbUcsQ0FBQztBQUNyRyxNQUFNLG9CQUFvQixHQUN6Qiw0R0FBNEcsQ0FBQztBQUM5RyxNQUFNLHFCQUFxQixHQUMxQiw2SEFBNkgsQ0FBQztBQUMvSCxNQUFNLHdCQUF3QixHQUM3QixnSEFBZ0gsQ0FBQztBQUNsSCxNQUFNLGVBQWUsR0FDcEIscUdBQXFHLENBQUM7QUFDdkcsTUFBTSxrQkFBa0IsR0FDdkIsMEZBQTBGLENBQUM7QUFFNUY7O0dBRUc7QUFDSCxNQUFhLGdCQUFnQjtJQUM1Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FDbkMsS0FBbUQ7UUFFbkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQ0FBcUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFXO1FBQ3pELE9BQU8scUNBQXFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMscUNBQXFDLENBQzNDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxxQ0FBcUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUEyQjtRQUN2QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFVBQVUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBVztRQUNqQyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVztRQUMvQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLE9BQU87U0FDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0M7UUFDakQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxnQkFBZ0IsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPO1lBQzlCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7U0FDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQkFBMkIsQ0FDakMsS0FBaUQ7UUFFakQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxrQ0FBa0MsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25KLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFXO1FBQ3ZELE9BQU8sbUNBQW1DLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsbUNBQW1DLENBQ3pDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFpQztRQUNuRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGlCQUFpQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQVc7UUFDdkMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEtBQThDO1FBRTlDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsK0JBQStCLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ2hLLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFXO1FBQ3BELE9BQU8sZ0NBQWdDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQ3RDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQywwQkFBMEI7U0FDcEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FDckMsS0FBcUQ7UUFFckQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywrQkFBK0IsS0FBSyxDQUFDLDBCQUEwQixJQUFJLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxDQUFDO0lBQ3pNLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxHQUFXO1FBQzNELE9BQU8sdUNBQXVDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsdUNBQXVDLENBQzdDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQywwQkFBMEI7WUFDcEUsK0JBQStCLEVBQzlCLEtBQUssQ0FBQyxNQUFPLENBQUMsK0JBQStCO1NBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQ3JDLEtBQXFEO1FBRXJELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsd0NBQXdDLENBQUM7SUFDdkksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLEdBQVc7UUFDM0QsT0FBTyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1Q0FBdUMsQ0FDN0MsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztTQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUErQjtRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGNBQWMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsV0FBVztTQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUNyQyxLQUFxRDtRQUVyRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHNDQUFzQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLEdBQVc7UUFDM0QsT0FBTyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1Q0FBdUMsQ0FDN0MsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVDQUF1QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWlDO1FBQ25ELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsaUJBQWlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBVztRQUN2QyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsS0FBMkM7UUFFM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyw0QkFBNEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDJCQUEyQixDQUNqQyxLQUFpRDtRQUVqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLCtCQUErQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLEdBQVc7UUFDdkQsT0FBTyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQ0FBbUMsQ0FDekMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxLQUFLO1NBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQzNCLEtBQTJDO1FBRTNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsNEJBQTRCLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQzFKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyx1QkFBdUI7U0FDOUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQ0FBaUMsQ0FDdkMsS0FBdUQ7UUFFdkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywwQ0FBMEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQy9KLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxHQUFXO1FBQzdELE9BQU8seUNBQXlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMseUNBQXlDLENBQy9DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUNkLHNEQUFzRCxHQUFHLEVBQUUsQ0FDM0QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsY0FBYztTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUMzQixLQUEyQztRQUUzQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDRCQUE0QixLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUFDLEdBQVc7UUFDakQsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FDbkMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQzNCLEtBQTJDO1FBRTNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsNEJBQTRCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQUMsR0FBVztRQUNqRCxPQUFPLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUNuQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFNBQVM7U0FDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBeUM7UUFFekMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRywwQkFBMEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsMkJBQTJCLENBQ2pDLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG1CQUFtQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTBCO1FBQ3JDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsU0FBUyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXO1FBQzlCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsTUFBTTtTQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUErQjtRQUMvQyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFNBQVMsS0FBSyxDQUFDLE1BQU0sVUFBVSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFdBQVc7U0FDdEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBbUM7UUFDdkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxTQUFTLEtBQUssQ0FBQyxNQUFNLFVBQVUsS0FBSyxDQUFDLFdBQVcsY0FBYyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDcEwsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFdBQVc7WUFDdEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtTQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFxQztRQUMzRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLHNCQUFzQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0csQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEdBQVc7UUFDM0MsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FDN0IsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQStCO1FBQy9DLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsY0FBYyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXO1NBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBc0M7UUFDN0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxzQkFBc0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFXO1FBQzVDLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG1CQUFtQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBc0M7UUFDN0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxzQkFBc0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxHQUFXO1FBQzVDLE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQzlCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLG1CQUFtQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxlQUFlO1NBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWtDO1FBQ3JELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsbUJBQW1CLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBVztRQUN4QyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVc7UUFDdEMsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsS0FBMkM7UUFFM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyw0QkFBNEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzdJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdDO1FBQ2pFLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcseUJBQXlCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBb0M7UUFDekQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQkFBcUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQzVCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdDO1FBQ2pFLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcseUJBQXlCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNEJBQTRCLENBQUMsR0FBVztRQUM5QyxPQUFPLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBNkI7UUFDM0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxZQUFZLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVztRQUNuQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBVztRQUNqQyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7U0FDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBNEI7UUFDekMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxXQUFXLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFFBQVE7U0FDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBa0M7UUFDckQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxrQkFBa0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXO1FBQ3hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFtQztRQUN2RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFdBQVcsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxRQUFRO1lBQ2hDLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFzQztRQUM3RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLHNCQUFzQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQTZCO1FBQzNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWdDO1FBQ2pELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssYUFBYSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZ0JBQWdCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUN0QyxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDOztBQXB5Q0YsNENBcXlDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjs7QUFBOUIsOENBcytCQzs7O0FBcitCQSxtRUFBbUU7QUFDbkQsdUNBQXFCLEdBQWE7SUFDakQsK0JBQStCO0lBQy9CLGtCQUFrQjtDQUNsQixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWE7SUFDMUMsd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCw0Q0FBMEIsR0FBYTtJQUN0RCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHNGQUFzRjtBQUN0RSwwREFBd0MsR0FBYTtJQUNwRSxrREFBa0Q7Q0FDbEQsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwwQ0FBd0IsR0FBYTtJQUNwRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHlGQUF5RjtBQUN6RSw2REFBMkMsR0FBYTtJQUN2RSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwwQ0FBd0IsR0FBYTtJQUNwRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHNEQUFzRDtBQUN0QywwQkFBUSxHQUFhO0lBQ3BDLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IscUJBQXFCO0lBQ3JCLG9CQUFvQjtDQUNwQixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWE7SUFDMUMsd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3Qix1Q0FBdUM7SUFDdkMsb0JBQW9CO0NBQ3BCLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzlFLHlEQUF5RDtBQUN6Qyw2QkFBVyxHQUFhO0lBQ3ZDLDZCQUE2QjtJQUM3QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLGlGQUFpRjtBQUNqRSxxREFBbUMsR0FBYTtJQUMvRCw2Q0FBNkM7SUFDN0MscUJBQXFCO0NBQ3JCLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYTtJQUN2QyxxQkFBcUI7SUFDckIsY0FBYztJQUNkLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhO0lBQzVDLDBCQUEwQjtJQUMxQixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCw2QkFBNkI7SUFDN0Isd0NBQXdDO0lBQ3hDLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysb0ZBQW9GO0FBQ3BFLHdEQUFzQyxHQUFhO0lBQ2xFLDZCQUE2QjtJQUM3QixnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSx1REFBcUMsR0FBYTtJQUNqRSw2QkFBNkI7SUFDN0IsK0NBQStDO0lBQy9DLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGlDQUFlLEdBQWE7SUFDM0MseUJBQXlCO0lBQ3pCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLG1DQUFpQixHQUFhO0lBQzdDLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELDZCQUE2QjtJQUM3QixxQ0FBcUM7SUFDckMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRix5RUFBeUU7QUFDekQsNkNBQTJCLEdBQWE7SUFDdkQscUNBQXFDO0lBQ3JDLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELHFDQUFxQztJQUNyQyxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsY0FBYztJQUNkLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0Ysd0RBQXdEO0FBQ3hDLDRCQUFVLEdBQWE7SUFDdEMsb0JBQW9CO0lBQ3BCLGNBQWM7SUFDZCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhO0lBQzNDLHlCQUF5QjtJQUN6QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsNEVBQTRFO0FBQzVELGdEQUE4QixHQUFhO0lBQzFELDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhO0lBQzNDLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsd0NBQXNCLEdBQWE7SUFDbEQsNkJBQTZCO0lBQzdCLGdDQUFnQztDQUNoQyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHdDQUFzQixHQUFhO0lBQ2xELDZCQUE2QjtJQUM3QixnQ0FBZ0M7SUFDaEMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzFFLGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQywwQ0FBMEM7SUFDMUMsNkJBQTZCO0lBQzdCLGNBQWM7SUFDZCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCw2QkFBNkI7SUFDN0Isd0NBQXdDO0lBQ3hDLGNBQWM7Q0FDZCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhO0lBQzlDLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRix5RUFBeUU7QUFDekQsNkNBQTJCLEdBQWE7SUFDdkQsNkJBQTZCO0lBQzdCLHFDQUFxQztJQUNyQyxjQUFjO0lBQ2QscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsc0NBQW9CLEdBQWE7SUFDaEQsNkJBQTZCO0lBQzdCLDhCQUE4QjtJQUM5QixjQUFjO0lBQ2QscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsMENBQXdCLEdBQWE7SUFDcEQsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyxjQUFjO0lBQ2QscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsOEJBQVksR0FBYTtJQUN4QyxzQkFBc0I7SUFDdEIscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWE7SUFDOUMsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQyw2QkFBNkI7SUFDN0IscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsa0RBQWdDLEdBQWE7SUFDNUQsNkJBQTZCO0lBQzdCLDBDQUEwQztJQUMxQyxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywrQkFBYSxHQUFhO0lBQ3pDLHVCQUF1QjtJQUN2QixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLHlEQUF5RDtBQUN6Qyw2QkFBVyxHQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNoRSxvRUFBb0U7QUFDcEQsd0NBQXNCLEdBQWE7SUFDbEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzFFLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM5RSw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YseUZBQXlGO0FBQ3pFLDZEQUEyQyxHQUFhO0lBQ3ZFLHFEQUFxRDtDQUNyRCxDQUFDO0FBQ0Ysb0ZBQW9GO0FBQ3BFLHdEQUFzQyxHQUFhO0lBQ2xFLGdEQUFnRDtDQUNoRCxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGlDQUFlLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3hFLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYTtJQUM3Qyw2QkFBNkI7SUFDN0IsMkJBQTJCO0NBQzNCLENBQUM7QUFDRix5RUFBeUU7QUFDekQsNkNBQTJCLEdBQWE7SUFDdkQsNkJBQTZCO0lBQzdCLHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELHFDQUFxQztDQUNyQyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSxrRkFBa0Y7QUFDbEUsc0RBQW9DLEdBQWE7SUFDaEUsOENBQThDO0NBQzlDLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsNEJBQVUsR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDOUQsNkRBQTZEO0FBQzdDLGlDQUFlLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3hFLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsNEVBQTRFO0FBQzVELGdEQUE4QixHQUFhO0lBQzFELHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGlDQUFlLEdBQWE7SUFDM0MsNkJBQTZCO0lBQzdCLHlCQUF5QjtDQUN6QixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtJQUM3Qiw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCw2QkFBNkI7SUFDN0IsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRixpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0NBQzdCLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsOENBQTRCLEdBQWE7SUFDeEQsMENBQTBDO0lBQzFDLHNDQUFzQztJQUN0QywyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCw2QkFBNkI7SUFDN0Isd0NBQXdDO0NBQ3hDLENBQUM7QUFDRix1RkFBdUY7QUFDdkUsMkRBQXlDLEdBQWE7SUFDckUsbURBQW1EO0NBQ25ELENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsOEJBQVksR0FBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDbEUsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhO0lBQzlDLDZCQUE2QjtJQUM3Qiw0QkFBNEI7Q0FDNUIsQ0FBQztBQUNGLDhFQUE4RTtBQUM5RCxrREFBZ0MsR0FBYTtJQUM1RCw2QkFBNkI7SUFDN0IsMENBQTBDO0NBQzFDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsc0NBQW9CLEdBQWE7SUFDaEQsOEJBQThCO0lBQzlCLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLCtCQUFhLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3BFLGdGQUFnRjtBQUNoRSxvREFBa0MsR0FBYTtJQUM5RCw2QkFBNkI7SUFDN0IsNENBQTRDO0NBQzVDLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsK0NBQTZCLEdBQWE7SUFDekQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsNEJBQVUsR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDOUQsbUZBQW1GO0FBQ25FLHVEQUFxQyxHQUFhO0lBQ2pFLDZCQUE2QjtJQUM3QiwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywrQkFBYSxHQUFhO0lBQ3pDLHVCQUF1QjtJQUN2QiwwQkFBMEI7Q0FDMUIsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBeUIsR0FBYTtJQUNyRCw2QkFBNkI7SUFDN0IsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQsb0RBQWtDLEdBQWE7SUFDOUQsMENBQTBDO0NBQzFDLENBQUM7QUFDRixzREFBc0Q7QUFDdEMsNEJBQVUsR0FBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDNUQsaUVBQWlFO0FBQ2pELHVDQUFxQixHQUFhO0lBQ2pELDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGlDQUFlLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3RFLGtFQUFrRTtBQUNsRCx3Q0FBc0IsR0FBYTtJQUNsRCw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCx5Q0FBdUIsR0FBYTtJQUNuRCwrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxrQ0FBZ0IsR0FBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDeEUsNkRBQTZEO0FBQzdDLG1DQUFpQixHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUMxRSw0REFBNEQ7QUFDNUMsa0NBQWdCLEdBQWE7SUFDNUMsNkJBQTZCO0lBQzdCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUE2QixHQUFhO0lBQ3pELDZCQUE2QjtJQUM3QixxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSwwREFBd0MsR0FBYTtJQUNwRSxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLHNGQUFzRjtBQUN0RSw0REFBMEMsR0FBYTtJQUN0RSxrREFBa0Q7Q0FDbEQsQ0FBQztBQUNGLGtHQUFrRztBQUNsRix3RUFBc0QsR0FDckUsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO0FBQ2xFLHFGQUFxRjtBQUNyRSwyREFBeUMsR0FBYTtJQUNyRSxpREFBaUQ7Q0FDakQsQ0FBQztBQUNGLGlGQUFpRjtBQUNqRSx1REFBcUMsR0FBYTtJQUNqRSw2Q0FBNkM7Q0FDN0MsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSx5REFBdUMsR0FBYTtJQUNuRSwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxnQ0FBYyxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNwRSw0RUFBNEU7QUFDNUQsa0RBQWdDLEdBQWE7SUFDNUQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsa0NBQWdCLEdBQWE7SUFDNUMsNkJBQTZCO0lBQzdCLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDRDQUEwQixHQUFhO0lBQ3RELDZCQUE2QjtJQUM3QixrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBMEIsR0FBYTtJQUN0RCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxrREFBZ0MsR0FBYTtJQUM1RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLGtGQUFrRjtBQUNsRSx3REFBc0MsR0FBYTtJQUNsRSw4Q0FBOEM7Q0FDOUMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCw0Q0FBMEIsR0FBYTtJQUN0RCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCwyQ0FBeUIsR0FBYTtJQUNyRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxpQ0FBZSxHQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUN0RSxnRUFBZ0U7QUFDaEQsc0NBQW9CLEdBQWE7SUFDaEQsNEJBQTRCO0lBQzVCLGtCQUFrQjtDQUNsQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLG9DQUFrQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUM1RSxzRUFBc0U7QUFDdEQsNENBQTBCLEdBQWE7SUFDdEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRixxREFBcUQ7QUFDckMsMkJBQVMsR0FBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDMUQsMERBQTBEO0FBQzFDLGdDQUFjLEdBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3BFLDhEQUE4RDtBQUM5QyxvQ0FBa0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDNUUsNERBQTREO0FBQzVDLGtDQUFnQixHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN4RSxnRUFBZ0U7QUFDaEQsc0NBQW9CLEdBQWE7SUFDaEQsNkJBQTZCO0lBQzdCLDRCQUE0QjtDQUM1QixDQUFDO0FBQ0YsNEVBQTRFO0FBQzVELGtEQUFnQyxHQUFhO0lBQzVELDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxnQ0FBYyxHQUFhO0lBQzFDLDZCQUE2QjtJQUM3QixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxvQ0FBa0IsR0FBYTtJQUM5Qyw2QkFBNkI7SUFDN0IsMEJBQTBCO0NBQzFCLENBQUM7QUFDRixpRUFBaUU7QUFDakQsdUNBQXFCLEdBQWE7SUFDakQsNkJBQTZCO0lBQzdCLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDBDQUF3QixHQUFhO0lBQ3BELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLG1DQUFpQixHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUMxRSwrREFBK0Q7QUFDL0MscUNBQW1CLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzlFLDhEQUE4RDtBQUM5QyxvQ0FBa0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDNUUsdUVBQXVFO0FBQ3ZELDZDQUEyQixHQUFhO0lBQ3ZELG1DQUFtQztDQUNuQyxDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELCtDQUE2QixHQUFhO0lBQ3pELDZCQUE2QjtJQUM3QixxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxtQ0FBaUIsR0FBYTtJQUM3Qyw2QkFBNkI7SUFDN0IseUJBQXlCO0NBQ3pCLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsNENBQTBCLEdBQWE7SUFDdEQsNkJBQTZCO0lBQzdCLGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtJQUM3QiwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCx5Q0FBdUIsR0FBYTtJQUNuRCw2QkFBNkI7SUFDN0IsK0JBQStCO0NBQy9CLENBQUM7QUFDRixvRkFBb0Y7QUFDcEUsMERBQXdDLEdBQWE7SUFDcEUsNkJBQTZCO0lBQzdCLGdEQUFnRDtDQUNoRCxDQUFDO0FBQ0YsdURBQXVEO0FBQ3ZDLDZCQUFXLEdBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzlELDZEQUE2RDtBQUM3QyxtQ0FBaUIsR0FBYTtJQUM3Qyw2QkFBNkI7SUFDN0IseUJBQXlCO0NBQ3pCLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsaURBQStCLEdBQWE7SUFDM0QsNkJBQTZCO0lBQzdCLHVDQUF1QztDQUN2QyxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHFDQUFtQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM5RSx3REFBd0Q7QUFDeEMsOEJBQVksR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDaEUsc0VBQXNFO0FBQ3RELDRDQUEwQixHQUFhO0lBQ3RELDZCQUE2QjtJQUM3QixrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDBFQUEwRTtBQUMxRCw4Q0FBNEIsR0FBYTtJQUN4RCwwQ0FBMEM7SUFDMUMsc0NBQXNDO0lBQ3RDLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDZCQUFXLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hFLDhFQUE4RTtBQUM5RCxrREFBZ0MsR0FBYTtJQUM1RCwwQ0FBMEM7SUFDMUMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsc0NBQW9CLEdBQWE7SUFDaEQsOEJBQThCO0NBQzlCLENBQUM7QUFDRix1RUFBdUU7QUFDdkQsMkNBQXlCLEdBQWE7SUFDckQsbUNBQW1DO0lBQ25DLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLHlEQUF1QyxHQUFhO0lBQ25FLGlEQUFpRDtJQUNqRCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLHdEQUF3RDtBQUN4Qyw0QkFBVSxHQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUM5RCxtRUFBbUU7QUFDbkQsdUNBQXFCLEdBQWE7SUFDakQsNkJBQTZCO0lBQzdCLCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLG1DQUFpQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM1RSx5REFBeUQ7QUFDekMsNkJBQVcsR0FBYTtJQUN2Qyx3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLHFCQUFxQjtJQUNyQixvQkFBb0I7Q0FDcEIsQ0FBQztBQUNGLGdGQUFnRjtBQUNoRSxvREFBa0MsR0FBYTtJQUM5RCxxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCwrQ0FBNkIsR0FBYTtJQUN6RCx3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLHFCQUFxQjtJQUNyQix1Q0FBdUM7SUFDdkMsb0JBQW9CO0NBQ3BCLENBQUM7QUFDRixnRkFBZ0Y7QUFDaEUsb0RBQWtDLEdBQWE7SUFDOUQsNkJBQTZCO0lBQzdCLDRDQUE0QztDQUM1QyxDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELHVDQUFxQixHQUFhO0lBQ2pELCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSxvRUFBb0U7QUFDcEQsd0NBQXNCLEdBQWE7SUFDbEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRixxRUFBcUU7QUFDckQseUNBQXVCLEdBQWE7SUFDbkQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLHdEQUF3RDtBQUN4Qyw0QkFBVSxHQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUM5RCw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWE7SUFDNUMsNkJBQTZCO0lBQzdCLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0YsNEVBQTRFO0FBQzVELGdEQUE4QixHQUFhO0lBQzFELDZCQUE2QjtJQUM3Qix3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHdGQUF3RjtBQUN4RSw0REFBMEMsR0FBYTtJQUN0RSxvREFBb0Q7Q0FDcEQsQ0FBQztBQUNGLG1GQUFtRjtBQUNuRSx1REFBcUMsR0FBYTtJQUNqRSwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSx5REFBdUMsR0FBYTtJQUNuRSw2QkFBNkI7SUFDN0IsaURBQWlEO0NBQ2pELENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsZ0NBQWMsR0FBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDdEUsd0VBQXdFO0FBQ3hELDRDQUEwQixHQUFhO0lBQ3RELDZCQUE2QjtJQUM3QixvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYTtJQUM1Qyw2QkFBNkI7SUFDN0IsMEJBQTBCO0NBQzFCLENBQUM7QUFDRix5RUFBeUU7QUFDekQsNkNBQTJCLEdBQWE7SUFDdkQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRiwrRUFBK0U7QUFDL0QsbURBQWlDLEdBQWE7SUFDN0QsMkNBQTJDO0NBQzNDLENBQUM7QUFDRixvRkFBb0Y7QUFDcEUsd0RBQXNDLEdBQWE7SUFDbEUsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRix3RUFBd0U7QUFDeEQsNENBQTBCLEdBQWE7SUFDdEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDeEUsaUZBQWlGO0FBQ2pFLHFEQUFtQyxHQUFhO0lBQy9ELDZDQUE2QztDQUM3QyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM5RSw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDeEUscUVBQXFFO0FBQ3JELHlDQUF1QixHQUFhO0lBQ25ELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM5RSw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzFFLHVEQUF1RDtBQUN2QywyQkFBUyxHQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUM1RCxnRkFBZ0Y7QUFDaEUsb0RBQWtDLEdBQWE7SUFDOUQsNkJBQTZCO0lBQzdCLDRDQUE0QztDQUM1QyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHNDQUFvQixHQUFhO0lBQ2hELDZCQUE2QjtJQUM3Qiw4QkFBOEI7Q0FDOUIsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxnQ0FBYyxHQUFhO0lBQzFDLDZCQUE2QjtJQUM3Qix3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCxvQ0FBa0IsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDOUUsbUVBQW1FO0FBQ25ELHVDQUFxQixHQUFhO0lBQ2pELDZCQUE2QjtJQUM3QiwrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxtQ0FBaUIsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDNUUsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtJQUM3Qix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSx3RUFBd0U7QUFDeEQsNENBQTBCLEdBQWE7SUFDdEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsb0NBQWtCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzlFLDJFQUEyRTtBQUMzRCwrQ0FBNkIsR0FBYTtJQUN6RCw2QkFBNkI7SUFDN0IsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWE7SUFDN0MsNkJBQTZCO0lBQzdCLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELDRDQUEwQixHQUFhO0lBQ3RELDZCQUE2QjtJQUM3QixvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQyw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCx5Q0FBdUIsR0FBYTtJQUNuRCw2QkFBNkI7SUFDN0IsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWE7SUFDN0MsNkJBQTZCO0lBQzdCLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLDZCQUFXLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hFLDZFQUE2RTtBQUM3RCxpREFBK0IsR0FBYTtJQUMzRCw2QkFBNkI7SUFDN0IseUNBQXlDO0NBQ3pDLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsOEJBQVksR0FBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDbEUsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtJQUM3Qiw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxnQ0FBYyxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN0RSwwREFBMEQ7QUFDMUMsOEJBQVksR0FBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDbEUseURBQXlEO0FBQ3pDLDZCQUFXLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hFLHFFQUFxRTtBQUNyRCx5Q0FBdUIsR0FBYTtJQUNuRCw2QkFBNkI7SUFDN0IsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwrRUFBK0U7QUFDL0QsbURBQWlDLEdBQWE7SUFDN0QsMkNBQTJDO0NBQzNDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLG9GQUFvRjtBQUNwRSx3REFBc0MsR0FBYTtJQUNsRSw2QkFBNkI7SUFDN0IsY0FBYztJQUNkLGdEQUFnRDtDQUNoRCxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLG1DQUFpQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM1RSxzRUFBc0U7QUFDdEQsMENBQXdCLEdBQWE7SUFDcEQsNkJBQTZCO0lBQzdCLGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsOEVBQThFO0FBQzlELGtEQUFnQyxHQUFhO0lBQzVELDBDQUEwQztDQUMxQyxDQUFDO0FBQ0Ysb0RBQW9EO0FBQ3BDLHdCQUFNLEdBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3RELHNEQUFzRDtBQUN0QywwQkFBUSxHQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUMxRCxpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0NBQzdCLENBQUM7QUFDRix1RUFBdUU7QUFDdkQsMkNBQXlCLEdBQWE7SUFDckQsNkJBQTZCO0NBQzdCLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWE7SUFDNUMsNkJBQTZCO0lBQzdCLHFCQUFxQjtJQUNyQixxQkFBcUI7Q0FDckIsQ0FBQztBQUNGLHdGQUF3RjtBQUN4RSw0REFBMEMsR0FBYTtJQUN0RSxvREFBb0Q7Q0FDcEQsQ0FBQztBQUNGLHVGQUF1RjtBQUN2RSwyREFBeUMsR0FBYTtJQUNyRSw2QkFBNkI7SUFDN0Isd0NBQXdDO0lBQ3hDLG1EQUFtRDtDQUNuRCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELG9DQUFrQixHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUM5RSwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWE7SUFDN0MsMENBQTBDO0lBQzFDLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsK0VBQStFO0FBQy9ELG1EQUFpQyxHQUFhO0lBQzdELDJDQUEyQztDQUMzQyxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLG1DQUFpQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM1RSwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUsdUVBQXVFO0FBQ3ZELDJDQUF5QixHQUFhO0lBQ3JELDZCQUE2QjtJQUM3QixtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCw2QkFBNkI7SUFDN0IsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYTtJQUN2Qyw2QkFBNkI7SUFDN0IscUJBQXFCO0NBQ3JCLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsK0JBQWEsR0FBYTtJQUN6Qyw2QkFBNkI7SUFDN0IsdUJBQXVCO0NBQ3ZCLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYTtJQUN2QyxjQUFjO0lBQ2QscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixvRUFBb0U7QUFDcEQsd0NBQXNCLEdBQWE7SUFDbEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsa0NBQWdCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzFFLHFFQUFxRTtBQUNyRCx5Q0FBdUIsR0FBYTtJQUNuRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwwQ0FBd0IsR0FBYTtJQUNwRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxnREFBOEIsR0FBYTtJQUMxRCw2QkFBNkI7SUFDN0Isd0NBQXdDO0NBQ3hDLENBQUM7QUFDRix1RkFBdUY7QUFDdkUsMkRBQXlDLEdBQWE7SUFDckUsbURBQW1EO0NBQ25ELENBQUM7QUFDRixvRkFBb0Y7QUFDcEUsd0RBQXNDLEdBQWE7SUFDbEUsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDeEUseUVBQXlFO0FBQ3pELDZDQUEyQixHQUFhO0lBQ3ZELDZCQUE2QjtJQUM3QixxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCw2Q0FBMkIsR0FBYTtJQUN2RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUsd0RBQXdEO0FBQ3hDLDRCQUFVLEdBQWEsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUM5RSw2REFBNkQ7QUFDN0MsaUNBQWUsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDeEUsNkRBQTZEO0FBQzdDLGlDQUFlLEdBQWE7SUFDM0MsNkJBQTZCO0lBQzdCLHlCQUF5QjtDQUN6QixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDBDQUEwQztJQUMxQyxjQUFjO0lBQ2QsNkJBQTZCO0NBQzdCLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsZ0RBQThCLEdBQWE7SUFDMUQsNkJBQTZCO0lBQzdCLGNBQWM7SUFDZCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyw4QkFBWSxHQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNsRSw4RUFBOEU7QUFDOUQsa0RBQWdDLEdBQWE7SUFDNUQsNkJBQTZCO0lBQzdCLDBDQUEwQztDQUMxQyxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLCtCQUFhLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3BFLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUdIOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUE4TjdCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBYTtRQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWdCO1FBQzlCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQ3JCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQ3ZCLEtBQWE7UUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQ3pCLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQ3pCLEtBQWE7UUFFYixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUNyQixLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUNyQixLQUFhO1FBRWIsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQ0FBMkMsQ0FDakQsS0FBYTtRQUViLE9BQU87WUFDTixTQUFTLEVBQUU7Z0JBQ1YscURBQXFELEVBQUUsS0FBSzthQUM1RDtTQUNELENBQUM7SUFDSCxDQUFDOztBQXpVRiw4Q0EwVUM7OztBQXpVQSxnRkFBZ0Y7QUFDaEUsK0RBQTZDLEdBQWE7SUFDekUscURBQXFEO0NBQ3JELENBQUM7QUFDRixtRUFBbUU7QUFDbkQsa0RBQWdDLEdBQWE7SUFDNUQseUJBQXlCO0NBQ3pCLENBQUM7QUFDRixtRkFBbUY7QUFDbkUsa0VBQWdELEdBQWE7SUFDNUUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDBDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCxxREFBbUMsR0FBYTtJQUMvRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsK0NBQTZCLEdBQWE7SUFDekQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsOEVBQThFO0FBQzlELDZEQUEyQyxHQUFhO0lBQ3ZFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSxvRUFBa0QsR0FDakUsQ0FBQywwQkFBMEIsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUM3QywrREFBK0Q7QUFDL0MsOENBQTRCLEdBQWE7SUFDeEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELGdEQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCwwREFBd0MsR0FBYTtJQUNwRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsMERBQXdDLEdBQWE7SUFDcEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELDBEQUF3QyxHQUFhO0lBQ3BFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCxrREFBZ0MsR0FBYTtJQUM1RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMseUNBQXVCLEdBQWE7SUFDbkQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLDhDQUE0QixHQUFhO0lBQ3hELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyw4Q0FBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixzRUFBc0U7QUFDdEQscURBQW1DLEdBQWE7SUFDL0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELGtEQUFnQyxHQUFhO0lBQzVELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxpREFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsMERBQXdDLEdBQWE7SUFDcEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELHVEQUFxQyxHQUFhO0lBQ2pFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCxtREFBaUMsR0FBYTtJQUM3RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsdURBQXFDLEdBQWE7SUFDakUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLDJDQUF5QixHQUFhO0lBQ3JELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxpREFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsa0RBQWdDLEdBQWE7SUFDNUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsZ0ZBQWdGO0FBQ2hFLCtEQUE2QyxHQUFhO0lBQ3pFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw0Q0FBMEIsR0FBYTtJQUN0RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixnRkFBZ0Y7QUFDaEUsK0RBQTZDLEdBQWE7SUFDekUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELHdEQUFzQyxHQUFhO0lBQ2xFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHVGQUF1RjtBQUN2RSxzRUFBb0QsR0FDbkUsQ0FBQywwQkFBMEIsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUM3QyxpRUFBaUU7QUFDakQsZ0RBQThCLEdBQWE7SUFDMUQseUJBQXlCO0NBQ3pCLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsMENBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsNkVBQTZFO0FBQzdELDREQUEwQyxHQUFhO0lBQ3RFLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IseUJBQXlCO0lBQ3pCLHFCQUFxQjtDQUNyQixDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELHNEQUFvQyxHQUFhO0lBQ2hFLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELGdEQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywwQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNENBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsaUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsa0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDhCQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLHNEQUFzRDtBQUN0QyxtQ0FBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUM5RCx3REFBd0Q7QUFDeEMscUNBQW1CLEdBQUcsMkJBQTJCLENBQUM7QUFDbEUsdURBQXVEO0FBQ3ZDLHNDQUFvQixHQUFHLDZCQUE2QixDQUFDO0FBQ3JFLHVEQUF1RDtBQUN2Qyx1Q0FBcUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN0RSxzREFBc0Q7QUFDdEMsbUNBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDOUQsNENBQTRDO0FBQzVCLDJCQUFTLEdBQUcsa0JBQWtCLENBQUM7QUFDL0MsOENBQThDO0FBQzlCLDZCQUFXLEdBQUcsb0JBQW9CLENBQUM7QUFDbkQsbURBQW1EO0FBQ25DLG1DQUFpQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQyw4QkFBWSxHQUFHLHFCQUFxQixDQUFDO0FBQ3JELCtFQUErRTtBQUMvRCxtRUFBaUQsR0FDaEUscURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9iZWRyb2NrLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBiZWRyb2NrIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImJlZHJvY2tcIjtcblxuXHQvKiogW1JlYWRdIGJlZHJvY2s6QWdlbnRpY1JldHJpZXZlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBBZ2VudGljUmV0cmlldmVTdHJlYW0gPSBcImJlZHJvY2s6QWdlbnRpY1JldHJpZXZlU3RyZWFtXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGJlZHJvY2s6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgPVxuXHRcdFwiYmVkcm9jazpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkFwcGx5R3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseUd1YXJkcmFpbCA9IFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvciA9XG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgPVxuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UgPVxuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6QmF0Y2hEZWxldGVFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuID0gXCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6Q2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNhbmNlbEludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsSW52b2tlID0gXCJiZWRyb2NrOkNhbmNlbEludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6Q2hlY2tJbmdlc3RlZERvY3VtZW50QWNsICovXG5cdHN0YXRpYyByZWFkb25seSBDaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wgPSBcImJlZHJvY2s6Q2hlY2tJbmdlc3RlZERvY3VtZW50QWNsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q29weUJsdWVwcmludFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5Qmx1ZXByaW50U3RhZ2UgPSBcImJlZHJvY2s6Q29weUJsdWVwcmludFN0YWdlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpDb3VudFRva2VucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ291bnRUb2tlbnMgPSBcImJlZHJvY2s6Q291bnRUb2tlbnNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudCA9IFwiYmVkcm9jazpDcmVhdGVBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6Q3JlYXRlQWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUFnZW50QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWxpYXMgPSBcImJlZHJvY2s6Q3JlYXRlQWdlbnRBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50ID0gXCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludFZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlQmx1ZXByaW50VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbCA9IFwiYmVkcm9jazpDcmVhdGVDdXN0b21Nb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFTb3VyY2UgPSBcImJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVNvdXJjZVRva2VuID0gXCJiZWRyb2NrOkNyZWF0ZURhdGFTb3VyY2VUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUV2YWx1YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6Q3JlYXRlRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3cgPSBcImJlZHJvY2s6Q3JlYXRlRmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZsb3dBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0FsaWFzID0gXCJiZWRyb2NrOkNyZWF0ZUZsb3dBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZsb3dWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93VmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVGbG93VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50ID1cblx0XHRcImJlZHJvY2s6Q3JlYXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWwgPSBcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVHdWFyZHJhaWxWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlSW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpDcmVhdGVJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlSW52b2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW52b2NhdGlvbiA9IFwiYmVkcm9jazpDcmVhdGVJbnZvY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpDcmVhdGVLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpDcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbENvcHlKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ29weUpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbENvcHlKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsSW1wb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYiA9IFwiYmVkcm9jazpDcmVhdGVNb2RlbEltcG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iID0gXCJiZWRyb2NrOkNyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0ID0gXCJiZWRyb2NrOkNyZWF0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkNyZWF0ZVByb21wdFJvdXRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb21wdFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFZlcnNpb24gPSBcImJlZHJvY2s6Q3JlYXRlUHJvbXB0VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6Q3JlYXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpDcmVhdGVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50ID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRBY3Rpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cCA9IFwiYmVkcm9jazpEZWxldGVBZ2VudEFjdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBbGlhcyA9IFwiYmVkcm9jazpEZWxldGVBZ2VudEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRNZW1vcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50TWVtb3J5ID0gXCJiZWRyb2NrOkRlbGV0ZUFnZW50TWVtb3J5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQWdlbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFZlcnNpb24gPSBcImJlZHJvY2s6RGVsZXRlQWdlbnRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQmx1ZXByaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCbHVlcHJpbnQgPSBcImJlZHJvY2s6RGVsZXRlQmx1ZXByaW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsID0gXCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnQgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRGF0YVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YVNvdXJjZSA9IFwiYmVkcm9jazpEZWxldGVEYXRhU291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gPVxuXHRcdFwiYmVkcm9jazpEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93ID0gXCJiZWRyb2NrOkRlbGV0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpEZWxldGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGbG93VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd1ZlcnNpb24gPSBcImJlZHJvY2s6RGVsZXRlRmxvd1ZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR3VhcmRyYWlsID0gXCJiZWRyb2NrOkRlbGV0ZUd1YXJkcmFpbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUltcG9ydGVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltcG9ydGVkTW9kZWwgPSBcImJlZHJvY2s6RGVsZXRlSW1wb3J0ZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUluZmVyZW5jZVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZVByb2ZpbGUgPSBcImJlZHJvY2s6RGVsZXRlSW5mZXJlbmNlUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52b2tlID0gXCJiZWRyb2NrOkRlbGV0ZUludm9rZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2UgPSBcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxBZ3JlZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHQgPSBcImJlZHJvY2s6RGVsZXRlUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9tcHRSb3V0ZXIgPSBcImJlZHJvY2s6RGVsZXRlUHJvbXB0Um91dGVyXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcImJlZHJvY2s6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZWxldGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXNzaW9uID0gXCJiZWRyb2NrOkRlbGV0ZVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ID1cblx0XHRcImJlZHJvY2s6RGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6RGV0ZWN0R2VuZXJhdGVkQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0R2VuZXJhdGVkQ29udGVudCA9IFwiYmVkcm9jazpEZXRlY3RHZW5lcmF0ZWRDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yID1cblx0XHRcImJlZHJvY2s6RGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpEaXNhc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSA9XG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkVuZFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuZFNlc3Npb24gPSBcImJlZHJvY2s6RW5kU2Vzc2lvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6RXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbiA9XG5cdFx0XCJiZWRyb2NrOkV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdlbmVyYXRlUXVlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUXVlcnkgPSBcImJlZHJvY2s6R2VuZXJhdGVRdWVyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY291bnREYXRhUmV0ZW50aW9uID1cblx0XHRcImJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiA9XG5cdFx0XCJiZWRyb2NrOkdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnQgPSBcImJlZHJvY2s6R2V0QWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50QWN0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50QWN0aW9uR3JvdXAgPSBcImJlZHJvY2s6R2V0QWdlbnRBY3Rpb25Hcm91cFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRBbGlhcyA9IFwiYmVkcm9jazpHZXRBZ2VudEFsaWFzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRDb2xsYWJvcmF0b3IgPSBcImJlZHJvY2s6R2V0QWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QWdlbnRNZW1vcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50TWVtb3J5ID0gXCJiZWRyb2NrOkdldEFnZW50TWVtb3J5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBZ2VudFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50VmVyc2lvbiA9IFwiYmVkcm9jazpHZXRBZ2VudFZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEFzeW5jSW52b2tlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3luY0ludm9rZSA9IFwiYmVkcm9jazpHZXRBc3luY0ludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93ID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dSZXN1bHRBc3NldHNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvID1cblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5TmV4dFNjZW5hcmlvXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgPVxuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCA9XG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEJsdWVwcmludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50ID0gXCJiZWRyb2NrOkdldEJsdWVwcmludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXMgPVxuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRDdXN0b21Nb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tTW9kZWwgPSBcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50ID1cblx0XHRcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeSA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHkgPVxuXHRcdFwiYmVkcm9jazpHZXREYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdHlcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXREYXRhQXV0b21hdGlvblByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uUHJvamVjdCA9XG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uUHJvamVjdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFBdXRvbWF0aW9uU3RhdHVzID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERhdGFTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFTb3VyY2UgPSBcImJlZHJvY2s6R2V0RGF0YVNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERhdGFTb3VyY2VBdXRob3JpemF0aW9uVXJsID1cblx0XHRcImJlZHJvY2s6R2V0RGF0YVNvdXJjZUF1dGhvcml6YXRpb25VcmxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldERvY3VtZW50Q29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9jdW1lbnRDb250ZW50ID0gXCJiZWRyb2NrOkdldERvY3VtZW50Q29udGVudFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXZhbHVhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRFdmFsdWF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdCA9XG5cdFx0XCJiZWRyb2NrOkdldEV4ZWN1dGlvbkZsb3dTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0RmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmxvdyA9IFwiYmVkcm9jazpHZXRGbG93XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dBbGlhcyA9IFwiYmVkcm9jazpHZXRGbG93QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZsb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0Rmxvd1ZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZsb3dWZXJzaW9uID0gXCJiZWRyb2NrOkdldEZsb3dWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZvdW5kYXRpb25Nb2RlbCA9IFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5ID1cblx0XHRcImJlZHJvY2s6R2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5XCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEd1YXJkcmFpbCA9IFwiYmVkcm9jazpHZXRHdWFyZHJhaWxcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEltcG9ydGVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEltcG9ydGVkTW9kZWwgPSBcImJlZHJvY2s6R2V0SW1wb3J0ZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5mZXJlbmNlUHJvZmlsZSA9IFwiYmVkcm9jazpHZXRJbmZlcmVuY2VQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbmdlc3RlZERvY3VtZW50QWNsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmdlc3RlZERvY3VtZW50QWNsID1cblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmdlc3Rpb25Kb2IgPSBcImJlZHJvY2s6R2V0SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRJbnZvY2F0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52b2NhdGlvblN0ZXAgPSBcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldEludm9rZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52b2tlID0gXCJiZWRyb2NrOkdldEludm9rZVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzID1cblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsQ29weUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxDb3B5Sm9iID0gXCJiZWRyb2NrOkdldE1vZGVsQ29weUpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxFdmFsdWF0aW9uSm9iID0gXCJiZWRyb2NrOkdldE1vZGVsRXZhbHVhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0TW9kZWxJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW1wb3J0Sm9iID0gXCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkpvYiA9IFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRQcm9tcHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb21wdCA9IFwiYmVkcm9jazpHZXRQcm9tcHRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFByb21wdFJvdXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvbXB0Um91dGVyID0gXCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ID1cblx0XHRcImJlZHJvY2s6R2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwiYmVkcm9jazpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6R2V0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2Vzc2lvbiA9IFwiYmVkcm9jazpHZXRTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVzZUNhc2VGb3JNb2RlbEFjY2VzcyA9XG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMgPVxuXHRcdFwiYmVkcm9jazpJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQWdlbnQgPSBcImJlZHJvY2s6SW52b2tlQWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5ID1cblx0XHRcImJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jID1cblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50UmVjb21tZW5kYXRpb25Bc3luY1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZUJ1aWxkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJ1aWxkZXIgPSBcImJlZHJvY2s6SW52b2tlQnVpbGRlclwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbiA9IFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZUZsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3cgPSBcImJlZHJvY2s6SW52b2tlRmxvd1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlR3VhcmRyYWlsQ2hlY2tzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3MgPSBcImJlZHJvY2s6SW52b2tlR3VhcmRyYWlsQ2hlY2tzXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpJbnZva2VJbmxpbmVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnQgPSBcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbCA9IFwiYmVkcm9jazpJbnZva2VNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW1cIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkludm9rZVRvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZVRvb2wgPSBcImJlZHJvY2s6SW52b2tlVG9vbFwiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWN0aW9uR3JvdXBzID0gXCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRDb2xsYWJvcmF0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzID0gXCJiZWRyb2NrOkxpc3RBZ2VudENvbGxhYm9yYXRvcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBZ2VudEtub3dsZWRnZUJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyA9IFwiYmVkcm9jazpMaXN0QWdlbnRLbm93bGVkZ2VCYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEFnZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFZlcnNpb25zID0gXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QWdlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRzID0gXCJiZWRyb2NrOkxpc3RBZ2VudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBc3luY0ludm9rZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3luY0ludm9rZXMgPSBcImJlZHJvY2s6TGlzdEFzeW5jSW52b2tlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWNpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzID1cblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMgPVxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RCbHVlcHJpbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50cyA9IFwiYmVkcm9jazpMaXN0Qmx1ZXByaW50c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzID1cblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RDdXN0b21Nb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbHMgPSBcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlFbnRpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzID1cblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3REYXRhU291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzID0gXCJiZWRyb2NrOkxpc3REYXRhU291cmNlc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RFdmFsdWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RFdmFsdWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXMgPSBcImJlZHJvY2s6TGlzdEZsb3dBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHMgPSBcImJlZHJvY2s6TGlzdEZsb3dFeGVjdXRpb25FdmVudHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25zID0gXCJiZWRyb2NrOkxpc3RGbG93RXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEZsb3dWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dWZXJzaW9ucyA9IFwiYmVkcm9jazpMaXN0Rmxvd1ZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rmxvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93cyA9IFwiYmVkcm9jazpMaXN0Rmxvd3NcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnRPZmZlcnMgPVxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbHMgPSBcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RHdWFyZHJhaWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R3VhcmRyYWlscyA9IFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEltcG9ydGVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHMgPSBcImJlZHJvY2s6TGlzdEltcG9ydGVkTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW5mZXJlbmNlUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlcyA9IFwiYmVkcm9jazpMaXN0SW5mZXJlbmNlUHJvZmlsZXNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RJbmdlc3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5nZXN0aW9uSm9icyA9IFwiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdEludm9jYXRpb25TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludm9jYXRpb25TdGVwcyA9IFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0SW52b2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9ucyA9IFwiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VCYXNlcyA9IFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIjtcblx0LyoqIFtSZWFkXSBiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxDb3B5Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsQ29weUpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDdXN0b21pemF0aW9uSm9icyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0TW9kZWxFdmFsdWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXZhbHVhdGlvbkpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsRXZhbHVhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RNb2RlbEltcG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEltcG9ydEpvYnMgPSBcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdE1vZGVsSW52b2NhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzID0gXCJiZWRyb2NrOkxpc3RNb2RlbEludm9jYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmVkcm9jazpMaXN0UHJvbXB0Um91dGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb21wdFJvdXRlcnMgPSBcImJlZHJvY2s6TGlzdFByb21wdFJvdXRlcnNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RQcm9tcHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvbXB0cyA9IFwiYmVkcm9jazpMaXN0UHJvbXB0c1wiO1xuXHQvKiogW0xpc3RdIGJlZHJvY2s6TGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyA9XG5cdFx0XCJiZWRyb2NrOkxpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHNcIjtcblx0LyoqIFtMaXN0XSBiZWRyb2NrOkxpc3RTZXNzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25zID0gXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYmVkcm9jazpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpPcHRpbWl6ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT3B0aW1pemVQcm9tcHQgPSBcImJlZHJvY2s6T3B0aW1pemVQcm9tcHRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQcmVwYXJlQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXBhcmVBZ2VudCA9IFwiYmVkcm9jazpQcmVwYXJlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQcmVwYXJlRmxvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3cgPSBcImJlZHJvY2s6UHJlcGFyZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRBY2NvdW50RGF0YVJldGVudGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gPSBcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJiZWRyb2NrOlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudCA9XG5cdFx0XCJiZWRyb2NrOlB1dEZvdW5kYXRpb25Nb2RlbEVudGl0bGVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0SW52b2NhdGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludm9jYXRpb25TdGVwID0gXCJiZWRyb2NrOlB1dEludm9jYXRpb25TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uID1cblx0XHRcImJlZHJvY2s6UHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyA9IFwiYmVkcm9jazpQdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3NcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgPVxuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIGJlZHJvY2s6UmVuZGVyUHJvbXB0ICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJQcm9tcHQgPSBcImJlZHJvY2s6UmVuZGVyUHJvbXB0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6UmVyYW5rICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbmsgPSBcImJlZHJvY2s6UmVyYW5rXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpSZXRyaWV2ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmUgPSBcImJlZHJvY2s6UmV0cmlldmVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlID0gXCJiZWRyb2NrOlJldHJpZXZlQW5kR2VuZXJhdGVcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvdyA9XG5cdFx0XCJiZWRyb2NrOlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRGbG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6U3RhcnRGbG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOlN0YXJ0SW5nZXN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6U3RvcEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgPVxuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wRXZhbHVhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEV2YWx1YXRpb25Kb2IgPSBcImJlZHJvY2s6U3RvcEV2YWx1YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wRmxvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEZsb3dFeGVjdXRpb24gPSBcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wSW5nZXN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iID0gXCJiZWRyb2NrOlN0b3BJbmdlc3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iID1cblx0XHRcImJlZHJvY2s6U3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2IgPSBcImJlZHJvY2s6U3RvcE1vZGVsSW52b2NhdGlvbkpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIGJlZHJvY2s6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJiZWRyb2NrOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmVkcm9jazpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnQgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFjdGlvbkdyb3VwID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50QWN0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzID0gXCJiZWRyb2NrOlVwZGF0ZUFnZW50QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudENvbGxhYm9yYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgPSBcImJlZHJvY2s6VXBkYXRlQWdlbnRDb2xsYWJvcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSA9IFwiYmVkcm9jazpVcGRhdGVBZ2VudEtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlID1cblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVCbHVlcHJpbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludCA9IFwiYmVkcm9jazpVcGRhdGVCbHVlcHJpbnRcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5ID1cblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3QgPVxuXHRcdFwiYmVkcm9jazpVcGRhdGVEYXRhQXV0b21hdGlvblByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVEYXRhU291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhU291cmNlID0gXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVGbG93ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93ID0gXCJiZWRyb2NrOlVwZGF0ZUZsb3dcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVGbG93QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZsb3dBbGlhcyA9IFwiYmVkcm9jazpVcGRhdGVGbG93QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVHdWFyZHJhaWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUd1YXJkcmFpbCA9IFwiYmVkcm9jazpVcGRhdGVHdWFyZHJhaWxcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVLbm93bGVkZ2VCYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVLbm93bGVkZ2VCYXNlID0gXCJiZWRyb2NrOlVwZGF0ZUtub3dsZWRnZUJhc2VcIjtcblx0LyoqIFtXcml0ZV0gYmVkcm9jazpVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVByb21wdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvbXB0ID0gXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiO1xuXHQvKiogW1dyaXRlXSBiZWRyb2NrOlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCA9XG5cdFx0XCJiZWRyb2NrOlVwZGF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCI7XG5cdC8qKiBbV3JpdGVdIGJlZHJvY2s6VXBkYXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2Vzc2lvbiA9IFwiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gYmVkcm9jazpWYWxpZGF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uID0gXCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5BZ2VudGljUmV0cmlldmVTdHJlYW0sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXBwbHlHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FsbFdpdGhCZWFyZXJUb2tlbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DaGVja0luZ2VzdGVkRG9jdW1lbnRBY2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ291bnRUb2tlbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGV0ZWN0R2VuZXJhdGVkQ29udGVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5FeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkdlbmVyYXRlUXVlcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudERhdGFSZXRlbnRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudE1lbW9yeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXN5bmNJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1Jlc3VsdEFzc2V0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8sXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludFJlY29tbWVuZGF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhQXV0b21hdGlvblByb2plY3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YUF1dG9tYXRpb25TdGF0dXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RGF0YVNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREYXRhU291cmNlQXV0aG9yaXphdGlvblVybCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXREb2N1bWVudENvbnRlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0RXZhbHVhdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRFeGVjdXRpb25GbG93U25hcHNob3QsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGbG93VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRGb3VuZGF0aW9uTW9kZWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEd1YXJkcmFpbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbXBvcnRlZE1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEluZmVyZW5jZVByb2ZpbGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW5nZXN0ZWREb2N1bWVudEFjbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW52b2NhdGlvblN0ZXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0SW52b2tlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxDb3B5Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRNb2RlbEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbXBvcnRKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0TW9kZWxJbnZvY2F0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLmFjdGlvbkdldFByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRQcm9tcHRSb3V0ZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuYWN0aW9uR2V0U2Vzc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5hY3Rpb25HZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlR3VhcmRyYWlsQ2hlY2tzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUlubGluZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZVRvb2wsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5PcHRpbWl6ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5SZW5kZXJQcm9tcHQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmV0cmlldmUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVmFsaWRhdGVGbG93RGVmaW5pdGlvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcixcblx0XHRCZWRyb2NrQWN0aW9ucy5Bc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5CYXRjaERlbGV0ZUV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DYW5jZWxJbnZva2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ29weUJsdWVwcmludFN0YWdlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVCbHVlcHJpbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlQmx1ZXByaW50VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVDdXN0b21Nb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVEYXRhU291cmNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZURhdGFTb3VyY2VUb2tlbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVFdmFsdWF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlRmxvd0FsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZsb3dWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VQcm9maWxlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZUludm9jYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlS25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxDb3B5Sm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZU1vZGVsQ3VzdG9taXphdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxJbXBvcnRKb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkNyZWF0ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm9tcHRSb3V0ZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuQ3JlYXRlUHJvbXB0VmVyc2lvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5DcmVhdGVTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUFnZW50QWN0aW9uR3JvdXAsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQWdlbnRBbGlhcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudE1lbW9yeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVBZ2VudFZlcnNpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlQmx1ZXByaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUN1c3RvbU1vZGVsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVEYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZURhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZsb3csXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlRmxvd0FsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZsb3dWZXJzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVHdWFyZHJhaWwsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlSW1wb3J0ZWRNb2RlbCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVJbmZlcmVuY2VQcm9maWxlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUludm9rZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlTWFya2V0cGxhY2VNb2RlbEFncmVlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGVsZXRlUHJvbXB0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlbGV0ZVByb21wdFJvdXRlcixcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5EZWxldGVTZXNzaW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuRGlzYXNzb2NpYXRlQWdlbnRLbm93bGVkZ2VCYXNlLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkVuZFNlc3Npb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VCbHVlcHJpbnRSZWNvbW1lbmRhdGlvbkFzeW5jLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkludm9rZUJ1aWxkZXIsXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRGF0YUF1dG9tYXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyxcblx0XHRCZWRyb2NrQWN0aW9ucy5JbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUHJlcGFyZUFnZW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlByZXBhcmVGbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEFjY291bnREYXRhUmV0ZW50aW9uLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlB1dEVuZm9yY2VkR3VhcmRyYWlsQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRGb3VuZGF0aW9uTW9kZWxFbnRpdGxlbWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRJbnZvY2F0aW9uU3RlcCxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRCZWRyb2NrQWN0aW9ucy5QdXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuUmVyYW5rLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlJldHJpZXZlQW5kR2VuZXJhdGUsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0YXJ0Rmxvd0V4ZWN1dGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdGFydEluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEV2YWx1YXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEZsb3dFeGVjdXRpb24sXG5cdFx0QmVkcm9ja0FjdGlvbnMuU3RvcEluZ2VzdGlvbkpvYixcblx0XHRCZWRyb2NrQWN0aW9ucy5TdG9wTW9kZWxDdXN0b21pemF0aW9uSm9iLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlN0b3BNb2RlbEludm9jYXRpb25Kb2IsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnQsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBZ2VudEFsaWFzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3ksXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlQmx1ZXByaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnksXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZURhdGFTb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlRmxvdyxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVGbG93QWxpYXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlR3VhcmRyYWlsLFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZUtub3dsZWRnZUJhc2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50LFxuXHRcdEJlZHJvY2tBY3Rpb25zLlVwZGF0ZVByb21wdCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCxcblx0XHRCZWRyb2NrQWN0aW9ucy5VcGRhdGVTZXNzaW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudEFjdGlvbkdyb3Vwcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QWdlbnRBbGlhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBZ2VudENvbGxhYm9yYXRvcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50S25vd2xlZGdlQmFzZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50VmVyc2lvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEFnZW50cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXN5bmNJbnZva2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd3MsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEJsdWVwcmludHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEN1c3RvbU1vZGVsRGVwbG95bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEN1c3RvbU1vZGVscyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhQXV0b21hdGlvblByb2plY3RzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3REYXRhU291cmNlcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbixcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0RXZhbHVhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEZsb3dBbGlhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93RXhlY3V0aW9uRXZlbnRzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93RXhlY3V0aW9ucyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rmxvd1ZlcnNpb25zLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGbG93cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RGb3VuZGF0aW9uTW9kZWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RHdWFyZHJhaWxzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RJbXBvcnRlZE1vZGVscyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW5mZXJlbmNlUHJvZmlsZXMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEluZ2VzdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEludm9jYXRpb25TdGVwcyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0SW52b2NhdGlvbnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdEtub3dsZWRnZUJhc2VzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbENvcHlKb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEV2YWx1YXRpb25Kb2JzLFxuXHRcdEJlZHJvY2tBY3Rpb25zLkxpc3RNb2RlbEltcG9ydEpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdE1vZGVsSW52b2NhdGlvbkpvYnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFByb21wdFJvdXRlcnMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFByb21wdHMsXG5cdFx0QmVkcm9ja0FjdGlvbnMuTGlzdFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0cyxcblx0XHRCZWRyb2NrQWN0aW9ucy5MaXN0U2Vzc2lvbnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJlZHJvY2tBY3Rpb25zLkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmVkcm9ja0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0QmVkcm9ja0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FnZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWdlbnQtYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBZ2VudEFsaWFzQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudEFsaWFzSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFnZW50LWFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQWdlbnRBbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudEFsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudEFsaWFzSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFzeW5jLWludm9rZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0FzeW5jSW52b2tlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhc3luYy1pbnZva2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tBc3luY0ludm9rZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmVkcm9jay1tYXJrZXRwbGFjZS1tb2RlbC1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmx1ZXByaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEJsdWVwcmludElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBibHVlcHJpbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJsdWVwcmludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0JsdWVwcmludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQmx1ZXByaW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBibHVlcHJpbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbS1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjdXN0b20tbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tDdXN0b21Nb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbS1tb2RlbC1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0N1c3RvbU1vZGVsRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuUHJvcHMge1xuXHQvKiogVGhlIERhdGFBdXRvbWF0aW9uTGlicmFyeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXRhQXV0b21hdGlvbkxpYnJhcnlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXRhQXV0b21hdGlvbkxpYnJhcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhdGFBdXRvbWF0aW9uTGlicmFyeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEluZ2VzdGlvbkpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmdlc3Rpb25Kb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZ2VzdGlvbkpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5nZXN0aW9uSm9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2ZpbGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvZmlsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2ZpbGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2ZpbGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvblByb2plY3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvamVjdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhLWF1dG9tYXRpb24tcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvamVjdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvamVjdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEZWZhdWx0UHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXZhbHVhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0V2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0FyblByb3BzIHtcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tGbG93QWxpYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmbG93LWFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0FsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dBbGlhc0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbG93LWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0Zsb3dFeGVjdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93SWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmxvd0FsaWFzSWQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93RXhlY3V0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dFeGVjdXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmxvd0lkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmxvd0FsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dFeGVjdXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dFeGVjdXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZm91bmRhdGlvbi1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZm91bmRhdGlvbi1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGd1YXJkcmFpbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0d1YXJkcmFpbEFyblByb3BzIHtcblx0LyoqIFRoZSBHdWFyZHJhaWxJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ3VhcmRyYWlsSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBndWFyZHJhaWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEd1YXJkcmFpbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ3VhcmRyYWlsSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGd1YXJkcmFpbC1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrR3VhcmRyYWlsUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ3VhcmRyYWlsLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1wb3J0ZWQtbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tJbXBvcnRlZE1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbXBvcnRlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0luZmVyZW5jZVByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrSW5mZXJlbmNlUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGtub3dsZWRnZS1iYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrS25vd2xlZGdlQmFzZUFyblByb3BzIHtcblx0LyoqIFRoZSBLbm93bGVkZ2VCYXNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGtub3dsZWRnZUJhc2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGtub3dsZWRnZS1iYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrS25vd2xlZGdlQmFzZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgS25vd2xlZGdlQmFzZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkga25vd2xlZGdlQmFzZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jb3B5LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ29weUpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY29weS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbENvcHlKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsQ3VzdG9taXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1ldmFsdWF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEV2YWx1YXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1pbXBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbXBvcnRKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWltcG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tNb2RlbEltcG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWludm9jYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1pbnZvY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja01vZGVsSW52b2NhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9qZWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9tcHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9tcHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb21wdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvbXB0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdC1yb3V0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tQcm9tcHRSb3V0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9tcHQtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb21wdFZlcnNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb21wdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0VmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvbXB0VmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb21wdC12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvbXB0VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvbXB0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRJZDogc3RyaW5nO1xuXHQvKiogVGhlIFByb21wdFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9tcHRWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm92aXNpb25lZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Byb3Zpc2lvbmVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb3Zpc2lvbmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlc3Npb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTZXNzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlc3Npb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2Vzc2lvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2Vzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja1Nlc3Npb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlc3Npb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3lzdGVtLXRvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tTeXN0ZW1Ub29sQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN5c3RlbS10b29sIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrU3lzdGVtVG9vbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEFnZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudFxcLyg/PGFnZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IEFnZW50QWxpYXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50LWFsaWFzXFwvKD88YWdlbnRJZD5bXjovP10rKVxcLyg/PGFnZW50QWxpYXNJZD5bXjovP10rKSQvO1xuY29uc3QgQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEFzeW5jSW52b2tlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphc3luYy1pbnZva2VcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5XFwvKD88YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ+W146Lz9dKykkLztcbmNvbnN0IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5XFwvKD88YXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWQ+W146Lz9dKyk6KD88YXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWFya2V0cGxhY2VcXC9tb2RlbC1lbmRwb2ludFxcL2FsbC1hY2Nlc3MkLztcbmNvbnN0IEJsdWVwcmludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ymx1ZXByaW50XFwvKD88Ymx1ZXByaW50SWQ+W146Lz9dKykkLztcbmNvbnN0IEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvblxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbU1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjdXN0b20tbW9kZWxcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmN1c3RvbS1tb2RlbC1kZXBsb3ltZW50XFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvblxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1saWJyYXJ5XFwvKD88ZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ+W146Lz9dKykkLztcbmNvbnN0IERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYlxcLyg/PGluZ2VzdGlvbkpvYklkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvblByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1wcm9maWxlXFwvKD88cHJvZmlsZUlkPlteOi8/XSspJC87XG5jb25zdCBEYXRhQXV0b21hdGlvblByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtYXV0b21hdGlvbi1wcm9qZWN0XFwvKD88cHJvamVjdElkPlteOi8/XSspJC87XG5jb25zdCBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZWZhdWx0LXByb21wdC1yb3V0ZXJcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBFdmFsdWF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpldmFsdWF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEZsb3dBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3dcXC8oPzxmbG93SWQ+W146Lz9dKykkLztcbmNvbnN0IEZsb3dBbGlhc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmxvd1xcLyg/PGZsb3dJZD5bXjovP10rKVxcL2FsaWFzXFwvKD88Zmxvd0FsaWFzSWQ+W146Lz9dKykkLztcbmNvbnN0IEZsb3dFeGVjdXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3dcXC8oPzxmbG93SWQ+W146Lz9dKylcXC9hbGlhc1xcLyg/PGZsb3dBbGlhc0lkPlteOi8/XSspXFwvZXhlY3V0aW9uXFwvKD88Zmxvd0V4ZWN1dGlvbklkPlteOi8/XSspJC87XG5jb25zdCBGb3VuZGF0aW9uTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOjpmb3VuZGF0aW9uLW1vZGVsXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgR3VhcmRyYWlsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpndWFyZHJhaWxcXC8oPzxndWFyZHJhaWxJZD5bXjovP10rKSQvO1xuY29uc3QgR3VhcmRyYWlsUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Z3VhcmRyYWlsLXByb2ZpbGVcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBJbXBvcnRlZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbXBvcnRlZC1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZVByb2ZpbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1wcm9maWxlXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgS25vd2xlZGdlQmFzZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6a25vd2xlZGdlLWJhc2VcXC8oPzxrbm93bGVkZ2VCYXNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ29weUpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiZWRyb2NrOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY29weS1qb2JcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWN1c3RvbWl6YXRpb24tam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxFdmFsdWF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1ldmFsdWF0aW9uLWpvYlxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1pbXBvcnQtam9iXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxJbnZvY2F0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1pbnZvY2F0aW9uLWpvYlxcLyg/PGpvYklkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2plY3RcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBQcm9tcHRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdFxcLyg/PHByb21wdElkPlteOi8/XSspJC87XG5jb25zdCBQcm9tcHRSb3V0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb21wdC1yb3V0ZXJcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBQcm9tcHRWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9tcHRcXC8oPzxwcm9tcHRJZD5bXjovP10rKTooPzxwcm9tcHRWZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBQcm92aXNpb25lZE1vZGVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJlZHJvY2s6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm92aXNpb25lZC1tb2RlbFxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlc3Npb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlc3Npb25cXC8oPzxzZXNzaW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFN5c3RlbVRvb2xBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmVkcm9jazo6KD88YWNjb3VudD5bXjpdKik6c3lzdGVtLXRvb2xcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgYmVkcm9jayByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYihcblx0XHRwcm9wczogQmVkcm9ja0FkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYi8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFkdmFuY2VkLXByb21wdC1vcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0FkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZHZhbmNlZC1wcm9tcHQtb3B0aW1pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWdlbnQocHJvcHM6IEJlZHJvY2tBZ2VudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LyR7cHJvcHMuYWdlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFnZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFnZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFnZW50QXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0FnZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZ2VudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudElkOiBtYXRjaC5ncm91cHMhLmFnZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWdlbnQtYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWdlbnRBbGlhcyhwcm9wczogQmVkcm9ja0FnZW50QWxpYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudC1hbGlhcy8ke3Byb3BzLmFnZW50SWR9LyR7cHJvcHMuYWdlbnRBbGlhc0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudC1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ2VudEFsaWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFnZW50LWFsaWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFnZW50QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQWdlbnRBbGlhc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWdlbnRBbGlhc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZ2VudC1hbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudElkOiBtYXRjaC5ncm91cHMhLmFnZW50SWQsXG5cdFx0XHRhZ2VudEFsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRBbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uLWluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZShcblx0XHRwcm9wczogQmVkcm9ja0FwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwbGljYXRpb24taW5mZXJlbmNlLXByb2ZpbGUvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwbGljYXRpb25JbmZlcmVuY2VQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tBcHBsaWNhdGlvbkluZmVyZW5jZVByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcGxpY2F0aW9uSW5mZXJlbmNlUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHBsaWNhdGlvbi1pbmZlcmVuY2UtcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXN5bmMtaW52b2tlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFzeW5jSW52b2tlKHByb3BzOiBCZWRyb2NrQXN5bmNJbnZva2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphc3luYy1pbnZva2UvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3luYy1pbnZva2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFzeW5jSW52b2tlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFzeW5jSW52b2tlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFzeW5jLWludm9rZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBc3luY0ludm9rZUFybihhcm46IHN0cmluZyk6IEJlZHJvY2tBc3luY0ludm9rZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXN5bmNJbnZva2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXN5bmMtaW52b2tlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0ZWQtcmVhc29uaW5nLXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3koXG5cdFx0cHJvcHM6IEJlZHJvY2tBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LyR7cHJvcHMuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbihcblx0XHRwcm9wczogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LyR7cHJvcHMuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5SWR9OiR7cHJvcHMuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRlZC1yZWFzb25pbmctcG9saWN5LXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0F1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGVkLXJlYXNvbmluZy1wb2xpY3ktdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5hdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lJZCxcblx0XHRcdGF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb246XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuYXV0b21hdGVkUmVhc29uaW5nUG9saWN5VmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQoXG5cdFx0cHJvcHM6IEJlZHJvY2tCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYXJrZXRwbGFjZS9tb2RlbC1lbmRwb2ludC9hbGwtYWNjZXNzYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmVkcm9ja01hcmtldHBsYWNlTW9kZWxFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBiZWRyb2NrLW1hcmtldHBsYWNlLW1vZGVsLWVuZHBvaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJlZHJvY2tNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCZWRyb2NrTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJlZHJvY2stbWFya2V0cGxhY2UtbW9kZWwtZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJsdWVwcmludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBibHVlcHJpbnQocHJvcHM6IEJlZHJvY2tCbHVlcHJpbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpibHVlcHJpbnQvJHtwcm9wcy5ibHVlcHJpbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmx1ZXByaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCbHVlcHJpbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmx1ZXByaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJsdWVwcmludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCbHVlcHJpbnRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrQmx1ZXByaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCbHVlcHJpbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmx1ZXByaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJsdWVwcmludElkOiBtYXRjaC5ncm91cHMhLmJsdWVwcmludElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBibHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uKFxuXHRcdHByb3BzOiBCZWRyb2NrQmx1ZXByaW50T3B0aW1pemF0aW9uSW52b2NhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ymx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmx1ZXByaW50LW9wdGltaXphdGlvbi1pbnZvY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJsdWVwcmludE9wdGltaXphdGlvbkludm9jYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCbHVlcHJpbnRPcHRpbWl6YXRpb25JbnZvY2F0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJsdWVwcmludC1vcHRpbWl6YXRpb24taW52b2NhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY3VzdG9tLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbU1vZGVsKHByb3BzOiBCZWRyb2NrQ3VzdG9tTW9kZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjdXN0b20tbW9kZWwvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEN1c3RvbU1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbU1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGN1c3RvbS1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21Nb2RlbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tDdXN0b21Nb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b20tbW9kZWwtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21Nb2RlbERlcGxveW1lbnQoXG5cdFx0cHJvcHM6IEJlZHJvY2tDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmN1c3RvbS1tb2RlbC1kZXBsb3ltZW50LyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEN1c3RvbU1vZGVsRGVwbG95bWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrQ3VzdG9tTW9kZWxEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21Nb2RlbERlcGxveW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tLW1vZGVsLWRlcGxveW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1pbnZvY2F0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uSW52b2NhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24taW52b2NhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25JbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkludm9jYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLWludm9jYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1saWJyYXJ5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uTGlicmFyeShcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkvJHtwcm9wcy5kYXRhQXV0b21hdGlvbkxpYnJhcnlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uTGlicmFyeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25MaWJyYXJ5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvbkxpYnJhcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQ6IG1hdGNoLmdyb3VwcyEuZGF0YUF1dG9tYXRpb25MaWJyYXJ5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtYXV0b21hdGlvbi1saWJyYXJ5LWluZ2VzdGlvbi1qb2IvJHtwcm9wcy5pbmdlc3Rpb25Kb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLWxpYnJhcnktaW5nZXN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBkYXRhLWF1dG9tYXRpb24tbGlicmFyeS1pbmdlc3Rpb24tam9iIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZ2VzdGlvbkpvYklkOiBtYXRjaC5ncm91cHMhLmluZ2VzdGlvbkpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFBdXRvbWF0aW9uUHJvZmlsZShcblx0XHRwcm9wczogQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YS1hdXRvbWF0aW9uLXByb2ZpbGUvJHtwcm9wcy5wcm9maWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhQXV0b21hdGlvblByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFBdXRvbWF0aW9uUHJvZmlsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0RhdGFBdXRvbWF0aW9uUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGF0YUF1dG9tYXRpb25Qcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGEtYXV0b21hdGlvbi1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2ZpbGVJZDogbWF0Y2guZ3JvdXBzIS5wcm9maWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUF1dG9tYXRpb25Qcm9qZWN0KFxuXHRcdHByb3BzOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLWF1dG9tYXRpb24tcHJvamVjdC8ke3Byb3BzLnByb2plY3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFBdXRvbWF0aW9uUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhQXV0b21hdGlvblByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Qcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhQXV0b21hdGlvblByb2plY3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1hdXRvbWF0aW9uLXByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvamVjdElkOiBtYXRjaC5ncm91cHMhLnByb2plY3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZWZhdWx0LXByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGVmYXVsdFByb21wdFJvdXRlcihcblx0XHRwcm9wczogQmVkcm9ja0RlZmF1bHRQcm9tcHRSb3V0ZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRlZmF1bHQtcHJvbXB0LXJvdXRlci8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRlZmF1bHQtcHJvbXB0LXJvdXRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGVmYXVsdFByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZWZhdWx0UHJvbXB0Um91dGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRlZmF1bHQtcHJvbXB0LXJvdXRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZWZhdWx0UHJvbXB0Um91dGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrRGVmYXVsdFByb21wdFJvdXRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGVmYXVsdFByb21wdFJvdXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZWZhdWx0LXByb21wdC1yb3V0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2YWx1YXRpb25Kb2IocHJvcHM6IEJlZHJvY2tFdmFsdWF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXZhbHVhdGlvbi1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmFsdWF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmFsdWF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV2YWx1YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV2YWx1YXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRXZhbHVhdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXZhbHVhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBldmFsdWF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93KHByb3BzOiBCZWRyb2NrRmxvd0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3cvJHtwcm9wcy5mbG93SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZsb3cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbG93IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZsb3dJZDogbWF0Y2guZ3JvdXBzIS5mbG93SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1hbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93QWxpYXMocHJvcHM6IEJlZHJvY2tGbG93QWxpYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbG93LyR7cHJvcHMuZmxvd0lkfS9hbGlhcy8ke3Byb3BzLmZsb3dBbGlhc0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93LWFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93QWxpYXNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmxvd0FsaWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3ctYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0FsaWFzQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0Zsb3dBbGlhc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0FsaWFzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctYWxpYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0lkOiBtYXRjaC5ncm91cHMhLmZsb3dJZCxcblx0XHRcdGZsb3dBbGlhc0lkOiBtYXRjaC5ncm91cHMhLmZsb3dBbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZsb3ctZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dFeGVjdXRpb24ocHJvcHM6IEJlZHJvY2tGbG93RXhlY3V0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy8ke3Byb3BzLmZsb3dJZH0vYWxpYXMvJHtwcm9wcy5mbG93QWxpYXNJZH0vZXhlY3V0aW9uLyR7cHJvcHMuZmxvd0V4ZWN1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93LWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmxvd0V4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93RXhlY3V0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3ctZXhlY3V0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZsb3dFeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrRmxvd0V4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmxvd0V4ZWN1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93LWV4ZWN1dGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93SWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0lkLFxuXHRcdFx0Zmxvd0FsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0FsaWFzSWQsXG5cdFx0XHRmbG93RXhlY3V0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuZmxvd0V4ZWN1dGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZvdW5kYXRpb24tbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZm91bmRhdGlvbk1vZGVsKHByb3BzOiBCZWRyb2NrRm91bmRhdGlvbk1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9Ojpmb3VuZGF0aW9uLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZm91bmRhdGlvbi1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRm91bmRhdGlvbk1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZvdW5kYXRpb25Nb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmb3VuZGF0aW9uLW1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZvdW5kYXRpb25Nb2RlbEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRm91bmRhdGlvbk1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvdW5kYXRpb24tbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGd1YXJkcmFpbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWwocHJvcHM6IEJlZHJvY2tHdWFyZHJhaWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpndWFyZHJhaWwvJHtwcm9wcy5ndWFyZHJhaWxJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZ3VhcmRyYWlsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHdWFyZHJhaWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR3VhcmRyYWlsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGd1YXJkcmFpbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHdWFyZHJhaWxBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrR3VhcmRyYWlsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHdWFyZHJhaWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ3VhcmRyYWlsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGd1YXJkcmFpbElkOiBtYXRjaC5ncm91cHMhLmd1YXJkcmFpbElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGd1YXJkcmFpbC1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGd1YXJkcmFpbFByb2ZpbGUocHJvcHM6IEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Z3VhcmRyYWlsLXByb2ZpbGUvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBndWFyZHJhaWwtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkR3VhcmRyYWlsUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGd1YXJkcmFpbC1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUd1YXJkcmFpbFByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tHdWFyZHJhaWxQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHdWFyZHJhaWxQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGd1YXJkcmFpbC1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbXBvcnRlZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbXBvcnRlZE1vZGVsKHByb3BzOiBCZWRyb2NrSW1wb3J0ZWRNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltcG9ydGVkLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1wb3J0ZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEltcG9ydGVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1wb3J0ZWRNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbXBvcnRlZC1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbXBvcnRlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja0ltcG9ydGVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEltcG9ydGVkTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW1wb3J0ZWQtbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZVByb2ZpbGUocHJvcHM6IEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLXByb2ZpbGUvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlUHJvZmlsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZVByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJlZHJvY2tJbmZlcmVuY2VQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1wcm9maWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBrbm93bGVkZ2UtYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBrbm93bGVkZ2VCYXNlKHByb3BzOiBCZWRyb2NrS25vd2xlZGdlQmFzZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omtub3dsZWRnZS1iYXNlLyR7cHJvcHMua25vd2xlZGdlQmFzZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBrbm93bGVkZ2UtYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkS25vd2xlZGdlQmFzZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBLbm93bGVkZ2VCYXNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGtub3dsZWRnZS1iYXNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtub3dsZWRnZUJhc2VBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrS25vd2xlZGdlQmFzZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gS25vd2xlZGdlQmFzZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBrbm93bGVkZ2UtYmFzZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRrbm93bGVkZ2VCYXNlSWQ6IG1hdGNoLmdyb3VwcyEua25vd2xlZGdlQmFzZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWNvcHktam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ29weUpvYihwcm9wczogQmVkcm9ja01vZGVsQ29weUpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWNvcHktam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY29weS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ29weUpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbENvcHlKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY29weS1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDb3B5Sm9iQXJuKGFybjogc3RyaW5nKTogQmVkcm9ja01vZGVsQ29weUpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDb3B5Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWNvcHktam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jdXN0b21pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEN1c3RvbWl6YXRpb25Kb2IoXG5cdFx0cHJvcHM6IEJlZHJvY2tNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWN1c3RvbWl6YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQ3VzdG9taXphdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxDdXN0b21pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEN1c3RvbWl6YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY3VzdG9taXphdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWV2YWx1YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsRXZhbHVhdGlvbkpvYihwcm9wczogQmVkcm9ja01vZGVsRXZhbHVhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWV2YWx1YXRpb24tam9iLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtZXZhbHVhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsRXZhbHVhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxFdmFsdWF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxFdmFsdWF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEV2YWx1YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtZXZhbHVhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWltcG9ydC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxJbXBvcnRKb2IocHJvcHM6IEJlZHJvY2tNb2RlbEltcG9ydEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWltcG9ydC1qb2IvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1pbXBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEltcG9ydEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEltcG9ydEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1pbXBvcnQtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsSW1wb3J0Sm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxJbXBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsSW1wb3J0Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWltcG9ydC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWludm9jYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsSW52b2NhdGlvbkpvYihwcm9wczogQmVkcm9ja01vZGVsSW52b2NhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWludm9jYXRpb24tam9iLyR7cHJvcHMuam9iSWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtaW52b2NhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsSW52b2NhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxJbnZvY2F0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrTW9kZWxJbnZvY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEludm9jYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtaW52b2NhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5qb2JJZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvamVjdChwcm9wczogQmVkcm9ja1Byb2plY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9qZWN0LyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvamVjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9qZWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2plY3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvamVjdEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9qZWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb21wdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHQocHJvcHM6IEJlZHJvY2tQcm9tcHRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQvJHtwcm9wcy5wcm9tcHRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvbXB0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9tcHRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvbXB0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb21wdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9tcHRBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvbXB0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvbXB0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb21wdElkOiBtYXRjaC5ncm91cHMhLnByb21wdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvbXB0Um91dGVyKHByb3BzOiBCZWRyb2NrUHJvbXB0Um91dGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJlZHJvY2s6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvbXB0LXJvdXRlci8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb21wdC1yb3V0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb21wdFJvdXRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRSb3V0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvbXB0LXJvdXRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9tcHRSb3V0ZXJBcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvbXB0Um91dGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9tcHRSb3V0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvbXB0LXJvdXRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvbXB0LXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvbXB0VmVyc2lvbihwcm9wczogQmVkcm9ja1Byb21wdFZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9tcHQvJHtwcm9wcy5wcm9tcHRJZH06JHtwcm9wcy5wcm9tcHRWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9tcHQtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvbXB0VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9tcHRWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb21wdC12ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb21wdFZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrUHJvbXB0VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvbXB0VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9tcHQtdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm9tcHRJZDogbWF0Y2guZ3JvdXBzIS5wcm9tcHRJZCxcblx0XHRcdHByb21wdFZlcnNpb246IG1hdGNoLmdyb3VwcyEucHJvbXB0VmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm92aXNpb25lZC1tb2RlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm92aXNpb25lZE1vZGVsKHByb3BzOiBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByb3Zpc2lvbmVkLW1vZGVsLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvdmlzaW9uZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb3Zpc2lvbmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvdmlzaW9uZWRNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm92aXNpb25lZC1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm92aXNpb25lZE1vZGVsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCZWRyb2NrUHJvdmlzaW9uZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvdmlzaW9uZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm92aXNpb25lZC1tb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXNzaW9uKHByb3BzOiBCZWRyb2NrU2Vzc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiZWRyb2NrOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlc3Npb24vJHtwcm9wcy5zZXNzaW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlc3Npb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlc3Npb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2Vzc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXNzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlc3Npb25Bcm4oYXJuOiBzdHJpbmcpOiBCZWRyb2NrU2Vzc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2Vzc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXNzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlc3Npb25JZDogbWF0Y2guZ3JvdXBzIS5zZXNzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3lzdGVtLXRvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3lzdGVtVG9vbChwcm9wczogQmVkcm9ja1N5c3RlbVRvb2xBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmVkcm9jazo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzeXN0ZW0tdG9vbC8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN5c3RlbS10b29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTeXN0ZW1Ub29sQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN5c3RlbVRvb2xBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3lzdGVtLXRvb2wgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3lzdGVtVG9vbEFybihhcm46IHN0cmluZyk6IEJlZHJvY2tTeXN0ZW1Ub29sQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTeXN0ZW1Ub29sQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN5c3RlbS10b29sIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBiZWRyb2NrLlxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZ2VudGljUmV0cmlldmVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZ2VudGljUmV0cmlldmVTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBZ2VudGljUmV0cmlldmVTdHJlYW1cIixcblx0XHRcImJlZHJvY2s6UmV0cmlldmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXBwbHlHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseUd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVBZ2VudEtub3dsZWRnZUJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpCYXRjaERlbGV0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkJhdGNoRGVsZXRlRXZhbHVhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbmNlbEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2hlY2tJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2hlY2tJbmdlc3RlZERvY3VtZW50QWNsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbnZlcnNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udmVyc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udmVyc2VTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb252ZXJzZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFwcGx5R3VhcmRyYWlsXCIsXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW1cIixcblx0XHRcImJlZHJvY2s6SW52b2tlVG9vbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5Qmx1ZXByaW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5Qmx1ZXByaW50U3RhZ2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpDb3B5Qmx1ZXByaW50U3RhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvdW50VG9rZW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ291bnRUb2tlbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNvdW50VG9rZW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlQWdlbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudEFjdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVBZ2VudEFsaWFzXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCbHVlcHJpbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUJsdWVwcmludFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlQ3VzdG9tTW9kZWxcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbERlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVEYXRhQXV0b21hdGlvbkxpYnJhcnlcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhU291cmNlOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6Q3JlYXRlRGF0YVNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2YWx1YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUV2YWx1YXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZsb3dcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDcmVhdGVGbG93QWxpYXNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZUZsb3dWZXJzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGb3VuZGF0aW9uTW9kZWxBZ3JlZW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUZvdW5kYXRpb25Nb2RlbEFncmVlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHdWFyZHJhaWxWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3VhcmRyYWlsVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlR3VhcmRyYWlsVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlSW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnZvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW52b2NhdGlvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkNyZWF0ZUludm9jYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXNzb2NpYXRlVGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VcIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxDb3B5Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbENvcHlKb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW1wb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVNb2RlbEltcG9ydEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvbXB0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvbXB0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvbXB0XCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdFJvdXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvbXB0Um91dGVyXCIsXG5cdFx0XCJiZWRyb2NrOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb21wdFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q3JlYXRlUHJvbXB0VmVyc2lvblwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dFwiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2Vzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNyZWF0ZVNlc3Npb25cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudEFjdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRBY3Rpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUFnZW50QWN0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVBZ2VudEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2VudE1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50TWVtb3J5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlQWdlbnRNZW1vcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZUFnZW50VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUJ1aWxkV29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCbHVlcHJpbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVCbHVlcHJpbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUN1c3RvbU1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbU1vZGVsRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZURhdGFBdXRvbWF0aW9uTGlicmFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVEYXRhQXV0b21hdGlvblByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YVNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFTb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVEYXRhU291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpEZWxldGVFbmZvcmNlZEd1YXJkcmFpbENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVGbG93QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd1ZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpEZWxldGVGbG93VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlRm91bmRhdGlvbk1vZGVsQWdyZWVtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUd1YXJkcmFpbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlR3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbXBvcnRlZE1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVJbXBvcnRlZE1vZGVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluZmVyZW5jZVByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVJbmZlcmVuY2VQcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VCYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZUtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZU1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkRlbGV0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvbXB0Um91dGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpEZWxldGVQcm9tcHRSb3V0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6RGVsZXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdFx0XCJiZWRyb2NrOlB1dFJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6RGVsZXRlU2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkRlcmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRpc2Fzc29jaWF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5kU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkVuZFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpFeHBvcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlUXVlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVF1ZXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2VuZXJhdGVRdWVyeVwiLFxuXHRcdFwiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFjY291bnREYXRhUmV0ZW50aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFkdmFuY2VkUHJvbXB0T3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0QWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50QWN0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50QWxpYXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudENvbGxhYm9yYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRDb2xsYWJvcmF0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBZ2VudENvbGxhYm9yYXRvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudE1lbW9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdlbnRNZW1vcnk6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudE1lbW9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdlbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudFZlcnNpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRBZ2VudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0QXN5bmNJbnZva2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5QnVpbGRXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93UmVzdWx0QXNzZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lOZXh0U2NlbmFyaW8gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeU5leHRTY2VuYXJpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0UmVzdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qmx1ZXByaW50T3B0aW1pemF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRCbHVlcHJpbnRPcHRpbWl6YXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q3VzdG9tTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRDdXN0b21Nb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21Nb2RlbERlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbU1vZGVsRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0Q3VzdG9tTW9kZWxEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5RW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0RGF0YUF1dG9tYXRpb25Qcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFBdXRvbWF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYXRhQXV0b21hdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldERhdGFBdXRvbWF0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERhdGFTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERhdGFTb3VyY2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXREYXRhU291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb2N1bWVudENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvY3VtZW50Q29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkdldERvY3VtZW50Q29udGVudFwiLFxuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmFsdWF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFdmFsdWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0RXZhbHVhdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uRmxvd1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGVjdXRpb25GbG93U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpHZXRFeGVjdXRpb25GbG93U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvdzogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEZsb3dcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZsb3dBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRGbG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd0V4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rmxvd1ZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZsb3dWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0Rmxvd1ZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZvdW5kYXRpb25Nb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Rm91bmRhdGlvbk1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRGb3VuZGF0aW9uTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Rm91bmRhdGlvbk1vZGVsQXZhaWxhYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGb3VuZGF0aW9uTW9kZWxBdmFpbGFiaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEZvdW5kYXRpb25Nb2RlbEF2YWlsYWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEd1YXJkcmFpbDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0R3VhcmRyYWlsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEltcG9ydGVkTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydGVkTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldEltcG9ydGVkTW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5mZXJlbmNlUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5mZXJlbmNlUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0SW5mZXJlbmNlUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3RlZERvY3VtZW50QWNsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbmdlc3RlZERvY3VtZW50QWNsOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0SW5nZXN0ZWREb2N1bWVudEFjbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluZ2VzdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52b2NhdGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludm9jYXRpb25TdGVwOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0SW52b2NhdGlvblN0ZXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtub3dsZWRnZUJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtub3dsZWRnZUJhc2U6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpHZXRLbm93bGVkZ2VCYXNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLbm93bGVkZ2VCYXNlRG9jdW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6R2V0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6R2V0TWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsQ29weUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxDb3B5Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbENvcHlKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxDdXN0b21pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsQ3VzdG9taXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbEltcG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldE1vZGVsSW1wb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxJbnZvY2F0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsSW52b2NhdGlvbkxvZ2dpbmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpHZXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvbXB0Um91dGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9tcHRSb3V0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb21wdFJvdXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFByb3Zpc2lvbmVkTW9kZWxUaHJvdWdocHV0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlQ2FzZUZvck1vZGVsQWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2VDYXNlRm9yTW9kZWxBY2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkdldFVzZUNhc2VGb3JNb2RlbEFjY2Vzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmdlc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5nZXN0S25vd2xlZGdlQmFzZURvY3VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJiZWRyb2NrOkluZ2VzdEtub3dsZWRnZUJhc2VEb2N1bWVudHNcIixcblx0XHRcImJlZHJvY2s6U3RhcnRJbmdlc3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VBZ2VudDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkludm9rZUFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUJsdWVwcmludE9wdGltaXphdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlQmx1ZXByaW50T3B0aW1pemF0aW9uQXN5bmNcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkludm9rZURhdGFBdXRvbWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZURhdGFBdXRvbWF0aW9uQXN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW52b2tlRGF0YUF1dG9tYXRpb25Bc3luY1wiLFxuXHRcdFwiYmVkcm9jazpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRmxvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpJbnZva2VGbG93XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VHdWFyZHJhaWxDaGVja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VHdWFyZHJhaWxDaGVja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUd1YXJkcmFpbENoZWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VJbmxpbmVBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUlubGluZUFnZW50OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6SW52b2tlSW5saW5lQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBcHBseUd1YXJkcmFpbFwiLFxuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZU1vZGVsXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZVRvb2xcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlTW9kZWxXaXRoQmlkaXJlY3Rpb25hbFN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aEJpZGlyZWN0aW9uYWxTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QXBwbHlHdWFyZHJhaWxcIixcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VNb2RlbFdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRcdFwiYmVkcm9jazpJbnZva2VUb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudEFjdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEFjdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBZ2VudEFjdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50QWxpYXNlczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudENvbGxhYm9yYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRDb2xsYWJvcmF0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50Q29sbGFib3JhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRLbm93bGVkZ2VCYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudEtub3dsZWRnZUJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEFnZW50S25vd2xlZGdlQmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3luY0ludm9rZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXN5bmNJbnZva2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXN5bmNJbnZva2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkxpc3RBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RSZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFJlc3VsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJsdWVwcmludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Nb2RlbERlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Q3VzdG9tTW9kZWxEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbU1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEN1c3RvbU1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFBdXRvbWF0aW9uTGlicmFyeUluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0RGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YUF1dG9tYXRpb25Qcm9qZWN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhQXV0b21hdGlvblByb2plY3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdERhdGFBdXRvbWF0aW9uUHJvamVjdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFTb3VyY2VzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdERhdGFTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5mb3JjZWRHdWFyZHJhaWxzQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmZvcmNlZEd1YXJkcmFpbHNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdEVuZm9yY2VkR3VhcmRyYWlsc0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2YWx1YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2YWx1YXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEV2YWx1YXRpb25Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0FsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0FsaWFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0FsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RXhlY3V0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dFeGVjdXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0V4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0Rmxvd0V4ZWN1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd1ZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdEZsb3dzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVsQWdyZWVtZW50T2ZmZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEZvdW5kYXRpb25Nb2RlbEFncmVlbWVudE9mZmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rm91bmRhdGlvbk1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGb3VuZGF0aW9uTW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0Rm91bmRhdGlvbk1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R3VhcmRyYWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHdWFyZHJhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0R3VhcmRyYWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0ZWRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW1wb3J0ZWRNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VQcm9maWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6TGlzdEluZmVyZW5jZVByb2ZpbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmdlc3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZ2VzdGlvbkpvYnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW5nZXN0aW9uSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludm9jYXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZvY2F0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0SW52b2NhdGlvblN0ZXBzXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0SW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLbm93bGVkZ2VCYXNlRG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUJhc2VEb2N1bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZURvY3VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S25vd2xlZGdlQmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpMaXN0S25vd2xlZGdlQmFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlTW9kZWxFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbENvcHlKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ29weUpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbENvcHlKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ3VzdG9taXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RNb2RlbEN1c3RvbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxJbXBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6TGlzdE1vZGVsSW1wb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxJbnZvY2F0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEludm9jYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0TW9kZWxJbnZvY2F0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0Um91dGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRSb3V0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvbXB0Um91dGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvbXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9tcHRzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6TGlzdFByb21wdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpMaXN0UHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uczogc3RyaW5nW10gPSBbXCJiZWRyb2NrOkxpc3RTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3B0aW1pemVQcm9tcHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcHRpbWl6ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOk9wdGltaXplUHJvbXB0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmVwYXJlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQcmVwYXJlQWdlbnQ6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFByZXBhcmVGbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJlcGFyZUZsb3c6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQcmVwYXJlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudERhdGFSZXRlbnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50RGF0YVJldGVudGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0QWNjb3VudERhdGFSZXRlbnRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UHV0RW5mb3JjZWRHdWFyZHJhaWxDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludm9jYXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52b2NhdGlvblN0ZXA6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpQdXRJbnZvY2F0aW9uU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxJbnZvY2F0aW9uTG9nZ2luZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmVkcm9jazpQdXRNb2RlbEludm9jYXRpb25Mb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFVzZUNhc2VGb3JNb2RlbEFjY2VzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFVzZUNhc2VGb3JNb2RlbEFjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6UHV0VXNlQ2FzZUZvck1vZGVsQWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZWdpc3Rlck1hcmtldHBsYWNlTW9kZWxFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXJhbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXJhbms6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXJhbmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cmlldmU6IHN0cmluZ1tdID0gW1wiYmVkcm9jazpSZXRyaWV2ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQW5kR2VuZXJhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJpZXZlQW5kR2VuZXJhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyaWV2ZUFuZEdlbmVyYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzeW5jSW52b2tlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3luY0ludm9rZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6SW52b2tlTW9kZWxcIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6U3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lCdWlsZFdvcmtmbG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdFdvcmtmbG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0V29ya2Zsb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOkludm9rZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RXb3JrZmxvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZsb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZsb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpTdGFydEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5nZXN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmdlc3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZVwiLFxuXHRcdFwiYmVkcm9jazpTdGFydEluZ2VzdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpTdG9wQWR2YW5jZWRQcm9tcHRPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEV2YWx1YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZhbHVhdGlvbkpvYjogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlN0b3BFdmFsdWF0aW9uSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmxvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGbG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEZsb3dFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmdlc3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5nZXN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6U3RvcEluZ2VzdGlvbkpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsQ3VzdG9taXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEN1c3RvbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vZGVsSW52b2NhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb2RlbEludm9jYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlN0b3BNb2RlbEludm9jYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRBY3Rpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QWN0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpVcGRhdGVBZ2VudEFjdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudEFsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlQWdlbnRBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRDb2xsYWJvcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbGxhYm9yYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50Q29sbGFib3JhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUFnZW50S25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lBbm5vdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeUFubm90YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5QW5ub3RhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5VGVzdENhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lUZXN0Q2FzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVRlc3RDYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJsdWVwcmludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJsdWVwcmludDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZUJsdWVwcmludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwiYmVkcm9jazpVcGRhdGVDdXN0b21Nb2RlbERlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6VXBkYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYXRhU291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVNvdXJjZTogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZURhdGFTb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZsb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbG93OiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImJlZHJvY2s6VXBkYXRlRmxvd1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmxvd0FsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmxvd0FsaWFzOiBzdHJpbmdbXSA9IFtcImJlZHJvY2s6VXBkYXRlRmxvd0FsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHdWFyZHJhaWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHdWFyZHJhaWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJiZWRyb2NrOlVwZGF0ZUd1YXJkcmFpbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVLbm93bGVkZ2VCYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlS25vd2xlZGdlQmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkFzc29jaWF0ZVRoaXJkUGFydHlLbm93bGVkZ2VCYXNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZU1vZGVsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJlZHJvY2s6VXBkYXRlTWFya2V0cGxhY2VNb2RlbEVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb21wdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb21wdDogc3RyaW5nW10gPSBbXCJiZWRyb2NrOlVwZGF0ZVByb21wdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dDogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcImJlZHJvY2s6VXBkYXRlUHJvdmlzaW9uZWRNb2RlbFRocm91Z2hwdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wiYmVkcm9jazpVcGRhdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOlZhbGlkYXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJlZHJvY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBCZWRyb2NrQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZHZhbmNlZFByb21wdE9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFnZW50QWN0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRBY3Rpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b21hdGVkUmVhc29uaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBdXRvbWF0ZWRSZWFzb25pbmdQb2xpY3lWZXJzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9tYXRlZFJlYXNvbmluZ1BvbGljeVZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCbHVlcHJpbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmx1ZXByaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21Nb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21Nb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTW9kZWxEZXBsb3ltZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbU1vZGVsRGVwbG95bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25MaWJyYXJ5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uTGlicmFyeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YUF1dG9tYXRpb25Qcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFBdXRvbWF0aW9uUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXZhbHVhdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZsb3dBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUd1YXJkcmFpbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHdWFyZHJhaWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZVByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS25vd2xlZGdlQmFzZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbENvcHlKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb3B5Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEN1c3RvbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDdXN0b21pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEV2YWx1YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFdmFsdWF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEltcG9ydEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEltcG9ydEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxJbnZvY2F0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsSW52b2NhdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0Um91dGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb21wdFJvdXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvbXB0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9tcHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm92aXNpb25lZE1vZGVsVGhyb3VnaHB1dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VCbHVlcHJpbnRPcHRpbWl6YXRpb25Bc3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRGF0YUF1dG9tYXRpb25Bc3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VEYXRhQXV0b21hdGlvbkFzeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VEYXRhQXV0b21hdGlvbkxpYnJhcnlJbmdlc3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRGF0YUF1dG9tYXRpb25MaWJyYXJ5SW5nZXN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlSW5saW5lQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlSW5saW5lQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCIsXG5cdFx0XCJiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm5cIixcblx0XHRcImJlZHJvY2s6TW9kZWxBcm5cIixcblx0XHRcImJlZHJvY2s6UHJvamVjdEFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIixcblx0XHRcImJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFyblwiLFxuXHRcdFwiYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm5cIixcblx0XHRcImJlZHJvY2s6U2VydmljZVRpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnREYXRhUmV0ZW50aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnREYXRhUmV0ZW50aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpCZWFyZXJUb2tlblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJFQVJFUl9UT0tFTl9UWVBFID0gXCJiZWRyb2NrOkJlYXJlclRva2VuVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFUQV9SRVRFTlRJT05fTU9ERSA9IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHVUFSRFJBSUxfSURFTlRJRklFUiA9IFwiYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOkluZmVyZW5jZVByb2ZpbGVBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElORkVSRU5DRV9QUk9GSUxFX0FSTiA9IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOklubGluZUFnZW50TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5MSU5FX0FHRU5UX05BTUUgPSBcImJlZHJvY2s6SW5saW5lQWdlbnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOk1vZGVsQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUk4gPSBcImJlZHJvY2s6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJlZHJvY2s6UHJvamVjdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPSkVDVF9BUk4gPSBcImJlZHJvY2s6UHJvamVjdEFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpQcm9tcHRSb3V0ZXJBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST01QVF9ST1VURVJfQVJOID0gXCJiZWRyb2NrOlByb21wdFJvdXRlckFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmVkcm9jazpTZXJ2aWNlVGllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9USUVSID0gXCJiZWRyb2NrOlNlcnZpY2VUaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiZWRyb2NrOlRoaXJkUGFydHlLbm93bGVkZ2VCYXNlQ3JlZGVudGlhbHNTZWNyZXRBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRISVJEX1BBUlRZX0tOT1dMRURHRV9CQVNFX0NSRURFTlRJQUxTX1NFQ1JFVF9BUk4gPVxuXHRcdFwiYmVkcm9jazpUaGlyZFBhcnR5S25vd2xlZGdlQmFzZUNyZWRlbnRpYWxzU2VjcmV0QXJuXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6QmVhcmVyVG9rZW5UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOkRhdGFSZXRlbnRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyBkYXRhUmV0ZW50aW9uTW9kZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmVkcm9jazpEYXRhUmV0ZW50aW9uTW9kZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpHdWFyZHJhaWxJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBndWFyZHJhaWxJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOkd1YXJkcmFpbElkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6SW5mZXJlbmNlUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiYmVkcm9jazpJbmZlcmVuY2VQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOklubGluZUFnZW50TmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW5saW5lQWdlbnROYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiZWRyb2NrOklubGluZUFnZW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmVkcm9jazpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlByb2plY3RBcm5gLlxuXHQgKi9cblx0c3RhdGljIHByb2plY3RBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiZWRyb2NrOlByb2plY3RBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6UHJvbXB0Um91dGVyQXJuYC5cblx0ICovXG5cdHN0YXRpYyBwcm9tcHRSb3V0ZXJBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImJlZHJvY2s6UHJvbXB0Um91dGVyQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiZWRyb2NrOlNlcnZpY2VUaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlVGllcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJlZHJvY2s6U2VydmljZVRpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgdGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdEFybkVxdWFsczoge1xuXHRcdFx0XHRcImJlZHJvY2s6VGhpcmRQYXJ0eUtub3dsZWRnZUJhc2VDcmVkZW50aWFsc1NlY3JldEFyblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxufVxuIl19
|