@cdk_utils/iam 1.30.0 → 1.32.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.
Files changed (472) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.d.ts +2 -0
  41. package/lib/generated/services/arc-region-switch.js +7 -5
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.d.ts +24 -0
  50. package/lib/generated/services/aws-external-anthropic.js +44 -4
  51. package/lib/generated/services/aws-marketplace-management.js +1 -1
  52. package/lib/generated/services/aws-marketplace.js +4 -4
  53. package/lib/generated/services/aws-portal.js +1 -1
  54. package/lib/generated/services/awsconnector.js +1 -1
  55. package/lib/generated/services/b2bi.js +4 -4
  56. package/lib/generated/services/backup-gateway.js +4 -4
  57. package/lib/generated/services/backup-search.js +4 -4
  58. package/lib/generated/services/backup-storage.js +1 -1
  59. package/lib/generated/services/backup.js +4 -4
  60. package/lib/generated/services/batch.js +4 -4
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.d.ts +2 -0
  66. package/lib/generated/services/bedrock-agentcore.js +7 -5
  67. package/lib/generated/services/bedrock-mantle.js +3 -3
  68. package/lib/generated/services/bedrock-websearch.js +2 -2
  69. package/lib/generated/services/bedrock.d.ts +8 -0
  70. package/lib/generated/services/bedrock.js +13 -5
  71. package/lib/generated/services/billing.js +4 -4
  72. package/lib/generated/services/billingconductor.js +4 -4
  73. package/lib/generated/services/braket.js +4 -4
  74. package/lib/generated/services/budgets.js +4 -4
  75. package/lib/generated/services/bugbust.js +3 -3
  76. package/lib/generated/services/cases.js +4 -4
  77. package/lib/generated/services/cassandra.js +4 -4
  78. package/lib/generated/services/ce.js +4 -4
  79. package/lib/generated/services/chatbot.js +4 -4
  80. package/lib/generated/services/chime.js +4 -4
  81. package/lib/generated/services/cleanrooms-ml.js +4 -4
  82. package/lib/generated/services/cleanrooms.js +4 -4
  83. package/lib/generated/services/cloud9.js +4 -4
  84. package/lib/generated/services/clouddirectory.js +3 -3
  85. package/lib/generated/services/cloudformation.js +4 -4
  86. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  87. package/lib/generated/services/cloudfront.js +4 -4
  88. package/lib/generated/services/cloudhsm.js +4 -4
  89. package/lib/generated/services/cloudsearch.js +3 -3
  90. package/lib/generated/services/cloudshell.js +3 -3
  91. package/lib/generated/services/cloudtrail-data.js +4 -4
  92. package/lib/generated/services/cloudtrail.js +4 -4
  93. package/lib/generated/services/cloudwatch.d.ts +10 -0
  94. package/lib/generated/services/cloudwatch.js +20 -7
  95. package/lib/generated/services/codeartifact.js +4 -4
  96. package/lib/generated/services/codebuild.js +4 -4
  97. package/lib/generated/services/codecatalyst.js +4 -4
  98. package/lib/generated/services/codecommit.js +4 -4
  99. package/lib/generated/services/codeconnections.js +4 -4
  100. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  101. package/lib/generated/services/codedeploy.js +4 -4
  102. package/lib/generated/services/codeguru-profiler.js +4 -4
  103. package/lib/generated/services/codeguru-reviewer.js +4 -4
  104. package/lib/generated/services/codeguru-security.js +4 -4
  105. package/lib/generated/services/codeguru.js +1 -1
  106. package/lib/generated/services/codepipeline.js +4 -4
  107. package/lib/generated/services/codestar-connections.js +4 -4
  108. package/lib/generated/services/codestar-notifications.js +4 -4
  109. package/lib/generated/services/codestar.js +3 -3
  110. package/lib/generated/services/codewhisperer.js +3 -3
  111. package/lib/generated/services/cognito-identity.js +4 -4
  112. package/lib/generated/services/cognito-idp.js +4 -4
  113. package/lib/generated/services/cognito-sync.js +3 -3
  114. package/lib/generated/services/comprehend.js +4 -4
  115. package/lib/generated/services/comprehendmedical.js +3 -3
  116. package/lib/generated/services/compute-optimizer.js +3 -3
  117. package/lib/generated/services/config.js +4 -4
  118. package/lib/generated/services/connect-campaigns.js +4 -4
  119. package/lib/generated/services/connect.js +4 -4
  120. package/lib/generated/services/consoleapp.js +2 -2
  121. package/lib/generated/services/consolidatedbilling.js +1 -1
  122. package/lib/generated/services/controlcatalog.js +3 -3
  123. package/lib/generated/services/controltower.js +4 -4
  124. package/lib/generated/services/cost-optimization-hub.js +2 -2
  125. package/lib/generated/services/cur.js +4 -4
  126. package/lib/generated/services/customer-verification.js +1 -1
  127. package/lib/generated/services/databrew.js +4 -4
  128. package/lib/generated/services/dataexchange.js +4 -4
  129. package/lib/generated/services/datapipeline.js +4 -4
  130. package/lib/generated/services/datasync.js +4 -4
  131. package/lib/generated/services/datazone.d.ts +28 -0
  132. package/lib/generated/services/datazone.js +47 -5
  133. package/lib/generated/services/dax.js +4 -4
  134. package/lib/generated/services/dbqms.js +1 -1
  135. package/lib/generated/services/deadline.js +4 -4
  136. package/lib/generated/services/detective.js +4 -4
  137. package/lib/generated/services/devicefarm.js +4 -4
  138. package/lib/generated/services/devops-guru.js +4 -4
  139. package/lib/generated/services/directconnect.js +4 -4
  140. package/lib/generated/services/discovery.js +3 -3
  141. package/lib/generated/services/dlm.js +4 -4
  142. package/lib/generated/services/dms.js +4 -4
  143. package/lib/generated/services/docdb-elastic.js +4 -4
  144. package/lib/generated/services/drs.js +4 -4
  145. package/lib/generated/services/ds-data.js +4 -4
  146. package/lib/generated/services/ds.js +4 -4
  147. package/lib/generated/services/dsql.js +4 -4
  148. package/lib/generated/services/dynamodb.js +4 -4
  149. package/lib/generated/services/ebs.js +4 -4
  150. package/lib/generated/services/ec2-instance-connect.js +4 -4
  151. package/lib/generated/services/ec2.d.ts +14 -0
  152. package/lib/generated/services/ec2.js +29 -7
  153. package/lib/generated/services/ec2messages.js +2 -2
  154. package/lib/generated/services/ecr-public.js +4 -4
  155. package/lib/generated/services/ecr.js +4 -4
  156. package/lib/generated/services/ecs-mcp.js +1 -1
  157. package/lib/generated/services/ecs.js +4 -4
  158. package/lib/generated/services/eks-auth.js +4 -4
  159. package/lib/generated/services/eks-mcp.js +1 -1
  160. package/lib/generated/services/eks.js +4 -4
  161. package/lib/generated/services/elasticache.d.ts +10 -0
  162. package/lib/generated/services/elasticache.js +26 -7
  163. package/lib/generated/services/elasticbeanstalk.js +4 -4
  164. package/lib/generated/services/elasticfilesystem.js +4 -4
  165. package/lib/generated/services/elasticloadbalancing.js +4 -4
  166. package/lib/generated/services/elasticmapreduce.js +4 -4
  167. package/lib/generated/services/elastictranscoder.js +2 -2
  168. package/lib/generated/services/elemental-activations.js +1 -1
  169. package/lib/generated/services/elemental-appliances-software.js +2 -2
  170. package/lib/generated/services/elemental-inference.d.ts +6 -0
  171. package/lib/generated/services/elemental-inference.js +23 -8
  172. package/lib/generated/services/elemental-support-cases.js +3 -3
  173. package/lib/generated/services/elemental-support-content.js +1 -1
  174. package/lib/generated/services/emr-containers.js +4 -4
  175. package/lib/generated/services/emr-serverless.js +4 -4
  176. package/lib/generated/services/entityresolution.js +4 -4
  177. package/lib/generated/services/es.js +4 -4
  178. package/lib/generated/services/events.d.ts +28 -0
  179. package/lib/generated/services/events.js +47 -5
  180. package/lib/generated/services/eventsbilltoaws.js +3 -3
  181. package/lib/generated/services/evidently.js +3 -3
  182. package/lib/generated/services/evs.js +4 -4
  183. package/lib/generated/services/execute-api.js +4 -4
  184. package/lib/generated/services/finops-agent.js +1 -1
  185. package/lib/generated/services/finspace-api.js +3 -3
  186. package/lib/generated/services/finspace.js +4 -4
  187. package/lib/generated/services/firehose.js +4 -4
  188. package/lib/generated/services/fis.js +4 -4
  189. package/lib/generated/services/fms.js +4 -4
  190. package/lib/generated/services/forecast.js +4 -4
  191. package/lib/generated/services/frauddetector.js +4 -4
  192. package/lib/generated/services/freertos.js +3 -3
  193. package/lib/generated/services/freetier.js +2 -2
  194. package/lib/generated/services/fsx.js +4 -4
  195. package/lib/generated/services/gamelift.js +4 -4
  196. package/lib/generated/services/gameliftstreams.js +4 -4
  197. package/lib/generated/services/geo-maps.js +3 -3
  198. package/lib/generated/services/geo-places.js +3 -3
  199. package/lib/generated/services/geo-routes.js +3 -3
  200. package/lib/generated/services/geo.js +4 -4
  201. package/lib/generated/services/glacier.js +4 -4
  202. package/lib/generated/services/globalaccelerator.js +4 -4
  203. package/lib/generated/services/glue.js +4 -4
  204. package/lib/generated/services/grafana.js +4 -4
  205. package/lib/generated/services/greengrass.js +4 -4
  206. package/lib/generated/services/groundstation.js +4 -4
  207. package/lib/generated/services/groundtruthlabeling.js +1 -1
  208. package/lib/generated/services/guardduty.js +4 -4
  209. package/lib/generated/services/health-agent.js +4 -4
  210. package/lib/generated/services/health.js +4 -4
  211. package/lib/generated/services/healthlake.js +4 -4
  212. package/lib/generated/services/honeycode.js +2 -2
  213. package/lib/generated/services/iam.js +4 -4
  214. package/lib/generated/services/identity-sync.js +2 -2
  215. package/lib/generated/services/identitystore-auth.js +1 -1
  216. package/lib/generated/services/identitystore.d.ts +6 -0
  217. package/lib/generated/services/identitystore.js +15 -5
  218. package/lib/generated/services/imagebuilder.js +4 -4
  219. package/lib/generated/services/importexport.js +2 -2
  220. package/lib/generated/services/inspector-scan.js +2 -2
  221. package/lib/generated/services/inspector.js +2 -2
  222. package/lib/generated/services/inspector2-telemetry.js +1 -1
  223. package/lib/generated/services/inspector2.js +4 -4
  224. package/lib/generated/services/interconnect.js +4 -4
  225. package/lib/generated/services/internetmonitor.js +4 -4
  226. package/lib/generated/services/invoicing.js +4 -4
  227. package/lib/generated/services/iot-device-tester.js +1 -1
  228. package/lib/generated/services/iot.js +4 -4
  229. package/lib/generated/services/iotanalytics.js +3 -3
  230. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  231. package/lib/generated/services/iotevents.js +3 -3
  232. package/lib/generated/services/iotfleethub.js +3 -3
  233. package/lib/generated/services/iotfleetwise.js +4 -4
  234. package/lib/generated/services/iotjobsdata.js +4 -4
  235. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  236. package/lib/generated/services/iotsitewise.js +4 -4
  237. package/lib/generated/services/iottwinmaker.js +4 -4
  238. package/lib/generated/services/iotwireless.js +4 -4
  239. package/lib/generated/services/iq-permission.js +2 -2
  240. package/lib/generated/services/iq.js +2 -2
  241. package/lib/generated/services/ivs.js +4 -4
  242. package/lib/generated/services/ivschat.js +4 -4
  243. package/lib/generated/services/kafka-cluster.js +3 -3
  244. package/lib/generated/services/kafka.js +4 -4
  245. package/lib/generated/services/kafkaconnect.js +4 -4
  246. package/lib/generated/services/kendra-ranking.js +4 -4
  247. package/lib/generated/services/kendra.js +4 -4
  248. package/lib/generated/services/kinesis.js +4 -4
  249. package/lib/generated/services/kinesisanalytics.js +4 -4
  250. package/lib/generated/services/kinesisvideo.js +4 -4
  251. package/lib/generated/services/kms.js +4 -4
  252. package/lib/generated/services/lakeformation.js +3 -3
  253. package/lib/generated/services/lambda.js +4 -4
  254. package/lib/generated/services/launchwizard.js +4 -4
  255. package/lib/generated/services/lex.js +4 -4
  256. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  257. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  258. package/lib/generated/services/license-manager.js +4 -4
  259. package/lib/generated/services/lightsail.js +4 -4
  260. package/lib/generated/services/logs.js +4 -4
  261. package/lib/generated/services/lookoutequipment.js +4 -4
  262. package/lib/generated/services/lookoutmetrics.js +3 -3
  263. package/lib/generated/services/lookoutvision.js +3 -3
  264. package/lib/generated/services/m2.js +4 -4
  265. package/lib/generated/services/machinelearning.js +3 -3
  266. package/lib/generated/services/macie2.js +4 -4
  267. package/lib/generated/services/managedblockchain-query.js +2 -2
  268. package/lib/generated/services/managedblockchain.js +4 -4
  269. package/lib/generated/services/mapcredits.js +2 -2
  270. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  271. package/lib/generated/services/mechanicalturk.js +2 -2
  272. package/lib/generated/services/mediaconnect.js +4 -4
  273. package/lib/generated/services/mediaconvert.js +9 -6
  274. package/lib/generated/services/mediaimport.js +1 -1
  275. package/lib/generated/services/medialive.js +4 -4
  276. package/lib/generated/services/mediapackage-vod.js +4 -4
  277. package/lib/generated/services/mediapackage.js +4 -4
  278. package/lib/generated/services/mediapackagev2.js +4 -4
  279. package/lib/generated/services/mediastore.js +4 -4
  280. package/lib/generated/services/mediatailor.js +4 -4
  281. package/lib/generated/services/medical-imaging.js +4 -4
  282. package/lib/generated/services/memorydb.js +4 -4
  283. package/lib/generated/services/mgh.js +4 -4
  284. package/lib/generated/services/mgn.js +4 -4
  285. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  286. package/lib/generated/services/migrationhub-strategy.js +2 -2
  287. package/lib/generated/services/mobileanalytics.js +1 -1
  288. package/lib/generated/services/mobiletargeting.js +4 -4
  289. package/lib/generated/services/monitron.js +3 -3
  290. package/lib/generated/services/mpa.js +4 -4
  291. package/lib/generated/services/mq.js +4 -4
  292. package/lib/generated/services/neptune-db.js +4 -4
  293. package/lib/generated/services/neptune-graph.js +4 -4
  294. package/lib/generated/services/network-firewall.js +4 -4
  295. package/lib/generated/services/network-security-director.js +1 -1
  296. package/lib/generated/services/network-security-manager.js +4 -4
  297. package/lib/generated/services/networkflowmonitor.js +4 -4
  298. package/lib/generated/services/networkmanager-chat.js +1 -1
  299. package/lib/generated/services/networkmanager.js +4 -4
  300. package/lib/generated/services/networkmonitor.js +4 -4
  301. package/lib/generated/services/nimble.js +3 -3
  302. package/lib/generated/services/notifications-contacts.js +4 -4
  303. package/lib/generated/services/notifications.js +4 -4
  304. package/lib/generated/services/nova-act.js +3 -3
  305. package/lib/generated/services/oam.js +4 -4
  306. package/lib/generated/services/observabilityadmin.js +4 -4
  307. package/lib/generated/services/odb.js +4 -4
  308. package/lib/generated/services/omics.js +4 -4
  309. package/lib/generated/services/one.js +3 -3
  310. package/lib/generated/services/opensearch.js +3 -3
  311. package/lib/generated/services/opsworks-cm.js +2 -2
  312. package/lib/generated/services/opsworks.js +2 -2
  313. package/lib/generated/services/organizations.js +4 -4
  314. package/lib/generated/services/osis.js +4 -4
  315. package/lib/generated/services/outposts.js +4 -4
  316. package/lib/generated/services/panorama.js +3 -3
  317. package/lib/generated/services/partnercentral-account-management.js +2 -2
  318. package/lib/generated/services/partnercentral.js +4 -4
  319. package/lib/generated/services/payment-cryptography.js +4 -4
  320. package/lib/generated/services/payments.js +3 -3
  321. package/lib/generated/services/pca-connector-ad.js +4 -4
  322. package/lib/generated/services/pca-connector-scep.js +4 -4
  323. package/lib/generated/services/pcs.js +4 -4
  324. package/lib/generated/services/personalize.js +4 -4
  325. package/lib/generated/services/pi.js +4 -4
  326. package/lib/generated/services/pipes.js +4 -4
  327. package/lib/generated/services/polly.js +3 -3
  328. package/lib/generated/services/pricing.js +2 -2
  329. package/lib/generated/services/pricingplanmanager.js +3 -3
  330. package/lib/generated/services/private-networks.js +3 -3
  331. package/lib/generated/services/profile.js +4 -4
  332. package/lib/generated/services/proton.js +4 -4
  333. package/lib/generated/services/purchase-orders.js +3 -3
  334. package/lib/generated/services/q.js +3 -3
  335. package/lib/generated/services/qapps.js +4 -4
  336. package/lib/generated/services/qbusiness.js +4 -4
  337. package/lib/generated/services/qdeveloper.js +3 -3
  338. package/lib/generated/services/qldb.js +3 -3
  339. package/lib/generated/services/quicksight.js +4 -4
  340. package/lib/generated/services/ram.js +4 -4
  341. package/lib/generated/services/rbin.js +4 -4
  342. package/lib/generated/services/rds-data.js +4 -4
  343. package/lib/generated/services/rds-db.js +2 -2
  344. package/lib/generated/services/rds.js +4 -4
  345. package/lib/generated/services/redshift-data.js +4 -4
  346. package/lib/generated/services/redshift-serverless.js +4 -4
  347. package/lib/generated/services/redshift.js +4 -4
  348. package/lib/generated/services/refactor-spaces.js +4 -4
  349. package/lib/generated/services/rekognition.js +4 -4
  350. package/lib/generated/services/repostspace.js +4 -4
  351. package/lib/generated/services/researchstudio.js +1 -1
  352. package/lib/generated/services/resiliencehub.js +4 -4
  353. package/lib/generated/services/resource-explorer-2.js +4 -4
  354. package/lib/generated/services/resource-explorer.js +1 -1
  355. package/lib/generated/services/resource-groups.js +4 -4
  356. package/lib/generated/services/rhelkb.js +1 -1
  357. package/lib/generated/services/robomaker.js +3 -3
  358. package/lib/generated/services/rolesanywhere.js +4 -4
  359. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  360. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  361. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  362. package/lib/generated/services/route53.js +4 -4
  363. package/lib/generated/services/route53domains.js +2 -2
  364. package/lib/generated/services/route53globalresolver.js +4 -4
  365. package/lib/generated/services/route53profiles.js +4 -4
  366. package/lib/generated/services/route53resolver.js +4 -4
  367. package/lib/generated/services/rtbfabric.js +4 -4
  368. package/lib/generated/services/rum.js +4 -4
  369. package/lib/generated/services/s3-object-lambda.js +3 -3
  370. package/lib/generated/services/s3-outposts.js +4 -4
  371. package/lib/generated/services/s3.js +4 -4
  372. package/lib/generated/services/s3express.js +3 -3
  373. package/lib/generated/services/s3files.js +4 -4
  374. package/lib/generated/services/s3tables.js +4 -4
  375. package/lib/generated/services/s3vectors.js +4 -4
  376. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  377. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  378. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  379. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  380. package/lib/generated/services/sagemaker.d.ts +2 -2
  381. package/lib/generated/services/sagemaker.js +11 -10
  382. package/lib/generated/services/savingsplans.js +4 -4
  383. package/lib/generated/services/scheduler.js +4 -4
  384. package/lib/generated/services/schemas.js +4 -4
  385. package/lib/generated/services/scn.js +4 -4
  386. package/lib/generated/services/sdb.js +3 -3
  387. package/lib/generated/services/secretsmanager.js +4 -4
  388. package/lib/generated/services/security-ir.js +4 -4
  389. package/lib/generated/services/securityagent.d.ts +8 -0
  390. package/lib/generated/services/securityagent.js +18 -5
  391. package/lib/generated/services/securityhub.js +4 -4
  392. package/lib/generated/services/securitylake.js +4 -4
  393. package/lib/generated/services/serverlessrepo.js +4 -4
  394. package/lib/generated/services/servicecatalog.js +4 -4
  395. package/lib/generated/services/servicediscovery.js +4 -4
  396. package/lib/generated/services/serviceextract.js +1 -1
  397. package/lib/generated/services/servicequotas.js +4 -4
  398. package/lib/generated/services/ses.js +4 -4
  399. package/lib/generated/services/shield.js +4 -4
  400. package/lib/generated/services/signer.js +4 -4
  401. package/lib/generated/services/signin.js +4 -4
  402. package/lib/generated/services/simspaceweaver.js +3 -3
  403. package/lib/generated/services/sms-voice.js +4 -4
  404. package/lib/generated/services/sms.js +1 -1
  405. package/lib/generated/services/snow-device-management.js +4 -4
  406. package/lib/generated/services/snowball.js +2 -2
  407. package/lib/generated/services/sns.js +4 -4
  408. package/lib/generated/services/social-messaging.d.ts +6 -0
  409. package/lib/generated/services/social-messaging.js +23 -8
  410. package/lib/generated/services/sqlworkbench.js +3 -3
  411. package/lib/generated/services/sqs.js +4 -4
  412. package/lib/generated/services/ssm-contacts.js +4 -4
  413. package/lib/generated/services/ssm-guiconnect.js +2 -2
  414. package/lib/generated/services/ssm-incidents.js +4 -4
  415. package/lib/generated/services/ssm-quicksetup.js +4 -4
  416. package/lib/generated/services/ssm-sap.js +4 -4
  417. package/lib/generated/services/ssm.js +4 -4
  418. package/lib/generated/services/ssmmessages.js +2 -2
  419. package/lib/generated/services/sso-directory.js +1 -1
  420. package/lib/generated/services/sso-oauth.js +3 -3
  421. package/lib/generated/services/sso.js +4 -4
  422. package/lib/generated/services/states.js +4 -4
  423. package/lib/generated/services/storagegateway.js +4 -4
  424. package/lib/generated/services/sts.js +4 -4
  425. package/lib/generated/services/support-console.js +1 -1
  426. package/lib/generated/services/support.js +2 -2
  427. package/lib/generated/services/supportapp.js +2 -2
  428. package/lib/generated/services/supportauthz.js +4 -4
  429. package/lib/generated/services/supportplans.js +1 -1
  430. package/lib/generated/services/sustainability.js +2 -2
  431. package/lib/generated/services/swf.js +4 -4
  432. package/lib/generated/services/synthetics.js +4 -4
  433. package/lib/generated/services/tag.js +2 -2
  434. package/lib/generated/services/tax.js +2 -2
  435. package/lib/generated/services/textract.js +4 -4
  436. package/lib/generated/services/thinclient.js +4 -4
  437. package/lib/generated/services/timestream-influxdb.js +4 -4
  438. package/lib/generated/services/timestream.js +4 -4
  439. package/lib/generated/services/tiros.js +1 -1
  440. package/lib/generated/services/tnb.js +4 -4
  441. package/lib/generated/services/transcribe.js +4 -4
  442. package/lib/generated/services/transfer.js +4 -4
  443. package/lib/generated/services/transform-custom.js +3 -3
  444. package/lib/generated/services/transform.js +3 -3
  445. package/lib/generated/services/translate.js +4 -4
  446. package/lib/generated/services/trustedadvisor.js +3 -3
  447. package/lib/generated/services/ts.js +3 -3
  448. package/lib/generated/services/user-subscriptions.js +2 -2
  449. package/lib/generated/services/uxc.js +2 -2
  450. package/lib/generated/services/vendor-insights.js +3 -3
  451. package/lib/generated/services/verified-access.js +1 -1
  452. package/lib/generated/services/verifiedpermissions.js +4 -4
  453. package/lib/generated/services/voiceid.js +4 -4
  454. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  455. package/lib/generated/services/vpc-lattice.js +4 -4
  456. package/lib/generated/services/vpce.js +2 -2
  457. package/lib/generated/services/waf-regional.js +4 -4
  458. package/lib/generated/services/waf.js +4 -4
  459. package/lib/generated/services/wafv2.js +4 -4
  460. package/lib/generated/services/wam.js +1 -1
  461. package/lib/generated/services/wellarchitected.js +4 -4
  462. package/lib/generated/services/wickr.js +4 -4
  463. package/lib/generated/services/wisdom.js +4 -4
  464. package/lib/generated/services/workdocs.js +3 -3
  465. package/lib/generated/services/worklink.js +3 -3
  466. package/lib/generated/services/workmail.js +4 -4
  467. package/lib/generated/services/workmailmessageflow.js +3 -3
  468. package/lib/generated/services/workspaces-instances.js +4 -4
  469. package/lib/generated/services/workspaces-web.js +4 -4
  470. package/lib/generated/services/workspaces.js +4 -4
  471. package/lib/generated/services/xray.js +4 -4
  472. package/package.json +1 -1
@@ -16,7 +16,7 @@ class ElastiCacheActions {
16
16
  }
17
17
  exports.ElastiCacheActions = ElastiCacheActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ElastiCacheActions[_a] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheActions", version: "1.30.0" };
19
+ ElastiCacheActions[_a] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheActions", version: "1.32.0" };
20
20
  /** The IAM service prefix. */
21
21
  ElastiCacheActions.SERVICE_PREFIX = "elasticache";
22
22
  /** [Tagging] elasticache:AddTagsToResource */
@@ -618,7 +618,7 @@ class ElastiCacheResources {
618
618
  }
619
619
  exports.ElastiCacheResources = ElastiCacheResources;
620
620
  _b = JSII_RTTI_SYMBOL_1;
621
- ElastiCacheResources[_b] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheResources", version: "1.30.0" };
621
+ ElastiCacheResources[_b] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheResources", version: "1.32.0" };
622
622
  /**
623
623
  * API operation to required IAM actions mapping for elasticache.
624
624
  */
@@ -626,7 +626,7 @@ class ElastiCacheOperations {
626
626
  }
627
627
  exports.ElastiCacheOperations = ElastiCacheOperations;
628
628
  _c = JSII_RTTI_SYMBOL_1;
629
- ElastiCacheOperations[_c] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheOperations", version: "1.30.0" };
629
+ ElastiCacheOperations[_c] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheOperations", version: "1.32.0" };
630
630
  /** IAM actions required for the AddTagsToResource API call. */
631
631
  ElastiCacheOperations.AddTagsToResource = [
632
632
  "elasticache:AddTagsToResource",
@@ -1075,7 +1075,7 @@ class ElastiCacheConditions {
1075
1075
  }
1076
1076
  exports.ElastiCacheConditions = ElastiCacheConditions;
1077
1077
  _d = JSII_RTTI_SYMBOL_1;
1078
- ElastiCacheConditions[_d] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheConditions", version: "1.30.0" };
1078
+ ElastiCacheConditions[_d] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheConditions", version: "1.32.0" };
1079
1079
  /** Condition keys applicable to the AddTagsToResource action. */
1080
1080
  ElastiCacheConditions.AddTagsToResourceConditionKeys = [
1081
1081
  "aws:RequestTag/${TagKey}",
@@ -1171,7 +1171,7 @@ ElastiCacheConditions.CreateUserGroupConditionKeys = [
1171
1171
  "aws:ResourceTag/${TagKey}",
1172
1172
  ];
1173
1173
  /** Condition keys applicable to the DecreaseNodeGroupsInGlobalReplicationGroup action. */
1174
- ElastiCacheConditions.DecreaseNodeGroupsInGlobalReplicationGroupConditionKeys = ["elasticache:NumNodeGroups"];
1174
+ ElastiCacheConditions.DecreaseNodeGroupsInGlobalReplicationGroupConditionKeys = ["aws:ResourceTag/${TagKey}", "elasticache:NumNodeGroups"];
1175
1175
  /** Condition keys applicable to the DecreaseReplicaCount action. */
1176
1176
  ElastiCacheConditions.DecreaseReplicaCountConditionKeys = [
1177
1177
  "aws:ResourceTag/${TagKey}",
@@ -1190,6 +1190,10 @@ ElastiCacheConditions.DeleteCacheSecurityGroupConditionKeys = [
1190
1190
  ElastiCacheConditions.DeleteCacheSubnetGroupConditionKeys = [
1191
1191
  "aws:ResourceTag/${TagKey}",
1192
1192
  ];
1193
+ /** Condition keys applicable to the DeleteGlobalReplicationGroup action. */
1194
+ ElastiCacheConditions.DeleteGlobalReplicationGroupConditionKeys = [
1195
+ "aws:ResourceTag/${TagKey}",
1196
+ ];
1193
1197
  /** Condition keys applicable to the DeleteSnapshot action. */
1194
1198
  ElastiCacheConditions.DeleteSnapshotConditionKeys = [
1195
1199
  "aws:ResourceTag/${TagKey}",
@@ -1222,6 +1226,10 @@ ElastiCacheConditions.DescribeCacheSecurityGroupsConditionKeys = [
1222
1226
  ElastiCacheConditions.DescribeCacheSubnetGroupsConditionKeys = [
1223
1227
  "aws:ResourceTag/${TagKey}",
1224
1228
  ];
1229
+ /** Condition keys applicable to the DescribeGlobalReplicationGroups action. */
1230
+ ElastiCacheConditions.DescribeGlobalReplicationGroupsConditionKeys = [
1231
+ "aws:ResourceTag/${TagKey}",
1232
+ ];
1225
1233
  /** Condition keys applicable to the DescribeReplicationGroups action. */
1226
1234
  ElastiCacheConditions.DescribeReplicationGroupsConditionKeys = [
1227
1235
  "aws:ResourceTag/${TagKey}",
@@ -1246,8 +1254,16 @@ ElastiCacheConditions.DescribeUserGroupsConditionKeys = [
1246
1254
  ElastiCacheConditions.DescribeUsersConditionKeys = [
1247
1255
  "aws:ResourceTag/${TagKey}",
1248
1256
  ];
1257
+ /** Condition keys applicable to the DisassociateGlobalReplicationGroup action. */
1258
+ ElastiCacheConditions.DisassociateGlobalReplicationGroupConditionKeys = [
1259
+ "aws:ResourceTag/${TagKey}",
1260
+ ];
1261
+ /** Condition keys applicable to the FailoverGlobalReplicationGroup action. */
1262
+ ElastiCacheConditions.FailoverGlobalReplicationGroupConditionKeys = [
1263
+ "aws:ResourceTag/${TagKey}",
1264
+ ];
1249
1265
  /** Condition keys applicable to the IncreaseNodeGroupsInGlobalReplicationGroup action. */
1250
- ElastiCacheConditions.IncreaseNodeGroupsInGlobalReplicationGroupConditionKeys = ["elasticache:NumNodeGroups"];
1266
+ ElastiCacheConditions.IncreaseNodeGroupsInGlobalReplicationGroupConditionKeys = ["aws:ResourceTag/${TagKey}", "elasticache:NumNodeGroups"];
1251
1267
  /** Condition keys applicable to the IncreaseReplicaCount action. */
1252
1268
  ElastiCacheConditions.IncreaseReplicaCountConditionKeys = [
1253
1269
  "aws:ResourceTag/${TagKey}",
@@ -1280,6 +1296,7 @@ ElastiCacheConditions.ModifyCacheSubnetGroupConditionKeys = [
1280
1296
  ];
1281
1297
  /** Condition keys applicable to the ModifyGlobalReplicationGroup action. */
1282
1298
  ElastiCacheConditions.ModifyGlobalReplicationGroupConditionKeys = [
1299
+ "aws:ResourceTag/${TagKey}",
1283
1300
  "elasticache:AutomaticFailoverEnabled",
1284
1301
  "elasticache:CacheNodeType",
1285
1302
  "elasticache:EngineVersion",
@@ -1305,6 +1322,8 @@ ElastiCacheConditions.PurchaseReservedCacheNodesOfferingConditionKeys = [
1305
1322
  "aws:ResourceTag/${TagKey}",
1306
1323
  "aws:TagKeys",
1307
1324
  ];
1325
+ /** Condition keys applicable to the RebalanceSlotsInGlobalReplicationGroup action. */
1326
+ ElastiCacheConditions.RebalanceSlotsInGlobalReplicationGroupConditionKeys = ["aws:ResourceTag/${TagKey}"];
1308
1327
  /** Condition keys applicable to the RebootCacheCluster action. */
1309
1328
  ElastiCacheConditions.RebootCacheClusterConditionKeys = [
1310
1329
  "aws:ResourceTag/${TagKey}",
@@ -1383,4 +1402,4 @@ ElastiCacheConditions.SNAPSHOT_RETENTION_LIMIT = "elasticache:SnapshotRetentionL
1383
1402
  ElastiCacheConditions.TRANSIT_ENCRYPTION_ENABLED = "elasticache:TransitEncryptionEnabled";
1384
1403
  /** Condition key: elasticache:UserAuthenticationMode (String) */
1385
1404
  ElastiCacheConditions.USER_AUTHENTICATION_MODE = "elasticache:UserAuthenticationMode";
1386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2VsYXN0aWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7QUFBL0IsZ0RBOFJDOzs7QUE3UkEsOEJBQThCO0FBQ2QsaUNBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0MsOENBQThDO0FBQzlCLG9DQUFpQixHQUFHLCtCQUErQixDQUFDO0FBQ3BFLDZEQUE2RDtBQUM3QyxxREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsaURBQWlEO0FBQ2pDLHlDQUFzQixHQUFHLG9DQUFvQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx3Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSw0Q0FBNEM7QUFDNUIsb0NBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDcEUsa0NBQWtDO0FBQ2xCLDBCQUFPLEdBQUcscUJBQXFCLENBQUM7QUFDaEQsc0RBQXNEO0FBQ3RDLDhDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQyx1Q0FBdUM7QUFDdkIsK0JBQVksR0FBRywwQkFBMEIsQ0FBQztBQUMxRCw2Q0FBNkM7QUFDN0IscUNBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDdEUsb0RBQW9EO0FBQ3BDLDRDQUF5QixHQUN4Qyx1Q0FBdUMsQ0FBQztBQUN6QyxtREFBbUQ7QUFDbkMsMkNBQXdCLEdBQ3ZDLHNDQUFzQyxDQUFDO0FBQ3hDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUM5RSx1REFBdUQ7QUFDdkMsK0NBQTRCLEdBQzNDLDBDQUEwQyxDQUFDO0FBQzVDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FB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ekMsc0NBQXNDLENBQUM7QUFDeEMsaUVBQWlFO0FBQ2pELDhDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2VsYXN0aWNhY2hlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBlbGFzdGljYWNoZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiZWxhc3RpY2FjaGVcIjtcblxuXHQvKiogW1RhZ2dpbmddIGVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9SZXNvdXJjZSA9IFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6QXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkJhdGNoQXBwbHlVcGRhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQXBwbHlVcGRhdGVBY3Rpb24gPSBcImVsYXN0aWNhY2hlOkJhdGNoQXBwbHlVcGRhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6QmF0Y2hTdG9wVXBkYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFN0b3BVcGRhdGVBY3Rpb24gPSBcImVsYXN0aWNhY2hlOkJhdGNoU3RvcFVwZGF0ZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDb21wbGV0ZU1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVNaWdyYXRpb24gPSBcImVsYXN0aWNhY2hlOkNvbXBsZXRlTWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNvbm5lY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbm5lY3QgPSBcImVsYXN0aWNhY2hlOkNvbm5lY3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNvcHlTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNuYXBzaG90ID0gXCJlbGFzdGljYWNoZTpDb3B5U25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZUNsdXN0ZXIgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU3VibmV0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU3VibmV0R3JvdXAgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU3VibmV0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uR3JvdXAgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZVJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGUgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNuYXBzaG90ID0gXCJlbGFzdGljYWNoZTpDcmVhdGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyID0gXCJlbGFzdGljYWNoZTpDcmVhdGVVc2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVVzZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckdyb3VwID0gXCJlbGFzdGljYWNoZTpDcmVhdGVVc2VyR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlY3JlYXNlUmVwbGljYUNvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVJlcGxpY2FDb3VudCA9IFwiZWxhc3RpY2FjaGU6RGVjcmVhc2VSZXBsaWNhQ291bnRcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZUNsdXN0ZXIgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU3VibmV0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU3VibmV0R3JvdXAgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU3VibmV0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uR3JvdXAgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZVJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGUgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNuYXBzaG90ID0gXCJlbGFzdGljYWNoZTpEZWxldGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyID0gXCJlbGFzdGljYWNoZTpEZWxldGVVc2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVVzZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckdyb3VwID0gXCJlbGFzdGljYWNoZTpEZWxldGVVc2VyR3JvdXBcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlQ2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVDbHVzdGVycyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUNsdXN0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZUV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90cyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmljZVVwZGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZVVwZGF0ZXMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmljZVVwZGF0ZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbmFwc2hvdHMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlU25hcHNob3RzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVVcGRhdGVBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVwZGF0ZUFjdGlvbnMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXBkYXRlQWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlckdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyR3JvdXBzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpJbmNyZWFzZVJlcGxpY2FDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5jcmVhc2VSZXBsaWNhQ291bnQgPSBcImVsYXN0aWNhY2hlOkluY3JlYXNlUmVwbGljYUNvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkludGVycnVwdENsdXN0ZXJBelBvd2VyICovXG5cdHN0YXRpYyByZWFkb25seSBJbnRlcnJ1cHRDbHVzdGVyQXpQb3dlciA9XG5cdFx0XCJlbGFzdGljYWNoZTpJbnRlcnJ1cHRDbHVzdGVyQXpQb3dlclwiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyA9XG5cdFx0XCJlbGFzdGljYWNoZTpMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNhY2hlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImVsYXN0aWNhY2hlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZUNsdXN0ZXIgPSBcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVTdWJuZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cCA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVTdWJuZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cCA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uID1cblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5U2VydmVybGVzc0NhY2hlICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGUgPSBcImVsYXN0aWNhY2hlOk1vZGlmeVNlcnZlcmxlc3NDYWNoZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlVc2VyICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyID0gXCJlbGFzdGljYWNoZTpNb2RpZnlVc2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVVzZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlckdyb3VwID0gXCJlbGFzdGljYWNoZTpNb2RpZnlVc2VyR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyA9XG5cdFx0XCJlbGFzdGljYWNoZTpQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpSZWJvb3RDYWNoZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdENhY2hlQ2x1c3RlciA9IFwiZWxhc3RpY2FjaGU6UmVib290Q2FjaGVDbHVzdGVyXCI7XG5cdC8qKiBbVGFnZ2luZ10gZWxhc3RpY2FjaGU6UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSA9IFwiZWxhc3RpY2FjaGU6UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlN0YXJ0TWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1pZ3JhdGlvbiA9IFwiZWxhc3RpY2FjaGU6U3RhcnRNaWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6VGVzdEZhaWxvdmVyICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0RmFpbG92ZXIgPSBcImVsYXN0aWNhY2hlOlRlc3RGYWlsb3ZlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpUZXN0TWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0TWlncmF0aW9uID0gXCJlbGFzdGljYWNoZTpUZXN0TWlncmF0aW9uXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkJhdGNoQXBwbHlVcGRhdGVBY3Rpb24sXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkJhdGNoU3RvcFVwZGF0ZUFjdGlvbixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ29tcGxldGVNaWdyYXRpb24sXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNvbm5lY3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ29weVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVDYWNoZUNsdXN0ZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlU2VydmVybGVzc0NhY2hlLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVVzZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVVzZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWNyZWFzZVJlcGxpY2FDb3VudCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlQ2FjaGVDbHVzdGVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZUNhY2hlU3VibmV0R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVNlcnZlcmxlc3NDYWNoZSxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVVc2VyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVVc2VyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5GYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuSW5jcmVhc2VSZXBsaWNhQ291bnQsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkludGVycnVwdENsdXN0ZXJBelBvd2VyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlDYWNoZUNsdXN0ZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeUNhY2hlU3VibmV0R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb24sXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVNlcnZlcmxlc3NDYWNoZSxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5VXNlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5VXNlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5QdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5SZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmVib290Q2FjaGVDbHVzdGVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5SZXNldENhY2hlUGFyYW1ldGVyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlN0YXJ0TWlncmF0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5UZXN0RmFpbG92ZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlRlc3RNaWdyYXRpb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlQ2x1c3RlcnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVFdmVudHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU2VydmVybGVzc0NhY2hlcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVTZXJ2aWNlVXBkYXRlcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVTbmFwc2hvdHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlVXBkYXRlQWN0aW9ucyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVVc2VyR3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVVzZXJzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5MaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkFkZFRhZ3NUb1Jlc291cmNlLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5SZW1vdmVUYWdzRnJvbVJlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVDbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENhY2hlQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYWNoZUNsdXN0ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FjaGVDbHVzdGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWNoZUNsdXN0ZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ2xvYmFscmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ2xvYmFsUmVwbGljYXRpb25Hcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZUdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBnbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBhcmFtZXRlcmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVBhcmFtZXRlcmdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIENhY2hlUGFyYW1ldGVyR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYWNoZVBhcmFtZXRlckdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBhcmFtZXRlcmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVBhcmFtZXRlcmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYWNoZVBhcmFtZXRlckdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXBsaWNhdGlvbmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVJlcGxpY2F0aW9uZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Hcm91cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkdyb3VwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXBsaWNhdGlvbmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVJlcGxpY2F0aW9uZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uR3JvdXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlcGxpY2F0aW9uR3JvdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzZXJ2ZWQtaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlUmVzZXJ2ZWRJbnN0YW5jZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNlcnZlZENhY2hlTm9kZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNlcnZlZENhY2hlTm9kZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVzZXJ2ZWQtaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlUmVzZXJ2ZWRJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzZXJ2ZWRDYWNoZU5vZGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc2VydmVkQ2FjaGVOb2RlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlY3VyaXR5Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VjdXJpdHlncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBDYWNoZVNlY3VyaXR5R3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYWNoZVNlY3VyaXR5R3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VjdXJpdHlncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZWN1cml0eWdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYWNoZVNlY3VyaXR5R3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FjaGVTZWN1cml0eUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmVybGVzc2NhY2hlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2ZXJsZXNzQ2FjaGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2ZXJsZXNzQ2FjaGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmVybGVzc2NhY2hlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmVybGVzc0NhY2hlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZlcmxlc3NDYWNoZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmVybGVzc2NhY2hlc25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU25hcHNob3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU25hcHNob3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzbmFwc2hvdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU25hcHNob3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc25hcHNob3ROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzdWJuZXRncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTdWJuZXRncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBDYWNoZVN1Ym5ldEdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVTdWJuZXRHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzdWJuZXRncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTdWJuZXRncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FjaGVTdWJuZXRHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWNoZVN1Ym5ldEdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdXNlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVVc2VyQXJuUHJvcHMge1xuXHQvKiogVGhlIFVzZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdXNlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVVc2VyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHVzZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVVc2VyZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVXNlckdyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJHcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdXNlcmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVVzZXJncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlckdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VyR3JvdXBJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3RlcjooPzxjYWNoZUNsdXN0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgR2xvYmFscmVwbGljYXRpb25ncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTo6KD88YWNjb3VudD5bXjpdKik6Z2xvYmFscmVwbGljYXRpb25ncm91cDooPzxnbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQ+W146Lz9dKykkLztcbmNvbnN0IFBhcmFtZXRlcmdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGFyYW1ldGVyZ3JvdXA6KD88Y2FjaGVQYXJhbWV0ZXJHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXBsaWNhdGlvbmdyb3VwOig/PHJlcGxpY2F0aW9uR3JvdXBJZD5bXjovP10rKSQvO1xuY29uc3QgUmVzZXJ2ZWRJbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc2VydmVkLWluc3RhbmNlOig/PHJlc2VydmVkQ2FjaGVOb2RlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlY3VyaXR5Z3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZWN1cml0eWdyb3VwOig/PGNhY2hlU2VjdXJpdHlHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlcnZlcmxlc3NjYWNoZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZlcmxlc3NjYWNoZTooPzxzZXJ2ZXJsZXNzQ2FjaGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZlcmxlc3NjYWNoZXNuYXBzaG90Oig/PHNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZT5bXjovP10rKSQvO1xuY29uc3QgU25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzbmFwc2hvdDooPzxzbmFwc2hvdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFN1Ym5ldGdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3VibmV0Z3JvdXA6KD88Y2FjaGVTdWJuZXRHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFVzZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp1c2VyOig/PHVzZXJJZD5bXjovP10rKSQvO1xuY29uc3QgVXNlcmdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dXNlcmdyb3VwOig/PHVzZXJHcm91cElkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgZWxhc3RpY2FjaGUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcihwcm9wczogRWxhc3RpQ2FjaGVDbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXI6JHtwcm9wcy5jYWNoZUNsdXN0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlckFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2x1c3RlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhY2hlQ2x1c3RlcklkOiBtYXRjaC5ncm91cHMhLmNhY2hlQ2x1c3RlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZ2xvYmFscmVwbGljYXRpb25ncm91cChcblx0XHRwcm9wczogRWxhc3RpQ2FjaGVHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Z2xvYmFscmVwbGljYXRpb25ncm91cDoke3Byb3BzLmdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZ2xvYmFscmVwbGljYXRpb25ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkR2xvYmFscmVwbGljYXRpb25ncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlR2xvYmFscmVwbGljYXRpb25ncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Z2xvYmFsUmVwbGljYXRpb25Hcm91cElkOiBtYXRjaC5ncm91cHMhLmdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXJhbWV0ZXJncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXJhbWV0ZXJncm91cChwcm9wczogRWxhc3RpQ2FjaGVQYXJhbWV0ZXJncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXJhbWV0ZXJncm91cDoke3Byb3BzLmNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXJhbWV0ZXJncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGFyYW1ldGVyZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGFyYW1ldGVyZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGFyYW1ldGVyZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGFyYW1ldGVyZ3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlUGFyYW1ldGVyZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBhcmFtZXRlcmdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcmFtZXRlcmdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlcGxpY2F0aW9uZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXRpb25ncm91cChwcm9wczogRWxhc3RpQ2FjaGVSZXBsaWNhdGlvbmdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlcGxpY2F0aW9uZ3JvdXA6JHtwcm9wcy5yZXBsaWNhdGlvbkdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlcGxpY2F0aW9uZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlcGxpY2F0aW9uZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVwbGljYXRpb25ncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXBsaWNhdGlvbmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uZ3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlUmVwbGljYXRpb25ncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25ncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXBsaWNhdGlvbmdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlcGxpY2F0aW9uR3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5yZXBsaWNhdGlvbkdyb3VwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzZXJ2ZWQtaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzZXJ2ZWRJbnN0YW5jZShwcm9wczogRWxhc3RpQ2FjaGVSZXNlcnZlZEluc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc2VydmVkLWluc3RhbmNlOiR7cHJvcHMucmVzZXJ2ZWRDYWNoZU5vZGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzZXJ2ZWQtaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc2VydmVkSW5zdGFuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzZXJ2ZWRJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNlcnZlZC1pbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNlcnZlZEluc3RhbmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVJlc2VydmVkSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc2VydmVkSW5zdGFuY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVzZXJ2ZWQtaW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzZXJ2ZWRDYWNoZU5vZGVJZDogbWF0Y2guZ3JvdXBzIS5yZXNlcnZlZENhY2hlTm9kZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlY3VyaXR5Z3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VjdXJpdHlncm91cChwcm9wczogRWxhc3RpQ2FjaGVTZWN1cml0eWdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlY3VyaXR5Z3JvdXA6JHtwcm9wcy5jYWNoZVNlY3VyaXR5R3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZWN1cml0eWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZWN1cml0eWdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlY3VyaXR5Z3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VjdXJpdHlncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZWN1cml0eWdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVNlY3VyaXR5Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlY3VyaXR5Z3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VjdXJpdHlncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYWNoZVNlY3VyaXR5R3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmNhY2hlU2VjdXJpdHlHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmVybGVzc2NhY2hlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZlcmxlc3NjYWNoZShwcm9wczogRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmVybGVzc2NhY2hlOiR7cHJvcHMuc2VydmVybGVzc0NhY2hlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmVybGVzc2NhY2hlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2ZXJsZXNzY2FjaGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmVybGVzc2NhY2hlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZlcmxlc3NjYWNoZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2ZXJsZXNzY2FjaGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2ZXJsZXNzY2FjaGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmVybGVzc2NhY2hlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZlcmxlc3NDYWNoZU5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmVybGVzc0NhY2hlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdChcblx0XHRwcm9wczogRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZlcmxlc3NjYWNoZXNuYXBzaG90OiR7cHJvcHMuc2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmVybGVzc2NhY2hlc25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc25hcHNob3QocHJvcHM6IEVsYXN0aUNhY2hlU25hcHNob3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c25hcHNob3Q6JHtwcm9wcy5zbmFwc2hvdE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTbmFwc2hvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTbmFwc2hvdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzbmFwc2hvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTbmFwc2hvdEFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNuYXBzaG90QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNuYXBzaG90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNuYXBzaG90TmFtZTogbWF0Y2guZ3JvdXBzIS5zbmFwc2hvdE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3VibmV0Z3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3VibmV0Z3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3VibmV0Z3JvdXA6JHtwcm9wcy5jYWNoZVN1Ym5ldEdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3VibmV0Z3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN1Ym5ldGdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN1Ym5ldGdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHN1Ym5ldGdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN1Ym5ldGdyb3VwQXJuKGFybjogc3RyaW5nKTogRWxhc3RpQ2FjaGVTdWJuZXRncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3VibmV0Z3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3VibmV0Z3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FjaGVTdWJuZXRHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuY2FjaGVTdWJuZXRHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdXNlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB1c2VyKHByb3BzOiBFbGFzdGlDYWNoZVVzZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dXNlcjoke3Byb3BzLnVzZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdXNlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVXNlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBVc2VyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHVzZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVXNlckFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlVXNlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVXNlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB1c2VyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHVzZXJJZDogbWF0Y2guZ3JvdXBzIS51c2VySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdXNlcmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHVzZXJncm91cChwcm9wczogRWxhc3RpQ2FjaGVVc2VyZ3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dXNlcmdyb3VwOiR7cHJvcHMudXNlckdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHVzZXJncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVXNlcmdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFVzZXJncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB1c2VyZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVXNlcmdyb3VwQXJuKGFybjogc3RyaW5nKTogRWxhc3RpQ2FjaGVVc2VyZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFVzZXJncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB1c2VyZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dXNlckdyb3VwSWQ6IG1hdGNoLmdyb3VwcyEudXNlckdyb3VwSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgZWxhc3RpY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGlDYWNoZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRUYWdzVG9SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQXBwbHlVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QmF0Y2hBcHBseVVwZGF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFN0b3BVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFN0b3BVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QmF0Y2hTdG9wVXBkYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlTWlncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVNaWdyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6Q29tcGxldGVNaWdyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29weVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDb3B5U25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FjaGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU3VibmV0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU3VibmV0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVXNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVVzZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVXNlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVVc2VyR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWNyZWFzZVJlcGxpY2FDb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlUmVwbGljYUNvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlY3JlYXNlUmVwbGljYUNvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhY2hlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTbmFwc2hvdFwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVDbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3RcIixcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZVJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmVybGVzc0NhY2hlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmVybGVzc0NhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlbGV0ZVNuYXBzaG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlcjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpEZWxldGVVc2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVVc2VyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyR3JvdXA6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6RGVsZXRlVXNlckdyb3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlQ2x1c3RlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlQ2x1c3RlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUNsdXN0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudHM6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6RGVzY3JpYmVFdmVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90czogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmljZVVwZGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmljZVVwZGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNuYXBzaG90czogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNuYXBzaG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVwZGF0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVcGRhdGVBY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVXNlckdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlckdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVc2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlcnM6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2Vyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmNyZWFzZVJlcGxpY2FDb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlUmVwbGljYUNvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkluY3JlYXNlUmVwbGljYUNvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDYWNoZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVDbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlU3VibmV0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVTdWJuZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5U2VydmVybGVzc0NhY2hlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOk1vZGlmeVVzZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVVzZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVVzZXJHcm91cDogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpNb2RpZnlVc2VyR3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290Q2FjaGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290Q2FjaGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJlYm9vdENhY2hlQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpSZW1vdmVUYWdzRnJvbVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWlncmF0aW9uOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOlN0YXJ0TWlncmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXN0RmFpbG92ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0RmFpbG92ZXI6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6VGVzdEZhaWxvdmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXN0TWlncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdE1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpUZXN0TWlncmF0aW9uXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZWxhc3RpY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGlDYWNoZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWRkVGFnc1RvUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBCYXRjaFN0b3BVcGRhdGVBY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDb21wbGV0ZU1pZ3JhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZU1pZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29ubmVjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDb25uZWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDb3B5U25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpLbXNLZXlJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FjaGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVVzZXJHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlY3JlYXNlUmVwbGljYUNvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlUmVwbGljYUNvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVVc2VyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhY2hlQ2x1c3RlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlU25hcHNob3RzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVzZXJHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVzZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluY3JlYXNlUmVwbGljYUNvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlUmVwbGljYUNvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWRcIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIixcblx0XHRcImVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5VXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlVc2VyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlYm9vdENhY2hlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RDYWNoZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0TWlncmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWlncmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXN0RmFpbG92ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEZhaWxvdmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXN0TWlncmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RNaWdyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpBdFJlc3RFbmNyeXB0aW9uRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFUX1JFU1RfRU5DUllQVElPTl9FTkFCTEVEID1cblx0XHRcImVsYXN0aWNhY2hlOkF0UmVzdEVuY3J5cHRpb25FbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpBdXRoVG9rZW5FbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVVUSF9UT0tFTl9FTkFCTEVEID0gXCJlbGFzdGljYWNoZTpBdXRoVG9rZW5FbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRPTUFUSUNfRkFJTE9WRVJfRU5BQkxFRCA9XG5cdFx0XCJlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENBQ0hFX05PREVfVFlQRSA9IFwiZWxhc3RpY2FjaGU6Q2FjaGVOb2RlVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENBQ0hFX1BBUkFNRVRFUl9HUk9VUF9OQU1FID1cblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpDbHVzdGVyTW9kZUVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBDTFVTVEVSX01PREVfRU5BQkxFRCA9IFwiZWxhc3RpY2FjaGU6Q2x1c3Rlck1vZGVFbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERBVEFfU1RPUkFHRV9VTklUID0gXCJlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkR1cmFiaWxpdHkgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERVUkFCSUxJVFkgPSBcImVsYXN0aWNhY2hlOkR1cmFiaWxpdHlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkVuZ2luZVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOR0lORV9UWVBFID0gXCJlbGFzdGljYWNoZTpFbmdpbmVUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpFbmdpbmVWZXJzaW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkdJTkVfVkVSU0lPTiA9IFwiZWxhc3RpY2FjaGU6RW5naW5lVmVyc2lvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6S21zS2V5SWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtNU19LRVlfSUQgPSBcImVsYXN0aWNhY2hlOkttc0tleUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpNYXhpbXVtRGF0YVN0b3JhZ2UgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNQVhJTVVNX0RBVEFfU1RPUkFHRSA9IFwiZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpNYXhpbXVtRUNQVVBlclNlY29uZCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1BWElNVU1fRUNQVV9QRVJfU0VDT05EID0gXCJlbGFzdGljYWNoZTpNYXhpbXVtRUNQVVBlclNlY29uZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWluaW11bURhdGFTdG9yYWdlIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9EQVRBX1NUT1JBR0UgPSBcImVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmQgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNSU5JTVVNX0VDUFVfUEVSX1NFQ09ORCA9IFwiZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTVVMVElfQVpfRU5BQkxFRCA9IFwiZWxhc3RpY2FjaGU6TXVsdGlBWkVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHMgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBOVU1fTk9ERV9HUk9VUFMgPSBcImVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOlJlcGxpY2FzUGVyTm9kZUdyb3VwIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVQTElDQVNfUEVSX05PREVfR1JPVVAgPSBcImVsYXN0aWNhY2hlOlJlcGxpY2FzUGVyTm9kZUdyb3VwXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU05BUFNIT1RfUkVURU5USU9OX0xJTUlUID1cblx0XHRcImVsYXN0aWNhY2hlOlNuYXBzaG90UmV0ZW50aW9uTGltaXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOlRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRSQU5TSVRfRU5DUllQVElPTl9FTkFCTEVEID1cblx0XHRcImVsYXN0aWNhY2hlOlRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6VXNlckF1dGhlbnRpY2F0aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9BVVRIRU5USUNBVElPTl9NT0RFID1cblx0XHRcImVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGVcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIGF0UmVzdEVuY3J5cHRpb25FbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpBdFJlc3RFbmNyeXB0aW9uRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0aFRva2VuRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVsYXN0aWNhY2hlOkF1dG9tYXRpY0ZhaWxvdmVyRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6Q2FjaGVOb2RlVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2FjaGVOb2RlVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lYC5cblx0ICovXG5cdHN0YXRpYyBjYWNoZVBhcmFtZXRlckdyb3VwTmFtZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNsdXN0ZXJNb2RlRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlck1vZGVFbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpDbHVzdGVyTW9kZUVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkRhdGFTdG9yYWdlVW5pdGAuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVN0b3JhZ2VVbml0KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkR1cmFiaWxpdHlgLlxuXHQgKi9cblx0c3RhdGljIGR1cmFiaWxpdHkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpEdXJhYmlsaXR5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpFbmdpbmVUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBlbmdpbmVUeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RW5naW5lVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6RW5naW5lVmVyc2lvbmAuXG5cdCAqL1xuXHRzdGF0aWMgZW5naW5lVmVyc2lvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkttc0tleUlkYC5cblx0ICovXG5cdHN0YXRpYyBrbXNLZXlJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkttc0tleUlkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpNYXhpbXVtRGF0YVN0b3JhZ2VgLlxuXHQgKi9cblx0c3RhdGljIG1heGltdW1EYXRhU3RvcmFnZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1heGltdW1EYXRhU3RvcmFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWF4aW11bUVDUFVQZXJTZWNvbmRgLlxuXHQgKi9cblx0c3RhdGljIG1heGltdW1FY3B1UGVyU2Vjb25kKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TWF4aW11bUVDUFVQZXJTZWNvbmRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgbWluaW11bURhdGFTdG9yYWdlKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TWluaW11bURhdGFTdG9yYWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpNaW5pbXVtRUNQVVBlclNlY29uZGAuXG5cdCAqL1xuXHRzdGF0aWMgbWluaW11bUVjcHVQZXJTZWNvbmQoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpNaW5pbXVtRUNQVVBlclNlY29uZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TXVsdGlBWkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIG11bHRpQXpFbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpNdWx0aUFaRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc2AuXG5cdCAqL1xuXHRzdGF0aWMgbnVtTm9kZUdyb3Vwcyh2YWx1ZTogbnVtYmVyKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cGAuXG5cdCAqL1xuXHRzdGF0aWMgcmVwbGljYXNQZXJOb2RlR3JvdXAoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6U25hcHNob3RSZXRlbnRpb25MaW1pdGAuXG5cdCAqL1xuXHRzdGF0aWMgc25hcHNob3RSZXRlbnRpb25MaW1pdChcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOlNuYXBzaG90UmV0ZW50aW9uTGltaXRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOlRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgdHJhbnNpdEVuY3J5cHRpb25FbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGVgLlxuXHQgKi9cblx0c3RhdGljIHVzZXJBdXRoZW50aWNhdGlvbk1vZGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
1405
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2VsYXN0aWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7QUFBL0IsZ0RBOFJDOzs7QUE3UkEsOEJBQThCO0FBQ2QsaUNBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0MsOENBQThDO0FBQzlCLG9DQUFpQixHQUFHLCtCQUErQixDQUFDO0FBQ3BFLDZEQUE2RDtBQUM3QyxxREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsaURBQWlEO0FBQ2pDLHlDQUFzQixHQUFHLG9DQUFvQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx3Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSw0Q0FBNEM7QUFDNUIsb0NBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDcEUsa0NBQWtDO0FBQ2xCLDBCQUFPLEdBQUcscUJBQXFCLENBQUM7QUFDaEQsc0RBQXNEO0FBQ3RDLDhDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQyx1Q0FBdUM7QUFDdkIsK0JBQVksR0FBRywwQkFBMEIsQ0FBQztBQUMxRCw2Q0FBNkM7QUFDN0IscUNBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDdEUsb0RBQW9EO0FBQ3BDLDRDQUF5QixHQUN4Qyx1Q0FBdUMsQ0FBQztBQUN6QyxtREFBbUQ7QUFDbkMsMkNBQXdCLEdBQ3ZDLHNDQUFzQyxDQUFDO0FBQ3hDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUM5RSx1REFBdUQ7QUFDdkMsK0NBQTRCLEdBQzNDLDBDQUEwQyxDQUFDO0FBQzVDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FB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dUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSw4REFBOEQ7QUFDOUMsMENBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsZ0VBQWdFO0FBQ2hELDZDQUF1QixHQUFHLGtDQUFrQyxDQUFDO0FBQzdFLHVEQUF1RDtBQUN2QyxzQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx5REFBeUQ7QUFDekMscUNBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnRUFBZ0U7QUFDaEQsNkNBQXVCLEdBQUcsa0NBQWtDLENBQUM7QUFDN0Usa0VBQWtFO0FBQ2xELDhDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QyxpRUFBaUU7QUFDakQsZ0RBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLGlFQUFpRTtBQUNqRCw4Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9lbGFzdGljYWNoZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgZWxhc3RpY2FjaGUgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImVsYXN0aWNhY2hlXCI7XG5cblx0LyoqIFtUYWdnaW5nXSBlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2UgPSBcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgPVxuXHRcdFwiZWxhc3RpY2FjaGU6QXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpCYXRjaEFwcGx5VXBkYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uID0gXCJlbGFzdGljYWNoZTpCYXRjaEFwcGx5VXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkJhdGNoU3RvcFVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uID0gXCJlbGFzdGljYWNoZTpCYXRjaFN0b3BVcGRhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q29tcGxldGVNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTWlncmF0aW9uID0gXCJlbGFzdGljYWNoZTpDb21wbGV0ZU1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDb25uZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDb25uZWN0ID0gXCJlbGFzdGljYWNoZTpDb25uZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDb3B5U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdCA9IFwiZWxhc3RpY2FjaGU6Q29weVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwID0gXCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwID0gXCJlbGFzdGljYWNoZTpDcmVhdGVSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlID0gXCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbmFwc2hvdCA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlciA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVVc2VyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJHcm91cCA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWNyZWFzZVJlcGxpY2FDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VSZXBsaWNhQ291bnQgPSBcImVsYXN0aWNhY2hlOkRlY3JlYXNlUmVwbGljYUNvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVDYWNoZVN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwID0gXCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwID0gXCJlbGFzdGljYWNoZTpEZWxldGVSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmVybGVzc0NhY2hlID0gXCJlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbmFwc2hvdCA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlciA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlVXNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVVc2VyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJHcm91cCA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlVXNlckdyb3VwXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUNsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlQ2x1c3RlcnMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVycyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50cyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmVybGVzc0NhY2hlcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZpY2VVcGRhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZpY2VVcGRhdGVzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVNuYXBzaG90c1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlVXBkYXRlQWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVVwZGF0ZUFjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlckdyb3VwcyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VyR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VycyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2Vyc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6SW5jcmVhc2VSZXBsaWNhQ291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlUmVwbGljYUNvdW50ID0gXCJlbGFzdGljYWNoZTpJbmNyZWFzZVJlcGxpY2FDb3VudFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpJbnRlcnJ1cHRDbHVzdGVyQXpQb3dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXIgPVxuXHRcdFwiZWxhc3RpY2FjaGU6SW50ZXJydXB0Q2x1c3RlckF6UG93ZXJcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6TGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljYWNoZTpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJlbGFzdGljYWNoZTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlU3VibmV0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgPSBcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlU3VibmV0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgPSBcImVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVNlcnZlcmxlc3NDYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2VydmVybGVzc0NhY2hlID0gXCJlbGFzdGljYWNoZTpNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5VXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlciA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlVc2VyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVVzZXJHcm91cCA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UmVib290Q2FjaGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RDYWNoZUNsdXN0ZXIgPSBcImVsYXN0aWNhY2hlOlJlYm9vdENhY2hlQ2x1c3RlclwiO1xuXHQvKiogW1RhZ2dpbmddIGVsYXN0aWNhY2hlOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgPSBcImVsYXN0aWNhY2hlOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpTdGFydE1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNaWdyYXRpb24gPSBcImVsYXN0aWNhY2hlOlN0YXJ0TWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlRlc3RGYWlsb3ZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEZhaWxvdmVyID0gXCJlbGFzdGljYWNoZTpUZXN0RmFpbG92ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6VGVzdE1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdE1pZ3JhdGlvbiA9IFwiZWxhc3RpY2FjaGU6VGVzdE1pZ3JhdGlvblwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5BdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5CYXRjaEFwcGx5VXBkYXRlQWN0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5CYXRjaFN0b3BVcGRhdGVBY3Rpb24sXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNvbXBsZXRlTWlncmF0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Db25uZWN0LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Db3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNvcHlTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlQ2FjaGVDbHVzdGVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUNhY2hlU3VibmV0R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVNlcnZlcmxlc3NDYWNoZSxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVVc2VyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVVc2VyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVjcmVhc2VSZXBsaWNhQ291bnQsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZUNhY2hlQ2x1c3Rlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVDYWNoZVN1Ym5ldEdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVTZXJ2ZXJsZXNzQ2FjaGUsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlVXNlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlVXNlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5FeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5JbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkluY3JlYXNlUmVwbGljYUNvdW50LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5JbnRlcnJ1cHRDbHVzdGVyQXpQb3dlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5Q2FjaGVDbHVzdGVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlDYWNoZVN1Ym5ldEdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlTZXJ2ZXJsZXNzQ2FjaGUsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVVzZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVVzZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlJlYm9vdENhY2hlQ2x1c3Rlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5SZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5TdGFydE1pZ3JhdGlvbixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuVGVzdEZhaWxvdmVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5UZXN0TWlncmF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZUNsdXN0ZXJzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlRXZlbnRzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU2VydmljZVVwZGF0ZXMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU25hcHNob3RzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVVwZGF0ZUFjdGlvbnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlVXNlckdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVVc2Vycyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5BZGRUYWdzVG9SZXNvdXJjZSxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDYWNoZUNsdXN0ZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVDbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhY2hlQ2x1c3RlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FjaGVDbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ2xvYmFscmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgR2xvYmFsUmVwbGljYXRpb25Hcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ2xvYmFsUmVwbGljYXRpb25Hcm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXJhbWV0ZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVQYXJhbWV0ZXJncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBDYWNoZVBhcmFtZXRlckdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXJhbWV0ZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVQYXJhbWV0ZXJncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWNoZVBhcmFtZXRlckdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVSZXBsaWNhdGlvbmdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Hcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVSZXBsaWNhdGlvbmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXBsaWNhdGlvbkdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkdyb3VwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc2VydmVkLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVJlc2VydmVkSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzZXJ2ZWRDYWNoZU5vZGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzZXJ2ZWRDYWNoZU5vZGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc2VydmVkLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVJlc2VydmVkSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc2VydmVkQ2FjaGVOb2RlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNlcnZlZENhY2hlTm9kZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZWN1cml0eWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlY3VyaXR5Z3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FjaGVTZWN1cml0eUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVTZWN1cml0eUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlY3VyaXR5Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VjdXJpdHlncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FjaGVTZWN1cml0eUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhY2hlU2VjdXJpdHlHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZlcmxlc3NjYWNoZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmVybGVzc0NhY2hlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmVybGVzc0NhY2hlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZlcmxlc3NjYWNoZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZlcmxlc3NDYWNoZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2ZXJsZXNzQ2FjaGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIFNuYXBzaG90TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc25hcHNob3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNuYXBzaG90TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNuYXBzaG90TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3VibmV0Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FjaGVTdWJuZXRHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhY2hlU3VibmV0R3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3VibmV0Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhY2hlU3VibmV0R3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FjaGVTdWJuZXRHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHVzZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlckFyblByb3BzIHtcblx0LyoqIFRoZSBVc2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB1c2VyZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIFVzZXJHcm91cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyR3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVVc2VyZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJHcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlckdyb3VwSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXI6KD88Y2FjaGVDbHVzdGVySWQ+W146Lz9dKykkLztcbmNvbnN0IEdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6Oig/PGFjY291bnQ+W146XSopOmdsb2JhbHJlcGxpY2F0aW9uZ3JvdXA6KD88Z2xvYmFsUmVwbGljYXRpb25Hcm91cElkPlteOi8/XSspJC87XG5jb25zdCBQYXJhbWV0ZXJncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhcmFtZXRlcmdyb3VwOig/PGNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBSZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVwbGljYXRpb25ncm91cDooPzxyZXBsaWNhdGlvbkdyb3VwSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc2VydmVkSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNlcnZlZC1pbnN0YW5jZTooPzxyZXNlcnZlZENhY2hlTm9kZUlkPlteOi8/XSspJC87XG5jb25zdCBTZWN1cml0eWdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VjdXJpdHlncm91cDooPzxjYWNoZVNlY3VyaXR5R3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZXJ2ZXJsZXNzY2FjaGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2ZXJsZXNzY2FjaGU6KD88c2VydmVybGVzc0NhY2hlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdDooPzxzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNuYXBzaG90QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c25hcHNob3Q6KD88c25hcHNob3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBTdWJuZXRncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN1Ym5ldGdyb3VwOig/PGNhY2hlU3VibmV0R3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBVc2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dXNlcjooPzx1c2VySWQ+W146Lz9dKykkLztcbmNvbnN0IFVzZXJncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnVzZXJncm91cDooPzx1c2VyR3JvdXBJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGVsYXN0aWNhY2hlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IEVsYXN0aUNhY2hlQ2x1c3RlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyOiR7cHJvcHMuY2FjaGVDbHVzdGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYWNoZUNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5jYWNoZUNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAoXG5cdFx0cHJvcHM6IEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omdsb2JhbHJlcGxpY2F0aW9uZ3JvdXA6JHtwcm9wcy5nbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR2xvYmFscmVwbGljYXRpb25ncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gR2xvYmFscmVwbGljYXRpb25ncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5nbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGFyYW1ldGVyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGFyYW1ldGVyZ3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlUGFyYW1ldGVyZ3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGFyYW1ldGVyZ3JvdXA6JHtwcm9wcy5jYWNoZVBhcmFtZXRlckdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGFyYW1ldGVyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBhcmFtZXRlcmdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhcmFtZXRlcmdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhcmFtZXRlcmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcmFtZXRlcmdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVBhcmFtZXRlcmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJhbWV0ZXJncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXJhbWV0ZXJncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYWNoZVBhcmFtZXRlckdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5jYWNoZVBhcmFtZXRlckdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uZ3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlUmVwbGljYXRpb25ncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXBsaWNhdGlvbmdyb3VwOiR7cHJvcHMucmVwbGljYXRpb25Hcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvbmdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVwbGljYXRpb25ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvbmdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVJlcGxpY2F0aW9uZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVwbGljYXRpb25ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXBsaWNhdGlvbkdyb3VwSWQ6IG1hdGNoLmdyb3VwcyEucmVwbGljYXRpb25Hcm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlc2VydmVkLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc2VydmVkSW5zdGFuY2UocHJvcHM6IEVsYXN0aUNhY2hlUmVzZXJ2ZWRJbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNlcnZlZC1pbnN0YW5jZToke3Byb3BzLnJlc2VydmVkQ2FjaGVOb2RlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlc2VydmVkLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNlcnZlZEluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc2VydmVkSW5zdGFuY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzZXJ2ZWQtaW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzZXJ2ZWRJbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVSZXNlcnZlZEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNlcnZlZEluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2VydmVkLWluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc2VydmVkQ2FjaGVOb2RlSWQ6IG1hdGNoLmdyb3VwcyEucmVzZXJ2ZWRDYWNoZU5vZGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZWN1cml0eWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlY3VyaXR5Z3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlU2VjdXJpdHlncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZWN1cml0eWdyb3VwOiR7cHJvcHMuY2FjaGVTZWN1cml0eUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VjdXJpdHlncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VjdXJpdHlncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZWN1cml0eWdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlY3VyaXR5Z3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VjdXJpdHlncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVTZWN1cml0eWdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZWN1cml0eWdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlY3VyaXR5Z3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FjaGVTZWN1cml0eUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5jYWNoZVNlY3VyaXR5R3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZlcmxlc3NjYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzY2FjaGUocHJvcHM6IEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZlcmxlc3NjYWNoZToke3Byb3BzLnNlcnZlcmxlc3NDYWNoZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZlcmxlc3NjYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmVybGVzc2NhY2hlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZlcmxlc3NjYWNoZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2ZXJsZXNzY2FjaGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmVybGVzc2NhY2hlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmVybGVzc2NhY2hlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZlcmxlc3NjYWNoZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2ZXJsZXNzQ2FjaGVOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZlcmxlc3NDYWNoZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmVybGVzc2NhY2hlc25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc2NhY2hlc25hcHNob3QoXG5cdFx0cHJvcHM6IEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdDoke3Byb3BzLnNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmVybGVzc2NhY2hlc25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNuYXBzaG90KHByb3BzOiBFbGFzdGlDYWNoZVNuYXBzaG90QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNuYXBzaG90OiR7cHJvcHMuc25hcHNob3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU25hcHNob3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzbmFwc2hvdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzbmFwc2hvdE5hbWU6IG1hdGNoLmdyb3VwcyEuc25hcHNob3ROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN1Ym5ldGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN1Ym5ldGdyb3VwKHByb3BzOiBFbGFzdGlDYWNoZVN1Ym5ldGdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN1Ym5ldGdyb3VwOiR7cHJvcHMuY2FjaGVTdWJuZXRHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN1Ym5ldGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTdWJuZXRncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdWJuZXRncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzdWJuZXRncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTdWJuZXRncm91cEFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN1Ym5ldGdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN1Ym5ldGdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhY2hlU3VibmV0R3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmNhY2hlU3VibmV0R3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcihwcm9wczogRWxhc3RpQ2FjaGVVc2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXI6JHtwcm9wcy51c2VySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHVzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVXNlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB1c2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZVVzZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFVzZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR1c2VySWQ6IG1hdGNoLmdyb3VwcyEudXNlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXJncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB1c2VyZ3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXJncm91cDoke3Byb3BzLnVzZXJHcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB1c2VyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBVc2VyZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdXNlcmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJncm91cEFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBVc2VyZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlcmdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHVzZXJHcm91cElkOiBtYXRjaC5ncm91cHMhLnVzZXJHcm91cElkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGVsYXN0aWNhY2hlLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFnc1RvUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkJhdGNoQXBwbHlVcGRhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkJhdGNoU3RvcFVwZGF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb21wbGV0ZU1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTWlncmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkNvbXBsZXRlTWlncmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q29weVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVDbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjcmVhc2VSZXBsaWNhQ291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVJlcGxpY2FDb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWNyZWFzZVJlcGxpY2FDb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWNoZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3RcIixcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU3VibmV0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTdWJuZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZlcmxlc3NDYWNoZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpEZWxldGVTbmFwc2hvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXI6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6RGVsZXRlVXNlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckdyb3VwOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlbGV0ZVVzZXJHcm91cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVDbHVzdGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRzOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlc2NyaWJlRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZpY2VVcGRhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXBkYXRlQWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VyR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVXNlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJzOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW5jcmVhc2VSZXBsaWNhQ291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVJlcGxpY2FDb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpJbmNyZWFzZVJlcGxpY2FDb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5Q2FjaGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlU3VibmV0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5U2VydmVybGVzc0NhY2hlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2VydmVybGVzc0NhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeVNlcnZlcmxlc3NDYWNoZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlcjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpNb2RpZnlVc2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlVc2VyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyR3JvdXA6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlckdyb3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZzogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6UHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlYm9vdENhY2hlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdENhY2hlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpSZWJvb3RDYWNoZUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpTdGFydE1pZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdEZhaWxvdmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEZhaWxvdmVyOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOlRlc3RGYWlsb3ZlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdE1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RNaWdyYXRpb246IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6VGVzdE1pZ3JhdGlvblwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGVsYXN0aWNhY2hlLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3NUb1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29tcGxldGVNaWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVNaWdyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvbm5lY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29weVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2FjaGU6S21zS2V5SWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVjcmVhc2VSZXBsaWNhQ291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VSZXBsaWNhQ291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNhY2hlOlJlcGxpY2FzUGVyTm9kZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVVzZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVXNlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlU25hcHNob3RzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVzZXJHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVzZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluY3JlYXNlUmVwbGljYUNvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlUmVwbGljYUNvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWRcIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIixcblx0XHRcImVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5VXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlVc2VyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWJvb3RDYWNoZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290Q2FjaGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydE1pZ3JhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1pZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVzdEZhaWxvdmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RGYWlsb3ZlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVzdE1pZ3JhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0TWlncmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBBVF9SRVNUX0VOQ1JZUFRJT05fRU5BQkxFRCA9XG5cdFx0XCJlbGFzdGljYWNoZTpBdFJlc3RFbmNyeXB0aW9uRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVEhfVE9LRU5fRU5BQkxFRCA9IFwiZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVVUT01BVElDX0ZBSUxPVkVSX0VOQUJMRUQgPVxuXHRcdFwiZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpDYWNoZU5vZGVUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDQUNIRV9OT0RFX1RZUEUgPSBcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDQUNIRV9QQVJBTUVURVJfR1JPVVBfTkFNRSA9XG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6Q2x1c3Rlck1vZGVFbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0xVU1RFUl9NT0RFX0VOQUJMRUQgPSBcImVsYXN0aWNhY2hlOkNsdXN0ZXJNb2RlRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBEQVRBX1NUT1JBR0VfVU5JVCA9IFwiZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpEdXJhYmlsaXR5IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBEVVJBQklMSVRZID0gXCJlbGFzdGljYWNoZTpEdXJhYmlsaXR5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpFbmdpbmVUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkdJTkVfVFlQRSA9IFwiZWxhc3RpY2FjaGU6RW5naW5lVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6RW5naW5lVmVyc2lvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5HSU5FX1ZFUlNJT04gPSBcImVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkttc0tleUlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBLTVNfS0VZX0lEID0gXCJlbGFzdGljYWNoZTpLbXNLZXlJZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUFYSU1VTV9EQVRBX1NUT1JBR0UgPSBcImVsYXN0aWNhY2hlOk1heGltdW1EYXRhU3RvcmFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWF4aW11bUVDUFVQZXJTZWNvbmQgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNQVhJTVVNX0VDUFVfUEVSX1NFQ09ORCA9IFwiZWxhc3RpY2FjaGU6TWF4aW11bUVDUFVQZXJTZWNvbmRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1JTklNVU1fREFUQV9TVE9SQUdFID0gXCJlbGFzdGljYWNoZTpNaW5pbXVtRGF0YVN0b3JhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk1pbmltdW1FQ1BVUGVyU2Vjb25kIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9FQ1BVX1BFUl9TRUNPTkQgPSBcImVsYXN0aWNhY2hlOk1pbmltdW1FQ1BVUGVyU2Vjb25kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpNdWx0aUFaRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1VTFRJX0FaX0VOQUJMRUQgPSBcImVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTlVNX05PREVfR1JPVVBTID0gXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFUExJQ0FTX1BFUl9OT0RFX0dST1VQID0gXCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6U25hcHNob3RSZXRlbnRpb25MaW1pdCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNOQVBTSE9UX1JFVEVOVElPTl9MSU1JVCA9XG5cdFx0XCJlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBUUkFOU0lUX0VOQ1JZUFRJT05fRU5BQkxFRCA9XG5cdFx0XCJlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVTRVJfQVVUSEVOVElDQVRJT05fTU9ERSA9XG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkF0UmVzdEVuY3J5cHRpb25FbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBhdFJlc3RFbmNyeXB0aW9uRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkF1dGhUb2tlbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIGF1dGhUb2tlbkVuYWJsZWQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVsYXN0aWNhY2hlOkF1dGhUb2tlbkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkF1dG9tYXRpY0ZhaWxvdmVyRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGljRmFpbG92ZXJFbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGNhY2hlTm9kZVR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpDYWNoZU5vZGVUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpDbHVzdGVyTW9kZUVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXJNb2RlRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6Q2x1c3Rlck1vZGVFbmFibGVkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXRgLlxuXHQgKi9cblx0c3RhdGljIGRhdGFTdG9yYWdlVW5pdChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpEdXJhYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBkdXJhYmlsaXR5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RHVyYWJpbGl0eVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6RW5naW5lVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgZW5naW5lVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkVuZ2luZVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25gLlxuXHQgKi9cblx0c3RhdGljIGVuZ2luZVZlcnNpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpFbmdpbmVWZXJzaW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpLbXNLZXlJZGAuXG5cdCAqL1xuXHRzdGF0aWMga21zS2V5SWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpLbXNLZXlJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlYC5cblx0ICovXG5cdHN0YXRpYyBtYXhpbXVtRGF0YVN0b3JhZ2UoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpNYXhpbXVtRGF0YVN0b3JhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk1heGltdW1FQ1BVUGVyU2Vjb25kYC5cblx0ICovXG5cdHN0YXRpYyBtYXhpbXVtRWNwdVBlclNlY29uZChcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1heGltdW1FQ1BVUGVyU2Vjb25kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpNaW5pbXVtRGF0YVN0b3JhZ2VgLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1EYXRhU3RvcmFnZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRgLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1FY3B1UGVyU2Vjb25kKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBtdWx0aUF6RW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6TXVsdGlBWkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHNgLlxuXHQgKi9cblx0c3RhdGljIG51bU5vZGVHcm91cHModmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBgLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2FzUGVyTm9kZUdyb3VwKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOlNuYXBzaG90UmV0ZW50aW9uTGltaXRgLlxuXHQgKi9cblx0c3RhdGljIHNuYXBzaG90UmV0ZW50aW9uTGltaXQoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIHRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6VHJhbnNpdEVuY3J5cHRpb25FbmFibGVkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyQXV0aGVudGljYXRpb25Nb2RlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19