@cdk_utils/iam 1.12.0 → 1.13.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 (460) hide show
  1. package/.jsii +2064 -1935
  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.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.d.ts +2 -0
  108. package/lib/generated/services/cognito-idp.js +7 -5
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +4 -4
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.js +4 -4
  116. package/lib/generated/services/consoleapp.js +2 -2
  117. package/lib/generated/services/consolidatedbilling.js +1 -1
  118. package/lib/generated/services/controlcatalog.js +3 -3
  119. package/lib/generated/services/controltower.js +4 -4
  120. package/lib/generated/services/cost-optimization-hub.js +2 -2
  121. package/lib/generated/services/cur.js +4 -4
  122. package/lib/generated/services/customer-verification.js +1 -1
  123. package/lib/generated/services/databrew.js +4 -4
  124. package/lib/generated/services/dataexchange.js +4 -4
  125. package/lib/generated/services/datapipeline.js +4 -4
  126. package/lib/generated/services/datasync.js +4 -4
  127. package/lib/generated/services/datazone.js +4 -4
  128. package/lib/generated/services/dax.js +4 -4
  129. package/lib/generated/services/dbqms.js +1 -1
  130. package/lib/generated/services/deadline.js +4 -4
  131. package/lib/generated/services/detective.js +4 -4
  132. package/lib/generated/services/devicefarm.js +4 -4
  133. package/lib/generated/services/devops-guru.js +4 -4
  134. package/lib/generated/services/directconnect.js +4 -4
  135. package/lib/generated/services/discovery.js +3 -3
  136. package/lib/generated/services/dlm.js +4 -4
  137. package/lib/generated/services/dms.js +4 -4
  138. package/lib/generated/services/docdb-elastic.js +4 -4
  139. package/lib/generated/services/drs.js +4 -4
  140. package/lib/generated/services/ds-data.js +4 -4
  141. package/lib/generated/services/ds.js +4 -4
  142. package/lib/generated/services/dsql.js +4 -4
  143. package/lib/generated/services/dynamodb.js +4 -4
  144. package/lib/generated/services/ebs.js +4 -4
  145. package/lib/generated/services/ec2-instance-connect.js +4 -4
  146. package/lib/generated/services/ec2.d.ts +2 -0
  147. package/lib/generated/services/ec2.js +7 -5
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.js +4 -4
  157. package/lib/generated/services/elasticbeanstalk.js +4 -4
  158. package/lib/generated/services/elasticfilesystem.js +4 -4
  159. package/lib/generated/services/elasticloadbalancing.js +4 -4
  160. package/lib/generated/services/elasticmapreduce.js +4 -4
  161. package/lib/generated/services/elastictranscoder.js +2 -2
  162. package/lib/generated/services/elemental-activations.js +1 -1
  163. package/lib/generated/services/elemental-appliances-software.js +2 -2
  164. package/lib/generated/services/elemental-inference.js +4 -4
  165. package/lib/generated/services/elemental-support-cases.js +3 -3
  166. package/lib/generated/services/elemental-support-content.js +1 -1
  167. package/lib/generated/services/emr-containers.js +4 -4
  168. package/lib/generated/services/emr-serverless.js +4 -4
  169. package/lib/generated/services/entityresolution.js +4 -4
  170. package/lib/generated/services/es.js +4 -4
  171. package/lib/generated/services/events.js +4 -4
  172. package/lib/generated/services/eventsbilltoaws.js +3 -3
  173. package/lib/generated/services/evidently.js +3 -3
  174. package/lib/generated/services/evs.js +4 -4
  175. package/lib/generated/services/execute-api.js +4 -4
  176. package/lib/generated/services/finops-agent.js +1 -1
  177. package/lib/generated/services/finspace-api.js +3 -3
  178. package/lib/generated/services/finspace.js +4 -4
  179. package/lib/generated/services/firehose.js +4 -4
  180. package/lib/generated/services/fis.js +4 -4
  181. package/lib/generated/services/fms.js +4 -4
  182. package/lib/generated/services/forecast.js +4 -4
  183. package/lib/generated/services/frauddetector.js +4 -4
  184. package/lib/generated/services/freertos.js +3 -3
  185. package/lib/generated/services/freetier.js +2 -2
  186. package/lib/generated/services/fsx.js +4 -4
  187. package/lib/generated/services/gamelift.js +4 -4
  188. package/lib/generated/services/gameliftstreams.js +4 -4
  189. package/lib/generated/services/geo-maps.js +3 -3
  190. package/lib/generated/services/geo-places.js +3 -3
  191. package/lib/generated/services/geo-routes.js +3 -3
  192. package/lib/generated/services/geo.js +4 -4
  193. package/lib/generated/services/glacier.js +4 -4
  194. package/lib/generated/services/globalaccelerator.js +4 -4
  195. package/lib/generated/services/glue.js +4 -4
  196. package/lib/generated/services/grafana.js +4 -4
  197. package/lib/generated/services/greengrass.js +4 -4
  198. package/lib/generated/services/groundstation.js +4 -4
  199. package/lib/generated/services/groundtruthlabeling.js +1 -1
  200. package/lib/generated/services/guardduty.js +4 -4
  201. package/lib/generated/services/health-agent.js +4 -4
  202. package/lib/generated/services/health.js +4 -4
  203. package/lib/generated/services/healthlake.js +4 -4
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.js +4 -4
  206. package/lib/generated/services/identity-sync.js +2 -2
  207. package/lib/generated/services/identitystore-auth.js +1 -1
  208. package/lib/generated/services/identitystore.js +4 -4
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.js +4 -4
  237. package/lib/generated/services/kendra-ranking.js +4 -4
  238. package/lib/generated/services/kendra.js +4 -4
  239. package/lib/generated/services/kinesis.js +4 -4
  240. package/lib/generated/services/kinesisanalytics.js +4 -4
  241. package/lib/generated/services/kinesisvideo.js +4 -4
  242. package/lib/generated/services/kms.js +4 -4
  243. package/lib/generated/services/lakeformation.js +3 -3
  244. package/lib/generated/services/lambda.js +4 -4
  245. package/lib/generated/services/launchwizard.js +4 -4
  246. package/lib/generated/services/lex.js +4 -4
  247. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager.js +4 -4
  250. package/lib/generated/services/lightsail.js +4 -4
  251. package/lib/generated/services/logs.js +4 -4
  252. package/lib/generated/services/lookoutequipment.js +4 -4
  253. package/lib/generated/services/lookoutmetrics.js +3 -3
  254. package/lib/generated/services/lookoutvision.js +3 -3
  255. package/lib/generated/services/m2.js +4 -4
  256. package/lib/generated/services/machinelearning.js +3 -3
  257. package/lib/generated/services/macie2.js +4 -4
  258. package/lib/generated/services/managedblockchain-query.js +2 -2
  259. package/lib/generated/services/managedblockchain.js +4 -4
  260. package/lib/generated/services/mapcredits.js +2 -2
  261. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  262. package/lib/generated/services/mechanicalturk.js +2 -2
  263. package/lib/generated/services/mediaconnect.js +4 -4
  264. package/lib/generated/services/mediaconvert.js +4 -4
  265. package/lib/generated/services/mediaimport.js +1 -1
  266. package/lib/generated/services/medialive.js +4 -4
  267. package/lib/generated/services/mediapackage-vod.js +4 -4
  268. package/lib/generated/services/mediapackage.js +4 -4
  269. package/lib/generated/services/mediapackagev2.js +4 -4
  270. package/lib/generated/services/mediastore.js +4 -4
  271. package/lib/generated/services/mediatailor.js +4 -4
  272. package/lib/generated/services/medical-imaging.js +4 -4
  273. package/lib/generated/services/memorydb.js +4 -4
  274. package/lib/generated/services/mgh.js +4 -4
  275. package/lib/generated/services/mgn.js +4 -4
  276. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  277. package/lib/generated/services/migrationhub-strategy.js +2 -2
  278. package/lib/generated/services/mobileanalytics.js +1 -1
  279. package/lib/generated/services/mobiletargeting.js +4 -4
  280. package/lib/generated/services/monitron.js +3 -3
  281. package/lib/generated/services/mpa.js +4 -4
  282. package/lib/generated/services/mq.js +4 -4
  283. package/lib/generated/services/neptune-db.js +4 -4
  284. package/lib/generated/services/neptune-graph.js +4 -4
  285. package/lib/generated/services/network-firewall.js +4 -4
  286. package/lib/generated/services/network-security-director.js +1 -1
  287. package/lib/generated/services/networkflowmonitor.js +4 -4
  288. package/lib/generated/services/networkmanager-chat.js +1 -1
  289. package/lib/generated/services/networkmanager.js +4 -4
  290. package/lib/generated/services/networkmonitor.js +4 -4
  291. package/lib/generated/services/nimble.js +3 -3
  292. package/lib/generated/services/notifications-contacts.js +4 -4
  293. package/lib/generated/services/notifications.js +4 -4
  294. package/lib/generated/services/nova-act.js +3 -3
  295. package/lib/generated/services/oam.js +4 -4
  296. package/lib/generated/services/observabilityadmin.js +4 -4
  297. package/lib/generated/services/odb.js +4 -4
  298. package/lib/generated/services/omics.js +4 -4
  299. package/lib/generated/services/one.js +3 -3
  300. package/lib/generated/services/opensearch.js +3 -3
  301. package/lib/generated/services/opsworks-cm.js +2 -2
  302. package/lib/generated/services/opsworks.js +2 -2
  303. package/lib/generated/services/organizations.js +4 -4
  304. package/lib/generated/services/osis.js +4 -4
  305. package/lib/generated/services/outposts.js +4 -4
  306. package/lib/generated/services/panorama.js +3 -3
  307. package/lib/generated/services/partnercentral-account-management.js +2 -2
  308. package/lib/generated/services/partnercentral.js +5 -6
  309. package/lib/generated/services/payment-cryptography.js +4 -4
  310. package/lib/generated/services/payments.js +3 -3
  311. package/lib/generated/services/pca-connector-ad.js +4 -4
  312. package/lib/generated/services/pca-connector-scep.js +4 -4
  313. package/lib/generated/services/pcs.js +4 -4
  314. package/lib/generated/services/personalize.js +4 -4
  315. package/lib/generated/services/pi.js +4 -4
  316. package/lib/generated/services/pipes.js +4 -4
  317. package/lib/generated/services/polly.js +3 -3
  318. package/lib/generated/services/pricing.js +2 -2
  319. package/lib/generated/services/pricingplanmanager.js +3 -3
  320. package/lib/generated/services/private-networks.js +3 -3
  321. package/lib/generated/services/profile.js +4 -4
  322. package/lib/generated/services/proton.js +4 -4
  323. package/lib/generated/services/purchase-orders.js +3 -3
  324. package/lib/generated/services/q.js +3 -3
  325. package/lib/generated/services/qapps.js +4 -4
  326. package/lib/generated/services/qbusiness.js +4 -4
  327. package/lib/generated/services/qdeveloper.js +3 -3
  328. package/lib/generated/services/qldb.js +3 -3
  329. package/lib/generated/services/quicksight.js +7 -5
  330. package/lib/generated/services/ram.js +4 -4
  331. package/lib/generated/services/rbin.js +4 -4
  332. package/lib/generated/services/rds-data.js +4 -4
  333. package/lib/generated/services/rds-db.js +2 -2
  334. package/lib/generated/services/rds.js +4 -4
  335. package/lib/generated/services/redshift-data.js +4 -4
  336. package/lib/generated/services/redshift-serverless.js +4 -4
  337. package/lib/generated/services/redshift.js +4 -4
  338. package/lib/generated/services/refactor-spaces.js +4 -4
  339. package/lib/generated/services/rekognition.js +4 -4
  340. package/lib/generated/services/repostspace.js +4 -4
  341. package/lib/generated/services/researchstudio.js +1 -1
  342. package/lib/generated/services/resiliencehub.js +4 -4
  343. package/lib/generated/services/resource-explorer-2.js +4 -4
  344. package/lib/generated/services/resource-explorer.js +1 -1
  345. package/lib/generated/services/resource-groups.js +4 -4
  346. package/lib/generated/services/rhelkb.js +1 -1
  347. package/lib/generated/services/robomaker.js +3 -3
  348. package/lib/generated/services/rolesanywhere.js +4 -4
  349. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  350. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  351. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  352. package/lib/generated/services/route53.js +4 -4
  353. package/lib/generated/services/route53domains.js +2 -2
  354. package/lib/generated/services/route53globalresolver.js +4 -4
  355. package/lib/generated/services/route53profiles.js +4 -4
  356. package/lib/generated/services/route53resolver.js +4 -4
  357. package/lib/generated/services/rtbfabric.js +4 -4
  358. package/lib/generated/services/rum.js +4 -4
  359. package/lib/generated/services/s3-object-lambda.js +3 -3
  360. package/lib/generated/services/s3-outposts.js +4 -4
  361. package/lib/generated/services/s3.js +4 -4
  362. package/lib/generated/services/s3express.js +3 -3
  363. package/lib/generated/services/s3files.js +4 -4
  364. package/lib/generated/services/s3tables.js +4 -4
  365. package/lib/generated/services/s3vectors.js +4 -4
  366. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  367. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  368. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  369. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  370. package/lib/generated/services/sagemaker.js +4 -4
  371. package/lib/generated/services/savingsplans.js +4 -4
  372. package/lib/generated/services/scheduler.js +4 -4
  373. package/lib/generated/services/schemas.js +4 -4
  374. package/lib/generated/services/scn.js +4 -4
  375. package/lib/generated/services/sdb.js +3 -3
  376. package/lib/generated/services/secretsmanager.js +4 -4
  377. package/lib/generated/services/security-ir.js +4 -4
  378. package/lib/generated/services/securityagent.js +4 -4
  379. package/lib/generated/services/securityhub.js +4 -4
  380. package/lib/generated/services/securitylake.js +4 -4
  381. package/lib/generated/services/serverlessrepo.js +4 -4
  382. package/lib/generated/services/servicecatalog.js +4 -4
  383. package/lib/generated/services/servicediscovery.js +4 -4
  384. package/lib/generated/services/serviceextract.js +1 -1
  385. package/lib/generated/services/servicequotas.js +4 -4
  386. package/lib/generated/services/ses.js +4 -4
  387. package/lib/generated/services/shield.js +4 -4
  388. package/lib/generated/services/signer.js +4 -4
  389. package/lib/generated/services/signin.js +4 -4
  390. package/lib/generated/services/simspaceweaver.js +3 -3
  391. package/lib/generated/services/sms-voice.js +4 -4
  392. package/lib/generated/services/sms.js +1 -1
  393. package/lib/generated/services/snow-device-management.js +4 -4
  394. package/lib/generated/services/snowball.js +2 -2
  395. package/lib/generated/services/sns.js +4 -4
  396. package/lib/generated/services/social-messaging.js +4 -4
  397. package/lib/generated/services/sqlworkbench.js +3 -3
  398. package/lib/generated/services/sqs.js +4 -4
  399. package/lib/generated/services/ssm-contacts.js +4 -4
  400. package/lib/generated/services/ssm-guiconnect.js +2 -2
  401. package/lib/generated/services/ssm-incidents.js +4 -4
  402. package/lib/generated/services/ssm-quicksetup.js +4 -4
  403. package/lib/generated/services/ssm-sap.js +4 -4
  404. package/lib/generated/services/ssm.js +4 -4
  405. package/lib/generated/services/ssmmessages.js +2 -2
  406. package/lib/generated/services/sso-directory.js +1 -1
  407. package/lib/generated/services/sso-oauth.js +3 -3
  408. package/lib/generated/services/sso.js +4 -4
  409. package/lib/generated/services/states.js +4 -4
  410. package/lib/generated/services/storagegateway.js +4 -4
  411. package/lib/generated/services/sts.js +4 -4
  412. package/lib/generated/services/support-console.js +1 -1
  413. package/lib/generated/services/support.d.ts +10 -0
  414. package/lib/generated/services/support.js +18 -3
  415. package/lib/generated/services/supportapp.js +2 -2
  416. package/lib/generated/services/supportauthz.js +4 -4
  417. package/lib/generated/services/supportplans.js +1 -1
  418. package/lib/generated/services/sustainability.js +2 -2
  419. package/lib/generated/services/swf.js +4 -4
  420. package/lib/generated/services/synthetics.js +4 -4
  421. package/lib/generated/services/tag.js +2 -2
  422. package/lib/generated/services/tax.js +2 -2
  423. package/lib/generated/services/textract.js +4 -4
  424. package/lib/generated/services/thinclient.js +4 -4
  425. package/lib/generated/services/timestream-influxdb.js +4 -4
  426. package/lib/generated/services/timestream.js +4 -4
  427. package/lib/generated/services/tiros.js +1 -1
  428. package/lib/generated/services/tnb.js +4 -4
  429. package/lib/generated/services/transcribe.js +4 -4
  430. package/lib/generated/services/transfer.js +4 -4
  431. package/lib/generated/services/transform-custom.js +3 -3
  432. package/lib/generated/services/transform.js +3 -3
  433. package/lib/generated/services/translate.js +4 -4
  434. package/lib/generated/services/trustedadvisor.js +3 -3
  435. package/lib/generated/services/ts.js +3 -3
  436. package/lib/generated/services/user-subscriptions.js +2 -2
  437. package/lib/generated/services/uxc.js +2 -2
  438. package/lib/generated/services/vendor-insights.js +3 -3
  439. package/lib/generated/services/verified-access.js +1 -1
  440. package/lib/generated/services/verifiedpermissions.js +4 -4
  441. package/lib/generated/services/voiceid.js +4 -4
  442. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  443. package/lib/generated/services/vpc-lattice.js +4 -4
  444. package/lib/generated/services/vpce.js +2 -2
  445. package/lib/generated/services/waf-regional.js +4 -4
  446. package/lib/generated/services/waf.js +4 -4
  447. package/lib/generated/services/wafv2.js +4 -4
  448. package/lib/generated/services/wam.js +1 -1
  449. package/lib/generated/services/wellarchitected.js +4 -4
  450. package/lib/generated/services/wickr.js +4 -4
  451. package/lib/generated/services/wisdom.js +4 -4
  452. package/lib/generated/services/workdocs.js +3 -3
  453. package/lib/generated/services/worklink.js +3 -3
  454. package/lib/generated/services/workmail.js +4 -4
  455. package/lib/generated/services/workmailmessageflow.js +3 -3
  456. package/lib/generated/services/workspaces-instances.js +4 -4
  457. package/lib/generated/services/workspaces-web.js +4 -4
  458. package/lib/generated/services/workspaces.js +4 -4
  459. package/lib/generated/services/xray.js +4 -4
  460. package/package.json +1 -1
@@ -16,7 +16,7 @@ class PartnercentralActions {
16
16
  }
17
17
  exports.PartnercentralActions = PartnercentralActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PartnercentralActions[_a] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralActions", version: "1.12.0" };
19
+ PartnercentralActions[_a] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralActions", version: "1.13.0" };
20
20
  /** The IAM service prefix. */
21
21
  PartnercentralActions.SERVICE_PREFIX = "partnercentral";
22
22
  /** [Write] partnercentral:AcceptChannelHandshake */
@@ -1136,7 +1136,7 @@ class PartnercentralResources {
1136
1136
  }
1137
1137
  exports.PartnercentralResources = PartnercentralResources;
1138
1138
  _b = JSII_RTTI_SYMBOL_1;
1139
- PartnercentralResources[_b] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralResources", version: "1.12.0" };
1139
+ PartnercentralResources[_b] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralResources", version: "1.13.0" };
1140
1140
  /**
1141
1141
  * API operation to required IAM actions mapping for partnercentral.
1142
1142
  */
@@ -1144,7 +1144,7 @@ class PartnercentralOperations {
1144
1144
  }
1145
1145
  exports.PartnercentralOperations = PartnercentralOperations;
1146
1146
  _c = JSII_RTTI_SYMBOL_1;
1147
- PartnercentralOperations[_c] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralOperations", version: "1.12.0" };
1147
+ PartnercentralOperations[_c] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralOperations", version: "1.13.0" };
1148
1148
  /** IAM actions required for the AcceptChannelHandshake API call. */
1149
1149
  PartnercentralOperations.AcceptChannelHandshake = [
1150
1150
  "partnercentral:AcceptChannelHandshake",
@@ -1316,7 +1316,6 @@ PartnercentralOperations.opGetBenefitAllocation = [
1316
1316
  /** IAM actions required for the GetBenefitApplication API call. */
1317
1317
  PartnercentralOperations.opGetBenefitApplication = [
1318
1318
  "partnercentral:GetBenefitApplication",
1319
- "partnercentral:ListTagsForResource",
1320
1319
  ];
1321
1320
  /** IAM actions required for the GetConnection API call. */
1322
1321
  PartnercentralOperations.opGetConnection = ["partnercentral:GetConnection"];
@@ -1715,7 +1714,7 @@ class PartnercentralConditions {
1715
1714
  }
1716
1715
  exports.PartnercentralConditions = PartnercentralConditions;
1717
1716
  _d = JSII_RTTI_SYMBOL_1;
1718
- PartnercentralConditions[_d] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralConditions", version: "1.12.0" };
1717
+ PartnercentralConditions[_d] = { fqn: "@cdk_utils/iam.partnercentral.PartnercentralConditions", version: "1.13.0" };
1719
1718
  /** Condition keys applicable to the AcceptChannelHandshake action. */
1720
1719
  PartnercentralConditions.AcceptChannelHandshakeConditionKeys = [
1721
1720
  "partnercentral:Catalog",
@@ -2297,4 +2296,4 @@ PartnercentralConditions.PROGRAMS = "partnercentral:Programs";
2297
2296
  PartnercentralConditions.RELATED_ENTITY_TYPE = "partnercentral:RelatedEntityType";
2298
2297
  /** Condition key: partnercentral:VerificationType (String) */
2299
2298
  PartnercentralConditions.VERIFICATION_TYPE = "partnercentral:VerificationType";
2300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcmNlbnRyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3BhcnRuZXJjZW50cmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQscURBQXFEO0FBQ3JELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjs7QUFBbEMsc0RBcWdCQzs7O0FBcGdCQSw4QkFBOEI7QUFDZCxvQ0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRWxELG9EQUFvRDtBQUNwQyw0Q0FBc0IsR0FDckMsdUNBQXVDLENBQUM7QUFDekMsd0RBQXdEO0FBQ3hDLGdEQUEwQixHQUN6QywyQ0FBMkMsQ0FBQztBQUM3Qyx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsK0NBQStDO0FBQy9CLHVDQUFpQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3ZFLDBFQUEwRTtBQUMxRCxrRUFBNEMsR0FDM0QsNkRBQTZELENBQUM7QUFDL0QsaUVBQWlFO0FBQ2pELHlEQUFtQyxHQUNsRCxvREFBb0QsQ0FBQztBQUN0RCxrREFBa0Q7QUFDbEMsMENBQW9CLEdBQUcscUNBQXFDLENBQUM7QUFDN0Usc0RBQXNEO0FBQ3RDLDhDQUF3QixHQUN2Qyx5Q0FBeUMsQ0FBQztBQUMzQyxvREFBb0Q7QUFDcEMsNENBQXNCLEdBQ3JDLHVDQUF1QyxDQUFDO0FBQ3pDLDhDQUE4QztBQUM5QixzQ0FBZ0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNyRSx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsc0RBQXNEO0FBQ3RD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QWlEO0FBQ2pDLHFDQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyxnQ0FBTyxHQUFHLHdCQUF3QixDQUFDO0FBQ25ELGtFQUFrRTtBQUNsRCwrQ0FBc0IsR0FDckMscUNBQXFDLENBQUM7QUFDdkMscUVBQXFFO0FBQ3JELDBDQUFpQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3RFLDZEQUE2RDtBQUM3QyxpQ0FBUSxHQUFHLHlCQUF5QixDQUFDO0FBQ3JELCtEQUErRDtBQUMvQyw0Q0FBbUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUN6RSw4REFBOEQ7QUFDOUMsMENBQWlCLEdBQUcsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9wYXJ0bmVyY2VudHJhbC5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgcGFydG5lcmNlbnRyYWwgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRuZXJjZW50cmFsQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInBhcnRuZXJjZW50cmFsXCI7XG5cblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QWNjZXB0Q2hhbm5lbEhhbmRzaGFrZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRDaGFubmVsSGFuZHNoYWtlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0RW5nYWdlbWVudEludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0RW5nYWdlbWVudEludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QW1lbmRCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFzc2lnbk9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NpZ25PcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6QXNzaWduT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZU9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbEJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxDaGFubmVsSGFuZHNoYWtlICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbENoYW5uZWxIYW5kc2hha2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q2FuY2VsQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29ubmVjdGlvbiA9IFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ29ubmVjdGlvbkludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFByb2ZpbGVVcGRhdGVUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbFByb2ZpbGVVcGRhdGVUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVCdXNpbmVzc1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJ1c2luZXNzUGxhbiA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQnVzaW5lc3NQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUNoYW5uZWxIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWxIYW5kc2hha2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQ2hhbm5lbEhhbmRzaGFrZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbE1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsTWVtYmVycyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbE1lbWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbFJlcXVlc3QgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50ID0gXCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50Q29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudEludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVBhcnRuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXIgPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVBhcnRuZXJcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlbGF0aW9uc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25zaGlwID0gXCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZWxhdGlvbnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3RKb2IgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXZlbnVlQXR0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXZlbnVlQXR0cmlidXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlbGF0aW9uc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVsYXRpb25zaGlwID0gXCJwYXJ0bmVyY2VudHJhbDpEZWxldGVSZWxhdGlvbnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkVucm9sbEluUGFydG5lclBhdGggKi9cblx0c3RhdGljIHJlYWRvbmx5IEVucm9sbEluUGFydG5lclBhdGggPSBcInBhcnRuZXJjZW50cmFsOkVucm9sbEluUGFydG5lclBhdGhcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRBbGxpYW5jZUxlYWRDb250YWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbGxpYW5jZUxlYWRDb250YWN0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEFsbGlhbmNlTGVhZENvbnRhY3RcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCZW5lZml0ID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFsbG9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRBbGxvY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBbGxvY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0QnVzaW5lc3NQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdXNpbmVzc1BsYW4gPSBcInBhcnRuZXJjZW50cmFsOkdldEJ1c2luZXNzUGxhblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldENvbGxhYm9yYXRpb25DaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ2hhbm5lbCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb2xsYWJvcmF0aW9uQ2hhbm5lbFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb24gPSBcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvbkludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvbkludml0YXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXNcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmdhZ2VtZW50ID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudEludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXIgPSBcInBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyRGFzaGJvYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJ0bmVyRGFzaGJvYXJkID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJEYXNoYm9hcmRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lclByb2ZpbGUgPSBcInBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVVwZGF0ZVRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVVcGRhdGVUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVVcGRhdGVUYXNrXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVZpc2liaWxpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVWaXNpYmlsaXR5ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVWaXNpYmlsaXR5XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmVsYXRpb25zaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbnNoaXAgPSBcInBhcnRuZXJjZW50cmFsOkdldFJlbGF0aW9uc2hpcFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFJlc291cmNlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlU25hcHNob3QgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFJlc291cmNlU25hcHNob3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlU25hcHNob3RKb2IgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdEpvYlwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5nc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFZlcmlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VmVyaWZpY2F0aW9uID0gXCJwYXJ0bmVyY2VudHJhbDpHZXRWZXJpZmljYXRpb25cIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFsbG9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QWxsb2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBcHBsaWNhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0cyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdEJ1c2luZXNzUGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCdXNpbmVzc1BsYW5zID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0QnVzaW5lc3NQbGFuc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RDaGFubmVsSGFuZHNoYWtlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxIYW5kc2hha2VzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDaGFubmVsSGFuZHNoYWtlc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RDb2xsYWJvcmF0aW9uQ2hhbm5lbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9uQ2hhbm5lbHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENvbGxhYm9yYXRpb25DaGFubmVsc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25JbnZpdGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25zID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3NcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3NcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEludml0YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEludml0YXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudE1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50TWVtYmVycyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudE1lbWJlcnNcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50cyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0aWVzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdGllc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RQYXJ0bmVyUGF0aHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyUGF0aHMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RQYXJ0bmVyUGF0aHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVycyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJlbGF0aW9uc2hpcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWxhdGlvbnNoaXBzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVsYXRpb25zaGlwc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RKb2JzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90Sm9ic1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90c1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RTb2x1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb2x1dGlvbnMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RTb2x1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlB1dEFsbGlhbmNlTGVhZENvbnRhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFsbGlhbmNlTGVhZENvbnRhY3QgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0QWxsaWFuY2VMZWFkQ29udGFjdFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpQdXRCdXNpbmVzc1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEJ1c2luZXNzUGxhbiA9IFwicGFydG5lcmNlbnRyYWw6UHV0QnVzaW5lc3NQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlB1dFByb2ZpbGVWaXNpYmlsaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlVmlzaWJpbGl0eSA9IFwicGFydG5lcmNlbnRyYWw6UHV0UHJvZmlsZVZpc2liaWxpdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpSZWplY3RDaGFubmVsSGFuZHNoYWtlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RDaGFubmVsSGFuZHNoYWtlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdENoYW5uZWxIYW5kc2hha2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvblwiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOlNlYXJjaFBhcnRuZXJQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoUGFydG5lclByb2ZpbGVzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlNlYXJjaFBhcnRuZXJQcm9maWxlc1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRQcm9maWxlVXBkYXRlVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9maWxlVXBkYXRlVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFByb2ZpbGVVcGRhdGVUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRWZXJpZmljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VmVyaWZpY2F0aW9uID0gXCJwYXJ0bmVyY2VudHJhbDpTdGFydFZlcmlmaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlc291cmNlU25hcHNob3RKb2IgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RvcFJlc291cmNlU25hcHNob3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN1Ym1pdE9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtUYWdnaW5nXSBwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gcGFydG5lcmNlbnRyYWw6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwicGFydG5lcmNlbnRyYWw6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVFbmdhZ2VtZW50Q29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlT3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVPcHBvcnR1bml0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlUmVsYXRpb25zaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbnNoaXAgPSBcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVJlbGF0aW9uc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZXZlbnVlQXR0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZXZlbnVlQXR0cmlidXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXNlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXNlU2Vzc2lvbiA9IFwicGFydG5lcmNlbnRyYWw6VXNlU2Vzc2lvblwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRBbGxpYW5jZUxlYWRDb250YWN0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRBd3NPcHBvcnR1bml0eVN1bW1hcnksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEJlbmVmaXQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEJlbmVmaXRBbGxvY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEJ1c2luZXNzUGxhbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0Q29sbGFib3JhdGlvbkNoYW5uZWwsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rpb25JbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRDb25uZWN0aW9uUHJlZmVyZW5jZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEVuZ2FnZW1lbnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UGFydG5lcixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UGFydG5lckRhc2hib2FyZCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UGFydG5lclByb2ZpbGUsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFByb2ZpbGVVcGRhdGVUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQcm9maWxlVmlzaWJpbGl0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25zaGlwLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRWZXJpZmljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RFbmdhZ2VtZW50TWVtYmVycyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5BbWVuZEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQXNzaWduT3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Bc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQXNzb2NpYXRlT3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsQ29ubmVjdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNhbmNlbFByb2ZpbGVVcGRhdGVUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUJ1c2luZXNzUGxhbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxNZW1iZXJzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbFJlcXVlc3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVFbmdhZ2VtZW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVFbmdhZ2VtZW50Q29udGV4dCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZU9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVQYXJ0bmVyLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVJlbGF0aW9uc2hpcCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRlbGV0ZVJlbGF0aW9uc2hpcCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EaXNhc3NvY2lhdGVPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRW5yb2xsSW5QYXJ0bmVyUGF0aCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUHV0QWxsaWFuY2VMZWFkQ29udGFjdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUHV0QnVzaW5lc3NQbGFuLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRQcm9maWxlVmlzaWJpbGl0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5SZWNhbGxCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlJlamVjdENoYW5uZWxIYW5kc2hha2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5SZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRQcm9maWxlVXBkYXRlVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RhcnRWZXJpZmljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdWJtaXRCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN1Ym1pdE9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVCZW5lZml0QXBwbGljYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlRW5nYWdlbWVudENvbnRleHQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlT3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlUmVsYXRpb25zaGlwLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVSZXZlbnVlQXR0cmlidXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVzZVNlc3Npb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0QmVuZWZpdEFsbG9jYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEJlbmVmaXRzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0QnVzaW5lc3NQbGFucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdENoYW5uZWxIYW5kc2hha2VzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvbkNoYW5uZWxzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0Q29ubmVjdGlvbkludml0YXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0Q29ubmVjdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RFbmdhZ2VtZW50cyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RPcHBvcnR1bml0aWVzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UGFydG5lclBhdGhzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UGFydG5lcnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmVsYXRpb25zaGlwcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFJlc291cmNlU25hcHNob3RKb2JzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmVzb3VyY2VTbmFwc2hvdHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFJldmVudWVBdHRyaWJ1dGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RTb2x1dGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlNlYXJjaFBhcnRuZXJQcm9maWxlcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQmVuZWZpdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQmVuZWZpdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBCZW5lZml0QWxsb2NhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QWxsb2NhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEJlbmVmaXRBbGxvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBbGxvY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBCZW5lZml0QXBwbGljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFwcGxpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQmVuZWZpdEFwcGxpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcHBsaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ2hhbm5lbEhhbmRzaGFrZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDaGFubmVsSGFuZHNoYWtlQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ2hhbm5lbEhhbmRzaGFrZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDaGFubmVsSGFuZHNoYWtlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbm5lY3Rpb25JbnZpdGF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdGlvbkludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBEYXNoYm9hcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRGFzaGJvYXJkQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYWJsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YWJsZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFzaGJvYXJkSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhc2hib2FyZElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBEYXNoYm9hcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRGFzaGJvYXJkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYWJsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFibGVJZDogc3RyaW5nO1xuXHQvKiogVGhlIERhc2hib2FyZElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFzaGJvYXJkSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEVuZ2FnZW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEVuZ2FnZW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIE1hcmtldHBsYWNlUHJvZHVjdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtYXJrZXRwbGFjZVByb2R1Y3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIE1hcmtldHBsYWNlUHJvZHVjdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWFya2V0cGxhY2VQcm9kdWN0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE9wcG9ydHVuaXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgT3Bwb3J0dW5pdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUGFydG5lciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQYXJ0bmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUGFydG5lciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQYXJ0bmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlbGF0aW9uc2hpcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZWxhdGlvbnNoaXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJlbGF0aW9uc2hpcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWxhdGlvbnNoaXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlbGF0aW9uc2hpcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZWxhdGlvbnNoaXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJlbGF0aW9uc2hpcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVsYXRpb25zaGlwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlc291cmNlU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgRW5nYWdlbWVudElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVuZ2FnZW1lbnRJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VUeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogVGhlIFRlbXBsYXRlSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGVtcGxhdGVJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgU25hcHNob3RSZXZpc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc25hcHNob3RSZXZpc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlc291cmNlU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBFbmdhZ2VtZW50SWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVuZ2FnZW1lbnRJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VUeXBlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGVtcGxhdGVJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGVtcGxhdGVJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgU25hcHNob3RSZXZpc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNuYXBzaG90UmV2aXNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJldmVudWVBdHRyaWJ1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXZlbnVlQXR0cmlidXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFJldmVudWVBdHRyaWJ1dGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXZlbnVlQXR0cmlidXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJldmVudWVBdHRyaWJ1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXZlbnVlQXR0cmlidXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmV2ZW51ZUF0dHJpYnV0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXZlbnVlQXR0cmlidXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU29sdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsU29sdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTb2x1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxTb2x1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5nYWdlbWVudC1pbnZpdGF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5nYWdlbWVudC1pbnZpdGF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc291cmNlLXNuYXBzaG90LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbmNvbnN0IEJlbmVmaXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9iZW5lZml0XFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQmVuZWZpdEFsbG9jYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2JlbmVmaXQtYWxsb2NhdGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IEJlbmVmaXRBcHBsaWNhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvYmVuZWZpdC1hcHBsaWNhdGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IENoYW5uZWxIYW5kc2hha2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2NoYW5uZWwtaGFuZHNoYWtlXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2Nvbm5lY3Rpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0aW9uSW52aXRhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2Nvbm5lY3Rpb24taW52aXRhdGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY29ubmVjdGlvbi1wcmVmZXJlbmNlcyQvO1xuY29uc3QgRGFzaGJvYXJkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOjooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL1JlcG9ydGluZ0RhdGFcXC8oPzx0YWJsZUlkPlteOi8/XSspXFwvRGFzaGJvYXJkXFwvKD88ZGFzaGJvYXJkSWQ+W146Lz9dKykkLztcbmNvbnN0IEVuZ2FnZW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50XFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL21hcmtldHBsYWNlLXJldmVudWUtc2hhcmVcXC8oPzxtYXJrZXRwbGFjZVByb2R1Y3RJZD5bXjovP10rKSQvO1xuY29uc3QgT3Bwb3J0dW5pdHlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL29wcG9ydHVuaXR5XFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9vcHBvcnR1bml0eS1mcm9tLWVuZ2FnZW1lbnQtdGFza1xcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgUGFydG5lckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcGFydG5lclxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcHJvZ3JhbS1tYW5hZ2VtZW50LWFjY291bnRcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3Byb3NwZWN0aW5nLWZyb20tZW5nYWdlbWVudC10YXNrXFwvKD88dGFza0lkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFJlbGF0aW9uc2hpcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcHJvZ3JhbS1tYW5hZ2VtZW50LWFjY291bnRcXC8oPzxwcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZD5bXjovP10rKVxcL3JlbGF0aW9uc2hpcFxcLyg/PHJlbGF0aW9uc2hpcElkPlteOi8/XSspJC87XG5jb25zdCBSZXNvdXJjZVNuYXBzaG90QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50XFwvKD88ZW5nYWdlbWVudElkZW50aWZpZXI+W146Lz9dKylcXC9yZXNvdXJjZVxcLyg/PHJlc291cmNlVHlwZT5bXjovP10rKVxcLyg/PHJlc291cmNlSWRlbnRpZmllcj5bXjovP10rKVxcL3RlbXBsYXRlXFwvKD88dGVtcGxhdGVJZGVudGlmaWVyPlteOi8/XSspXFwvcmVzb3VyY2Utc25hcHNob3RcXC8oPzxzbmFwc2hvdFJldmlzaW9uPlteOi8/XSspJC87XG5jb25zdCBSZXZlbnVlQXR0cmlidXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3JldmVudWUtYXR0cmlidXRpb25cXC8oPzxyZXZlbnVlQXR0cmlidXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgU29sdXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL3NvbHV0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2tcXC8oPzx0YXNrSWQ+W146Lz9dKykkLztcbmNvbnN0IEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2tcXC8oPzx0YXNrSWQ+W146Lz9dKykkLztcbmNvbnN0IEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvZW5nYWdlbWVudC1pbnZpdGF0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUmVzb3VyY2VTbmFwc2hvdEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcmVzb3VyY2Utc25hcHNob3Qtam9iXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHBhcnRuZXJjZW50cmFsIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRuZXJjZW50cmFsUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBCZW5lZml0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJlbmVmaXQocHJvcHM6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9iZW5lZml0LyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQmVuZWZpdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmVuZWZpdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZW5lZml0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEJlbmVmaXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmVuZWZpdEFybihhcm46IHN0cmluZyk6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmVuZWZpdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBCZW5lZml0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBCZW5lZml0QWxsb2NhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBiZW5lZml0QWxsb2NhdGlvbihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxCZW5lZml0QWxsb2NhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9iZW5lZml0LWFsbG9jYXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBCZW5lZml0QWxsb2NhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQmVuZWZpdEFsbG9jYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmVuZWZpdEFsbG9jYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQmVuZWZpdEFsbG9jYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQmVuZWZpdEFsbG9jYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFsbG9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlbmVmaXRBbGxvY2F0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEJlbmVmaXRBbGxvY2F0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBCZW5lZml0QXBwbGljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVuZWZpdEFwcGxpY2F0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcHBsaWNhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9iZW5lZml0LWFwcGxpY2F0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQmVuZWZpdEFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCZW5lZml0QXBwbGljYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQmVuZWZpdEFwcGxpY2F0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEJlbmVmaXRBcHBsaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCZW5lZml0QXBwbGljYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCZW5lZml0QXBwbGljYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQmVuZWZpdEFwcGxpY2F0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDaGFubmVsSGFuZHNoYWtlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNoYW5uZWxIYW5kc2hha2UoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQ2hhbm5lbEhhbmRzaGFrZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9jaGFubmVsLWhhbmRzaGFrZS8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENoYW5uZWxIYW5kc2hha2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENoYW5uZWxIYW5kc2hha2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2hhbm5lbEhhbmRzaGFrZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDaGFubmVsSGFuZHNoYWtlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNoYW5uZWxIYW5kc2hha2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQ2hhbm5lbEhhbmRzaGFrZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2hhbm5lbEhhbmRzaGFrZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDaGFubmVsSGFuZHNoYWtlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3Rpb24ocHJvcHM6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9jb25uZWN0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbm5lY3Rpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbm5lY3Rpb25JbnZpdGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3Rpb25JbnZpdGF0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vY29ubmVjdGlvbi1pbnZpdGF0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29ubmVjdGlvbkludml0YXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbm5lY3Rpb25JbnZpdGF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3Rpb25JbnZpdGF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0aW9uSW52aXRhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25uZWN0aW9uSW52aXRhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29ubmVjdGlvblByZWZlcmVuY2VzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3Rpb25QcmVmZXJlbmNlcyhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vY29ubmVjdGlvbi1wcmVmZXJlbmNlc2A7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3Rpb25QcmVmZXJlbmNlc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29ubmVjdGlvblByZWZlcmVuY2VzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3Rpb25QcmVmZXJlbmNlc0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uUHJlZmVyZW5jZXNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERhc2hib2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXNoYm9hcmQocHJvcHM6IFBhcnRuZXJjZW50cmFsRGFzaGJvYXJkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9SZXBvcnRpbmdEYXRhLyR7cHJvcHMudGFibGVJZH0vRGFzaGJvYXJkLyR7cHJvcHMuZGFzaGJvYXJkSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIERhc2hib2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFzaGJvYXJkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhc2hib2FyZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBEYXNoYm9hcmQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFzaGJvYXJkQXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhc2hib2FyZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEYXNoYm9hcmQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFibGVJZDogbWF0Y2guZ3JvdXBzIS50YWJsZUlkLFxuXHRcdFx0ZGFzaGJvYXJkSWQ6IG1hdGNoLmdyb3VwcyEuZGFzaGJvYXJkSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRW5nYWdlbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmdhZ2VtZW50KHByb3BzOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vZW5nYWdlbWVudC8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEVuZ2FnZW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZ2FnZW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5nYWdlbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBFbmdhZ2VtZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZ2FnZW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW5nYWdlbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBFbmdhZ2VtZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtYXJrZXRwbGFjZVJldmVudWVTaGFyZShcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9tYXJrZXRwbGFjZS1yZXZlbnVlLXNoYXJlLyR7cHJvcHMubWFya2V0cGxhY2VQcm9kdWN0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0bWFya2V0cGxhY2VQcm9kdWN0SWQ6IG1hdGNoLmdyb3VwcyEubWFya2V0cGxhY2VQcm9kdWN0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgT3Bwb3J0dW5pdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3Bwb3J0dW5pdHkocHJvcHM6IFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L29wcG9ydHVuaXR5LyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgT3Bwb3J0dW5pdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wcG9ydHVuaXR5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wcG9ydHVuaXR5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE9wcG9ydHVuaXR5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wcG9ydHVuaXR5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHBvcnR1bml0eUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBPcHBvcnR1bml0eSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2soXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9vcHBvcnR1bml0eS1mcm9tLWVuZ2FnZW1lbnQtdGFzay8ke3Byb3BzLnRhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHR0YXNrSWQ6IG1hdGNoLmdyb3VwcyEudGFza0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFBhcnRuZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGFydG5lcihwcm9wczogUGFydG5lcmNlbnRyYWxQYXJ0bmVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9wYXJ0bmVyLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUGFydG5lciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGFydG5lckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXJ0bmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFBhcnRuZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGFydG5lckFybihhcm46IHN0cmluZyk6IFBhcnRuZXJjZW50cmFsUGFydG5lckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGFydG5lckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQYXJ0bmVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50KFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9wcm9ncmFtLW1hbmFnZW1lbnQtYWNjb3VudC8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2soXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9wcm9zcGVjdGluZy1mcm9tLWVuZ2FnZW1lbnQtdGFzay8ke3Byb3BzLnRhc2tJZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhc2tJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLnRhc2tJZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlbGF0aW9uc2hpcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWxhdGlvbnNoaXAocHJvcHM6IFBhcnRuZXJjZW50cmFsUmVsYXRpb25zaGlwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9wcm9ncmFtLW1hbmFnZW1lbnQtYWNjb3VudC8ke3Byb3BzLnByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkfS9yZWxhdGlvbnNoaXAvJHtwcm9wcy5yZWxhdGlvbnNoaXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVsYXRpb25zaGlwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWxhdGlvbnNoaXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVsYXRpb25zaGlwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlbGF0aW9uc2hpcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWxhdGlvbnNoaXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUmVsYXRpb25zaGlwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWxhdGlvbnNoaXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVsYXRpb25zaGlwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkOiBtYXRjaC5ncm91cHMhLnByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkLFxuXHRcdFx0cmVsYXRpb25zaGlwSWQ6IG1hdGNoLmdyb3VwcyEucmVsYXRpb25zaGlwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVzb3VyY2VTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVNuYXBzaG90KFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vZW5nYWdlbWVudC8ke3Byb3BzLmVuZ2FnZW1lbnRJZGVudGlmaWVyfS9yZXNvdXJjZS8ke3Byb3BzLnJlc291cmNlVHlwZX0vJHtwcm9wcy5yZXNvdXJjZUlkZW50aWZpZXJ9L3RlbXBsYXRlLyR7cHJvcHMudGVtcGxhdGVJZGVudGlmaWVyfS9yZXNvdXJjZS1zbmFwc2hvdC8ke3Byb3BzLnNuYXBzaG90UmV2aXNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlc291cmNlU25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc291cmNlU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzb3VyY2VTbmFwc2hvdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXNvdXJjZVNuYXBzaG90IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc291cmNlU25hcHNob3RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzb3VyY2VTbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXNvdXJjZVNuYXBzaG90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGVuZ2FnZW1lbnRJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmVuZ2FnZW1lbnRJZGVudGlmaWVyLFxuXHRcdFx0cmVzb3VyY2VUeXBlOiBtYXRjaC5ncm91cHMhLnJlc291cmNlVHlwZSxcblx0XHRcdHJlc291cmNlSWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkZW50aWZpZXIsXG5cdFx0XHR0ZW1wbGF0ZUlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEudGVtcGxhdGVJZGVudGlmaWVyLFxuXHRcdFx0c25hcHNob3RSZXZpc2lvbjogbWF0Y2guZ3JvdXBzIS5zbmFwc2hvdFJldmlzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJldmVudWVBdHRyaWJ1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXZlbnVlQXR0cmlidXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUmV2ZW51ZUF0dHJpYnV0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3JldmVudWUtYXR0cmlidXRpb24vJHtwcm9wcy5yZXZlbnVlQXR0cmlidXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmV2ZW51ZUF0dHJpYnV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXZlbnVlQXR0cmlidXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmV2ZW51ZUF0dHJpYnV0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJldmVudWVBdHRyaWJ1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXZlbnVlQXR0cmlidXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUmV2ZW51ZUF0dHJpYnV0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXZlbnVlQXR0cmlidXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHJldmVudWVBdHRyaWJ1dGlvbklkOiBtYXRjaC5ncm91cHMhLnJldmVudWVBdHRyaWJ1dGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNvbHV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNvbHV0aW9uKHByb3BzOiBQYXJ0bmVyY2VudHJhbFNvbHV0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9zb2x1dGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNvbHV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTb2x1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTb2x1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTb2x1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTb2x1dGlvbkFybihhcm46IHN0cmluZyk6IFBhcnRuZXJjZW50cmFsU29sdXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNvbHV0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNvbHV0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2soXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2svJHtwcm9wcy50YXNrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2soXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzay8ke3Byb3BzLnRhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHR0YXNrSWQ6IG1hdGNoLmdyb3VwcyEudGFza0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmdhZ2VtZW50SW52aXRhdGlvbihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50SW52aXRhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQtaW52aXRhdGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5nYWdlbWVudEludml0YXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5nYWdlbWVudEludml0YXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5nYWdlbWVudC1pbnZpdGF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmdhZ2VtZW50SW52aXRhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlc291cmNlLXNuYXBzaG90LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVNuYXBzaG90Sm9iKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcmVzb3VyY2Utc25hcHNob3Qtam9iLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzb3VyY2Utc25hcHNob3Qtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNvdXJjZVNuYXBzaG90Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc291cmNlU25hcHNob3RKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzb3VyY2Utc25hcHNob3Qtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc291cmNlU25hcHNob3RKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzb3VyY2VTbmFwc2hvdEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNvdXJjZS1zbmFwc2hvdC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHBhcnRuZXJjZW50cmFsLlxuICovXG5leHBvcnQgY2xhc3MgUGFydG5lcmNlbnRyYWxPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENoYW5uZWxIYW5kc2hha2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0Q2hhbm5lbEhhbmRzaGFrZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0RW5nYWdlbWVudEludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQW1lbmRCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBbWVuZEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NpZ25PcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc2lnbk9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc2lnbk9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZU9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENoYW5uZWxIYW5kc2hha2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ2hhbm5lbEhhbmRzaGFrZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ29ubmVjdGlvbkludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxQcm9maWxlVXBkYXRlVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxQcm9maWxlVXBkYXRlVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDaGFubmVsSGFuZHNoYWtlXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJlbGF0aW9uc2hpcFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmdhZ2VtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudENvbnRleHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudENvbnRleHRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVBhcnRuZXJcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlbGF0aW9uc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZWxhdGlvbnNoaXBcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJldmVudWVBdHRyaWJ1dGlvblwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWxhdGlvbnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUmVsYXRpb25zaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWxsaWFuY2VMZWFkQ29udGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWxsaWFuY2VMZWFkQ29udGFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRBbGxpYW5jZUxlYWRDb250YWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCZW5lZml0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCZW5lZml0OiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJlbmVmaXRBbGxvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCZW5lZml0QWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QWxsb2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QXBwbGljYXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdGlvbjogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdGlvbkludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvbkludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvblByZWZlcmVuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEVuZ2FnZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEVuZ2FnZW1lbnQ6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RW5nYWdlbWVudEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcnRuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcnRuZXI6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvZmlsZVVwZGF0ZVRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb2ZpbGVVcGRhdGVUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVVcGRhdGVUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGVWaXNpYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9maWxlVmlzaWJpbGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVmlzaWJpbGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25zaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVsYXRpb25zaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZVNuYXBzaG90Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVNuYXBzaG90Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXZlbnVlQXR0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFZlcmlmaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VmVyaWZpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFZlcmlmaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRBbGxvY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFsbG9jYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCZW5lZml0QXBwbGljYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBcHBsaWNhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJlbmVmaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRzOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENoYW5uZWxIYW5kc2hha2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxIYW5kc2hha2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDaGFubmVsSGFuZHNoYWtlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbkludml0YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEludml0YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50TWVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHBvcnR1bml0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGFydG5lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lcnM6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlbGF0aW9uc2hpcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVsYXRpb25zaGlwczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVsYXRpb25zaGlwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTb2x1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29sdXRpb25zOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkxpc3RTb2x1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWxsaWFuY2VMZWFkQ29udGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFsbGlhbmNlTGVhZENvbnRhY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0QWxsaWFuY2VMZWFkQ29udGFjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQcm9maWxlVmlzaWJpbGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVWaXNpYmlsaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlB1dFByb2ZpbGVWaXNpYmlsaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWNhbGxCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNhbGxCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdENoYW5uZWxIYW5kc2hha2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RDaGFubmVsSGFuZHNoYWtlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdENoYW5uZWxIYW5kc2hha2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQcm9maWxlVXBkYXRlVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRQcm9maWxlVXBkYXRlVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRWZXJpZmljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFZlcmlmaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFZlcmlmaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0T3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCZW5lZml0QXBwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCZW5lZml0QXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5nYWdlbWVudENvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVFbmdhZ2VtZW50Q29udGV4dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlT3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWxhdGlvbnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUmVsYXRpb25zaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZXZlbnVlQXR0cmlidXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHBhcnRuZXJjZW50cmFsLlxuICovXG5leHBvcnQgY2xhc3MgUGFydG5lcmNlbnRyYWxDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFjY2VwdENoYW5uZWxIYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQW1lbmRCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQW1lbmRCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NpZ25PcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NpZ25PcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFzc29jaWF0ZU9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbmNlbENoYW5uZWxIYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbmNlbENvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENhbmNlbFByb2ZpbGVVcGRhdGVUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFByb2ZpbGVVcGRhdGVUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZ2FnZW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5nYWdlbWVudENvbnRleHQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudENvbnRleHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBhcnRuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVsYXRpb25zaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3RKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVJlbGF0aW9uc2hpcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbnNoaXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QWxsaWFuY2VMZWFkQ29udGFjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbGxpYW5jZUxlYWRDb250YWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRCZW5lZml0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRCZW5lZml0QWxsb2NhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCZW5lZml0QWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldENvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q29ubmVjdGlvbkludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvbkludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uUHJlZmVyZW5jZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEVuZ2FnZW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RW5nYWdlbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0RW5nYWdlbWVudEludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RW5nYWdlbWVudEludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UGFydG5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJ0bmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQYXJ0bmVyRGFzaGJvYXJkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXJEYXNoYm9hcmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFByb2ZpbGVVcGRhdGVUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVVcGRhdGVUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQcm9maWxlVmlzaWJpbGl0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9maWxlVmlzaWJpbGl0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25EZXRhaWxzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJlbGF0aW9uc2hpcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbnNoaXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJlc291cmNlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmVzb3VyY2VTbmFwc2hvdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFZlcmlmaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRWZXJpZmljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RCZW5lZml0QWxsb2NhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRBbGxvY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0QmVuZWZpdHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdENoYW5uZWxIYW5kc2hha2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGFubmVsSGFuZHNoYWtlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdENvbm5lY3Rpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50TWVtYmVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0T3Bwb3J0dW5pdGllcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdGllc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UGFydG5lcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmVsYXRpb25zaGlwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVsYXRpb25zaGlwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJlc291cmNlU25hcHNob3RKb2JzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90Sm9ic0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJlc291cmNlU25hcHNob3RzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJldmVudWVBdHRyaWJ1dGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RTb2x1dGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNvbHV0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFsbGlhbmNlTGVhZENvbnRhY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxsaWFuY2VMZWFkQ29udGFjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0UHJvZmlsZVZpc2liaWxpdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZVZpc2liaWxpdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNhbGxCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWplY3RDaGFubmVsSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENoYW5uZWxIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVqZWN0RW5nYWdlbWVudEludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0RW5nYWdlbWVudEludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRQcm9maWxlVXBkYXRlVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0VmVyaWZpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VmVyaWZpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN1Ym1pdE9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdE9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlRW5nYWdlbWVudENvbnRleHQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5nYWdlbWVudENvbnRleHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVSZWxhdGlvbnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVsYXRpb25zaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVSZXZlbnVlQXR0cmlidXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVc2VTZXNzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVzZVNlc3Npb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpDYXRhbG9nIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDQVRBTE9HID0gXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0hBTk5FTF9IQU5EU0hBS0VfVFlQRSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZVTEZJTExNRU5UX1RZUEVTID0gXCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpQcm9ncmFtcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST0dSQU1TID0gXCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFTEFURURfRU5USVRZX1RZUEUgPSBcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWRVJJRklDQVRJT05fVFlQRSA9IFwicGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZVwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpDYXRhbG9nYC5cblx0ICovXG5cdHN0YXRpYyBjYXRhbG9nKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGNoYW5uZWxIYW5kc2hha2VUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc2AuXG5cdCAqL1xuXHRzdGF0aWMgZnVsZmlsbG1lbnRUeXBlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc2AuXG5cdCAqL1xuXHRzdGF0aWMgcHJvZ3JhbXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHJlbGF0ZWRFbnRpdHlUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgdmVyaWZpY2F0aW9uVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwicGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
2299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcmNlbnRyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3BhcnRuZXJjZW50cmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQscURBQXFEO0FBQ3JELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjs7QUFBbEMsc0RBcWdCQzs7O0FBcGdCQSw4QkFBOEI7QUFDZCxvQ0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRWxELG9EQUFvRDtBQUNwQyw0Q0FBc0IsR0FDckMsdUNBQXVDLENBQUM7QUFDekMsd0RBQXdEO0FBQ3hDLGdEQUEwQixHQUN6QywyQ0FBMkMsQ0FBQztBQUM3Qyx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsK0NBQStDO0FBQy9CLHVDQUFpQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3ZFLDBFQUEwRTtBQUMxRCxrRUFBNEMsR0FDM0QsNkRBQTZELENBQUM7QUFDL0QsaUVBQWlFO0FBQ2pELHlEQUFtQyxHQUNsRCxvREFBb0QsQ0FBQztBQUN0RCxrREFBa0Q7QUFDbEMsMENBQW9CLEdBQUcscUNBQXFDLENBQUM7QUFDN0Usc0RBQXNEO0FBQ3RDLDhDQUF3QixHQUN2Qyx5Q0FBeUMsQ0FBQztBQUMzQyxvREFBb0Q7QUFDcEMsNENBQXNCLEdBQ3JDLHVDQUF1QyxDQUFDO0FBQ3pDLDhDQUE4QztBQUM5QixzQ0FBZ0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUNyRSx3REFBd0Q7QUFDeEMsZ0RBQTBCLEdBQ3pDLDJDQUEyQyxDQUFDO0FBQzdDLHFEQUFxRDtBQUNyQyw2Q0FBdUIsR0FDdEMsd0NBQXdDLENBQUM7QUFDMUMsc0RBQXNEO0FBQ3RD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QVksR0FBRyxhQUFhLENBQUM7QUFDN0MscURBQXFEO0FBQ3JDLGdDQUFPLEdBQUcsd0JBQXdCLENBQUM7QUFDbkQsa0VBQWtFO0FBQ2xELCtDQUFzQixHQUNyQyxxQ0FBcUMsQ0FBQztBQUN2QyxxRUFBcUU7QUFDckQsMENBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUsNkRBQTZEO0FBQzdDLGlDQUFRLEdBQUcseUJBQXlCLENBQUM7QUFDckQsK0RBQStEO0FBQy9DLDRDQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3pFLDhEQUE4RDtBQUM5QywwQ0FBaUIsR0FBRyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3BhcnRuZXJjZW50cmFsLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBwYXJ0bmVyY2VudHJhbCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgUGFydG5lcmNlbnRyYWxBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwicGFydG5lcmNlbnRyYWxcIjtcblxuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBY2NlcHRDaGFubmVsSGFuZHNoYWtlICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdENoYW5uZWxIYW5kc2hha2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQW1lbmRCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QW1lbmRCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QXNzaWduT3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc2lnbk9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpBc3NpZ25PcHBvcnR1bml0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZU9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbENoYW5uZWxIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENoYW5uZWxIYW5kc2hha2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsQ2hhbm5lbEhhbmRzaGFrZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uID0gXCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDYW5jZWxQcm9maWxlVXBkYXRlVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUJ1c2luZXNzUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnVzaW5lc3NQbGFuID0gXCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVCdXNpbmVzc1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhbm5lbEhhbmRzaGFrZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDaGFubmVsSGFuZHNoYWtlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5uZWxNZW1iZXJzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbFJlcXVlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsUmVxdWVzdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbFJlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnQgPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudENvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHBvcnR1bml0eSA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUGFydG5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lciA9IFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUGFydG5lclwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVsYXRpb25zaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbnNoaXAgPSBcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlbGF0aW9uc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkNyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJldmVudWVBdHRyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGVsZXRlUmVsYXRpb25zaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbnNoaXAgPSBcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlbGF0aW9uc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRlbGV0ZVJlc291cmNlU25hcHNob3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHlcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6RW5yb2xsSW5QYXJ0bmVyUGF0aCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5yb2xsSW5QYXJ0bmVyUGF0aCA9IFwicGFydG5lcmNlbnRyYWw6RW5yb2xsSW5QYXJ0bmVyUGF0aFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEFsbGlhbmNlTGVhZENvbnRhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFsbGlhbmNlTGVhZENvbnRhY3QgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QWxsaWFuY2VMZWFkQ29udGFjdFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXQgPSBcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdEFsbG9jYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdEFsbG9jYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRCdXNpbmVzc1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJ1c2luZXNzUGxhbiA9IFwicGFydG5lcmNlbnRyYWw6R2V0QnVzaW5lc3NQbGFuXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0Q29sbGFib3JhdGlvbkNoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb25DaGFubmVsID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbGxhYm9yYXRpb25DaGFubmVsXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvbiA9IFwicGFydG5lcmNlbnRyYWw6R2V0Q29ubmVjdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25JbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uSW52aXRhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uSW52aXRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25QcmVmZXJlbmNlc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEVuZ2FnZW1lbnQgPSBcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50SW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RW5nYWdlbWVudEludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudEludml0YXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UGFydG5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lciA9IFwicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lclwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJEYXNoYm9hcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXJEYXNoYm9hcmQgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lckRhc2hib2FyZFwiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkdldFBhcnRuZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJ0bmVyUHJvZmlsZSA9IFwicGFydG5lcmNlbnRyYWw6R2V0UGFydG5lclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVXBkYXRlVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVVwZGF0ZVRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVVwZGF0ZVRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9maWxlVmlzaWJpbGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVZpc2liaWxpdHkgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVZpc2liaWxpdHlcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHNcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSBwYXJ0bmVyY2VudHJhbDpHZXRSZWxhdGlvbnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uc2hpcCA9IFwicGFydG5lcmNlbnRyYWw6R2V0UmVsYXRpb25zaGlwXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzXCI7XG5cdC8qKiBbUmVhZF0gcGFydG5lcmNlbnRyYWw6R2V0VmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRWZXJpZmljYXRpb24gPSBcInBhcnRuZXJjZW50cmFsOkdldFZlcmlmaWNhdGlvblwiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QWxsb2NhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCZW5lZml0QWxsb2NhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRBbGxvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QXBwbGljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFwcGxpY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJlbmVmaXRzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0QnVzaW5lc3NQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJ1c2luZXNzUGxhbnMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RCdXNpbmVzc1BsYW5zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENoYW5uZWxIYW5kc2hha2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENoYW5uZWxIYW5kc2hha2VzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENvbGxhYm9yYXRpb25DaGFubmVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25DaGFubmVscyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29sbGFib3JhdGlvbkNoYW5uZWxzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0Q29ubmVjdGlvbkludml0YXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdENvbm5lY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbnMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50TWVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRSZXNvdXJjZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXRpZXMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RPcHBvcnR1bml0aWVzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJQYXRocyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJQYXRocyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFBhcnRuZXJQYXRoc1wiO1xuXHQvKiogW0xpc3RdIHBhcnRuZXJjZW50cmFsOkxpc3RQYXJ0bmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJzID0gXCJwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lcnNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHNcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3NcIjtcblx0LyoqIFtMaXN0XSBwYXJ0bmVyY2VudHJhbDpMaXN0UmVsYXRpb25zaGlwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlbGF0aW9uc2hpcHMgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RSZWxhdGlvbnNoaXBzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RKb2JzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VTbmFwc2hvdHMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJlc291cmNlU25hcHNob3RzXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXZlbnVlQXR0cmlidXRpb25zID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXZlbnVlQXR0cmlidXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6TGlzdFNvbHV0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNvbHV0aW9ucyA9IFwicGFydG5lcmNlbnRyYWw6TGlzdFNvbHV0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHBhcnRuZXJjZW50cmFsOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInBhcnRuZXJjZW50cmFsOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UHV0QWxsaWFuY2VMZWFkQ29udGFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxsaWFuY2VMZWFkQ29udGFjdCA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRBbGxpYW5jZUxlYWRDb250YWN0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlB1dEJ1c2luZXNzUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QnVzaW5lc3NQbGFuID0gXCJwYXJ0bmVyY2VudHJhbDpQdXRCdXNpbmVzc1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UHV0UHJvZmlsZVZpc2liaWxpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb2ZpbGVWaXNpYmlsaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpQdXRQcm9maWxlVmlzaWJpbGl0eVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5ncyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNhbGxCZW5lZml0QXBwbGljYXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlJlamVjdENoYW5uZWxIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENoYW5uZWxIYW5kc2hha2UgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q2hhbm5lbEhhbmRzaGFrZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24gPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q29ubmVjdGlvbkludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6UmVqZWN0RW5nYWdlbWVudEludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gcGFydG5lcmNlbnRyYWw6U2VhcmNoUGFydG5lclByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hQYXJ0bmVyUHJvZmlsZXMgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U2VhcmNoUGFydG5lclByb2ZpbGVzXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGUgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZVwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFByb2ZpbGVVcGRhdGVUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlU25hcHNob3RKb2IgPVxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdGFydFZlcmlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWZXJpZmljYXRpb24gPSBcInBhcnRuZXJjZW50cmFsOlN0YXJ0VmVyaWZpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdG9wUmVzb3VyY2VTbmFwc2hvdEpvYlwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpTdWJtaXRCZW5lZml0QXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbiA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRCZW5lZml0QXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdE9wcG9ydHVuaXR5ID0gXCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eVwiO1xuXHQvKiogW1RhZ2dpbmddIHBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBwYXJ0bmVyY2VudHJhbDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJwYXJ0bmVyY2VudHJhbDpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmVuZWZpdEFwcGxpY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlcyA9XG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXNcIjtcblx0LyoqIFtXcml0ZV0gcGFydG5lcmNlbnRyYWw6VXBkYXRlRW5nYWdlbWVudENvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVPcHBvcnR1bml0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3Bwb3J0dW5pdHkgPSBcInBhcnRuZXJjZW50cmFsOlVwZGF0ZU9wcG9ydHVuaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50ID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZWxhdGlvbnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uc2hpcCA9IFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUmVsYXRpb25zaGlwXCI7XG5cdC8qKiBbV3JpdGVdIHBhcnRuZXJjZW50cmFsOlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uID1cblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBwYXJ0bmVyY2VudHJhbDpVc2VTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVc2VTZXNzaW9uID0gXCJwYXJ0bmVyY2VudHJhbDpVc2VTZXNzaW9uXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEFsbGlhbmNlTGVhZENvbnRhY3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QmVuZWZpdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QmVuZWZpdEFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0QnVzaW5lc3NQbGFuLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ2hhbm5lbCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rpb25QcmVmZXJlbmNlcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0RW5nYWdlbWVudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0RW5nYWdlbWVudEludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldE9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQYXJ0bmVyLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQYXJ0bmVyRGFzaGJvYXJkLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQYXJ0bmVyUHJvZmlsZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UHJvZmlsZVVwZGF0ZVRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFByb2ZpbGVWaXNpYmlsaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbnNoaXAsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlU25hcHNob3QsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5hY3Rpb25HZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLmFjdGlvbkdldFZlcmlmaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRNZW1iZXJzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5BY2NlcHRDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5BY2NlcHRDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQWNjZXB0RW5nYWdlbWVudEludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Bc3NpZ25PcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5Bc3NvY2lhdGVPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxDb25uZWN0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2ssXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQnVzaW5lc3NQbGFuLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVDaGFubmVsSGFuZHNoYWtlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbm5lbE1lbWJlcnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFubmVsUmVxdWVzdCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUVuZ2FnZW1lbnQsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZUVuZ2FnZW1lbnRDb250ZXh0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlT3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVBhcnRuZXIsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkNyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuQ3JlYXRlUmVsYXRpb25zaGlwLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZXNvdXJjZVNuYXBzaG90LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5DcmVhdGVSZXZlbnVlQXR0cmlidXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGVsZXRlUmVsYXRpb25zaGlwLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5EaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkRpc2Fzc29jaWF0ZU9wcG9ydHVuaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5FbnJvbGxJblBhcnRuZXJQYXRoLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRBbGxpYW5jZUxlYWRDb250YWN0LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRCdXNpbmVzc1BsYW4sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlB1dFByb2ZpbGVWaXNpYmlsaXR5LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5QdXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuUmVqZWN0Q29ubmVjdGlvbkludml0YXRpb24sXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TZW5kRW1haWxWZXJpZmljYXRpb25Db2RlLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFByb2ZpbGVVcGRhdGVUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN0YXJ0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5TdGFydFZlcmlmaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3RvcFJlc291cmNlU25hcHNob3RKb2IsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU3VibWl0T3Bwb3J0dW5pdHksXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVFbmdhZ2VtZW50Q29udGV4dCxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVPcHBvcnR1bml0eSxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50LFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5VcGRhdGVSZWxhdGlvbnNoaXAsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbixcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVXNlU2Vzc2lvbixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCZW5lZml0QWxsb2NhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCZW5lZml0QXBwbGljYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0QmVuZWZpdHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RCdXNpbmVzc1BsYW5zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0Q2hhbm5lbEhhbmRzaGFrZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDb2xsYWJvcmF0aW9uQ2hhbm5lbHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RDb25uZWN0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdEVuZ2FnZW1lbnRzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlcyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdE9wcG9ydHVuaXRpZXMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQYXJ0bmVyUGF0aHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQYXJ0bmVycyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3MsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZWxhdGlvbnNoaXBzLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLkxpc3RSZXNvdXJjZVNuYXBzaG90cyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zLFxuXHRcdFBhcnRuZXJjZW50cmFsQWN0aW9ucy5MaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuTGlzdFNvbHV0aW9ucyxcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuU2VhcmNoUGFydG5lclByb2ZpbGVzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXJ0bmVyY2VudHJhbEFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0UGFydG5lcmNlbnRyYWxBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBCZW5lZml0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBCZW5lZml0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEJlbmVmaXRBbGxvY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBbGxvY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQmVuZWZpdEFsbG9jYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFsbG9jYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEJlbmVmaXRBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxCZW5lZml0QXBwbGljYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBCZW5lZml0QXBwbGljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQmVuZWZpdEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDaGFubmVsSGFuZHNoYWtlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENoYW5uZWxIYW5kc2hha2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDaGFubmVsSGFuZHNoYWtlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENoYW5uZWxIYW5kc2hha2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdGlvbkludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25uZWN0aW9uSW52aXRhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uSW52aXRhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdGlvblByZWZlcmVuY2VzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdGlvblByZWZlcmVuY2VzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIERhc2hib2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhYmxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhYmxlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXNoYm9hcmRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFzaGJvYXJkSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERhc2hib2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhYmxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YWJsZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFzaGJvYXJkSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXNoYm9hcmRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRW5nYWdlbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRW5nYWdlbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgTWFya2V0cGxhY2VQcm9kdWN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1hcmtldHBsYWNlUHJvZHVjdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgTWFya2V0cGxhY2VQcm9kdWN0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtYXJrZXRwbGFjZVByb2R1Y3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgT3Bwb3J0dW5pdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcHBvcnR1bml0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQYXJ0bmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQYXJ0bmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVsYXRpb25zaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlbGF0aW9uc2hpcEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVsYXRpb25zaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlbGF0aW9uc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVsYXRpb25zaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlbGF0aW9uc2hpcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVsYXRpb25zaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWxhdGlvbnNoaXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVzb3VyY2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBFbmdhZ2VtZW50SWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW5nYWdlbWVudElkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZVR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGVtcGxhdGVJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0ZW1wbGF0ZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBTbmFwc2hvdFJldmlzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzbmFwc2hvdFJldmlzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVzb3VyY2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIEVuZ2FnZW1lbnRJZGVudGlmaWVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW5nYWdlbWVudElkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZVR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBUZW1wbGF0ZUlkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0ZW1wbGF0ZUlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBTbmFwc2hvdFJldmlzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc25hcHNob3RSZXZpc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJldmVudWVBdHRyaWJ1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmV2ZW51ZUF0dHJpYnV0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJldmVudWVBdHRyaWJ1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJldmVudWVBdHRyaWJ1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBSZXZlbnVlQXR0cmlidXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJldmVudWVBdHRyaWJ1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTb2x1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxTb2x1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRlbnRpZmllcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNvbHV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFNvbHV0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRhbG9nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0YWxvZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0YWxvZzogc3RyaW5nO1xuXHQvKiogVGhlIElkZW50aWZpZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc291cmNlLXNuYXBzaG90LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGFsb2c6IHN0cmluZztcblx0LyoqIFRoZSBJZGVudGlmaWVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVzb3VyY2Utc25hcHNob3Qtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0bmVyY2VudHJhbFJlc291cmNlU25hcHNob3RKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGFsb2cgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRhbG9nOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRlbnRpZmllciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcbn1cblxuY29uc3QgQmVuZWZpdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2JlbmVmaXRcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBCZW5lZml0QWxsb2NhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvYmVuZWZpdC1hbGxvY2F0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQmVuZWZpdEFwcGxpY2F0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9iZW5lZml0LWFwcGxpY2F0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQ2hhbm5lbEhhbmRzaGFrZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY2hhbm5lbC1oYW5kc2hha2VcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY29ubmVjdGlvblxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvY29ubmVjdGlvbi1pbnZpdGF0aW9uXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9jb25uZWN0aW9uLXByZWZlcmVuY2VzJC87XG5jb25zdCBEYXNoYm9hcmRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6Oig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvUmVwb3J0aW5nRGF0YVxcLyg/PHRhYmxlSWQ+W146Lz9dKylcXC9EYXNoYm9hcmRcXC8oPzxkYXNoYm9hcmRJZD5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnRcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvbWFya2V0cGxhY2UtcmV2ZW51ZS1zaGFyZVxcLyg/PG1hcmtldHBsYWNlUHJvZHVjdElkPlteOi8/XSspJC87XG5jb25zdCBPcHBvcnR1bml0eUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvb3Bwb3J0dW5pdHlcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL29wcG9ydHVuaXR5LWZyb20tZW5nYWdlbWVudC10YXNrXFwvKD88dGFza0lkPlteOi8/XSspJC87XG5jb25zdCBQYXJ0bmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wYXJ0bmVyXFwvKD88aWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wcm9ncmFtLW1hbmFnZW1lbnQtYWNjb3VudFxcLyg/PGlkZW50aWZpZXI+W146Lz9dKykkLztcbmNvbnN0IFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6OmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcHJvc3BlY3RpbmctZnJvbS1lbmdhZ2VtZW50LXRhc2tcXC8oPzx0YXNrSWRlbnRpZmllcj5bXjovP10rKSQvO1xuY29uc3QgUmVsYXRpb25zaGlwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9wcm9ncmFtLW1hbmFnZW1lbnQtYWNjb3VudFxcLyg/PHByb2dyYW1NYW5hZ2VtZW50QWNjb3VudElkPlteOi8/XSspXFwvcmVsYXRpb25zaGlwXFwvKD88cmVsYXRpb25zaGlwSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc291cmNlU25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnRcXC8oPzxlbmdhZ2VtZW50SWRlbnRpZmllcj5bXjovP10rKVxcL3Jlc291cmNlXFwvKD88cmVzb3VyY2VUeXBlPlteOi8/XSspXFwvKD88cmVzb3VyY2VJZGVudGlmaWVyPlteOi8/XSspXFwvdGVtcGxhdGVcXC8oPzx0ZW1wbGF0ZUlkZW50aWZpZXI+W146Lz9dKylcXC9yZXNvdXJjZS1zbmFwc2hvdFxcLyg/PHNuYXBzaG90UmV2aXNpb24+W146Lz9dKykkLztcbmNvbnN0IFJldmVudWVBdHRyaWJ1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvcmV2ZW51ZS1hdHRyaWJ1dGlvblxcLyg/PHJldmVudWVBdHRyaWJ1dGlvbklkPlteOi8/XSspJC87XG5jb25zdCBTb2x1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhdGFsb2dcXC8oPzxjYXRhbG9nPlteOi8/XSspXFwvc29sdXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpwYXJ0bmVyY2VudHJhbDooPzxyZWdpb24+W146XSopOjpjYXRhbG9nXFwvKD88Y2F0YWxvZz5bXjovP10rKVxcL2VuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFza1xcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFza1xcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgRW5nYWdlbWVudEludml0YXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGFydG5lcmNlbnRyYWw6KD88cmVnaW9uPlteOl0qKTo6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9lbmdhZ2VtZW50LWludml0YXRpb25cXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5jb25zdCBSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBhcnRuZXJjZW50cmFsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2F0YWxvZ1xcLyg/PGNhdGFsb2c+W146Lz9dKylcXC9yZXNvdXJjZS1zbmFwc2hvdC1qb2JcXC8oPzxpZGVudGlmaWVyPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgcGFydG5lcmNlbnRyYWwgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUGFydG5lcmNlbnRyYWxSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJlbmVmaXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYmVuZWZpdChwcm9wczogUGFydG5lcmNlbnRyYWxCZW5lZml0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2JlbmVmaXQvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBCZW5lZml0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCZW5lZml0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJlbmVmaXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQmVuZWZpdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCZW5lZml0QXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxCZW5lZml0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCZW5lZml0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEJlbmVmaXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJlbmVmaXRBbGxvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJlbmVmaXRBbGxvY2F0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEJlbmVmaXRBbGxvY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2JlbmVmaXQtYWxsb2NhdGlvbi8ke3Byb3BzLmlkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEJlbmVmaXRBbGxvY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCZW5lZml0QWxsb2NhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZW5lZml0QWxsb2NhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBCZW5lZml0QWxsb2NhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCZW5lZml0QWxsb2NhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxCZW5lZml0QWxsb2NhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmVuZWZpdEFsbG9jYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQmVuZWZpdEFsbG9jYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJlbmVmaXRBcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBiZW5lZml0QXBwbGljYXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQmVuZWZpdEFwcGxpY2F0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2JlbmVmaXQtYXBwbGljYXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBCZW5lZml0QXBwbGljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJlbmVmaXRBcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCZW5lZml0QXBwbGljYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQmVuZWZpdEFwcGxpY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJlbmVmaXRBcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxCZW5lZml0QXBwbGljYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJlbmVmaXRBcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBCZW5lZml0QXBwbGljYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENoYW5uZWxIYW5kc2hha2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbEhhbmRzaGFrZShcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxDaGFubmVsSGFuZHNoYWtlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2NoYW5uZWwtaGFuZHNoYWtlLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ2hhbm5lbEhhbmRzaGFrZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2hhbm5lbEhhbmRzaGFrZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDaGFubmVsSGFuZHNoYWtlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENoYW5uZWxIYW5kc2hha2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2hhbm5lbEhhbmRzaGFrZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxDaGFubmVsSGFuZHNoYWtlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDaGFubmVsSGFuZHNoYWtlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENoYW5uZWxIYW5kc2hha2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvbihwcm9wczogUGFydG5lcmNlbnRyYWxDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2Nvbm5lY3Rpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29ubmVjdGlvbkludml0YXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvbkludml0YXRpb24oXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9jb25uZWN0aW9uLWludml0YXRpb24vJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25uZWN0aW9uSW52aXRhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvbkludml0YXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdGlvbkludml0YXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29ubmVjdGlvbkludml0YXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvbkludml0YXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsQ29ubmVjdGlvbkludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rpb25JbnZpdGF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3Rpb25JbnZpdGF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdGlvblByZWZlcmVuY2VzKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9jb25uZWN0aW9uLXByZWZlcmVuY2VzYDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3Rpb25QcmVmZXJlbmNlcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25QcmVmZXJlbmNlc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbENvbm5lY3Rpb25QcmVmZXJlbmNlc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdGlvblByZWZlcmVuY2VzQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3Rpb25QcmVmZXJlbmNlcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRGFzaGJvYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhc2hib2FyZChwcm9wczogUGFydG5lcmNlbnRyYWxEYXNoYm9hcmRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L1JlcG9ydGluZ0RhdGEvJHtwcm9wcy50YWJsZUlkfS9EYXNoYm9hcmQvJHtwcm9wcy5kYXNoYm9hcmRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRGFzaGJvYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXNoYm9hcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFzaGJvYXJkQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERhc2hib2FyZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXNoYm9hcmRBcm4oYXJuOiBzdHJpbmcpOiBQYXJ0bmVyY2VudHJhbERhc2hib2FyZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFzaGJvYXJkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIERhc2hib2FyZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHR0YWJsZUlkOiBtYXRjaC5ncm91cHMhLnRhYmxlSWQsXG5cdFx0XHRkYXNoYm9hcmRJZDogbWF0Y2guZ3JvdXBzIS5kYXNoYm9hcmRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBFbmdhZ2VtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZ2FnZW1lbnQocHJvcHM6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRW5nYWdlbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5nYWdlbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEVuZ2FnZW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmdhZ2VtZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEVuZ2FnZW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L21hcmtldHBsYWNlLXJldmVudWUtc2hhcmUvJHtwcm9wcy5tYXJrZXRwbGFjZVByb2R1Y3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXJ0bmVyY2VudHJhbE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBNYXJrZXRwbGFjZVJldmVudWVTaGFyZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRtYXJrZXRwbGFjZVByb2R1Y3RJZDogbWF0Y2guZ3JvdXBzIS5tYXJrZXRwbGFjZVByb2R1Y3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHBvcnR1bml0eShwcm9wczogUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vb3Bwb3J0dW5pdHkvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3Bwb3J0dW5pdHlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3Bwb3J0dW5pdHlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3Bwb3J0dW5pdHkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3Bwb3J0dW5pdHlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wcG9ydHVuaXR5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9wcG9ydHVuaXR5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L29wcG9ydHVuaXR5LWZyb20tZW5nYWdlbWVudC10YXNrLyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsT3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUGFydG5lciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXJ0bmVyKHByb3BzOiBQYXJ0bmVyY2VudHJhbFBhcnRuZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3BhcnRuZXIvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQYXJ0bmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXJ0bmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhcnRuZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUGFydG5lciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXJ0bmVyQXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxQYXJ0bmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJ0bmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFBhcnRuZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9ncmFtTWFuYWdlbWVudEFjY291bnQoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Byb2dyYW0tbWFuYWdlbWVudC1hY2NvdW50LyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9ncmFtTWFuYWdlbWVudEFjY291bnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdGlkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuaWRlbnRpZmllcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Byb3NwZWN0aW5nLWZyb20tZW5nYWdlbWVudC10YXNrLyR7cHJvcHMudGFza0lkZW50aWZpZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFza0lkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEudGFza0lkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVsYXRpb25zaGlwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlbGF0aW9uc2hpcChwcm9wczogUGFydG5lcmNlbnRyYWxSZWxhdGlvbnNoaXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3Byb2dyYW0tbWFuYWdlbWVudC1hY2NvdW50LyR7cHJvcHMucHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWR9L3JlbGF0aW9uc2hpcC8ke3Byb3BzLnJlbGF0aW9uc2hpcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZWxhdGlvbnNoaXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlbGF0aW9uc2hpcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWxhdGlvbnNoaXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVsYXRpb25zaGlwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlbGF0aW9uc2hpcEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZWxhdGlvbnNoaXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlbGF0aW9uc2hpcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWxhdGlvbnNoaXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0cHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQ6IG1hdGNoLmdyb3VwcyEucHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50SWQsXG5cdFx0XHRyZWxhdGlvbnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5yZWxhdGlvbnNoaXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXNvdXJjZVNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlU25hcHNob3QoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9lbmdhZ2VtZW50LyR7cHJvcHMuZW5nYWdlbWVudElkZW50aWZpZXJ9L3Jlc291cmNlLyR7cHJvcHMucmVzb3VyY2VUeXBlfS8ke3Byb3BzLnJlc291cmNlSWRlbnRpZmllcn0vdGVtcGxhdGUvJHtwcm9wcy50ZW1wbGF0ZUlkZW50aWZpZXJ9L3Jlc291cmNlLXNuYXBzaG90LyR7cHJvcHMuc25hcHNob3RSZXZpc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVzb3VyY2VTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzb3VyY2VTbmFwc2hvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNvdXJjZVNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlc291cmNlU25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzb3VyY2VTbmFwc2hvdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNvdXJjZVNuYXBzaG90QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlc291cmNlU25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0ZW5nYWdlbWVudElkZW50aWZpZXI6IG1hdGNoLmdyb3VwcyEuZW5nYWdlbWVudElkZW50aWZpZXIsXG5cdFx0XHRyZXNvdXJjZVR5cGU6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VUeXBlLFxuXHRcdFx0cmVzb3VyY2VJZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWRlbnRpZmllcixcblx0XHRcdHRlbXBsYXRlSWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS50ZW1wbGF0ZUlkZW50aWZpZXIsXG5cdFx0XHRzbmFwc2hvdFJldmlzaW9uOiBtYXRjaC5ncm91cHMhLnNuYXBzaG90UmV2aXNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmV2ZW51ZUF0dHJpYnV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJldmVudWVBdHRyaWJ1dGlvbihcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxSZXZlbnVlQXR0cmlidXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXJ0bmVyY2VudHJhbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vcmV2ZW51ZS1hdHRyaWJ1dGlvbi8ke3Byb3BzLnJldmVudWVBdHRyaWJ1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXZlbnVlQXR0cmlidXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJldmVudWVBdHRyaWJ1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXZlbnVlQXR0cmlidXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmV2ZW51ZUF0dHJpYnV0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJldmVudWVBdHRyaWJ1dGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZXZlbnVlQXR0cmlidXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJldmVudWVBdHRyaWJ1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXZlbnVlQXR0cmlidXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0cmV2ZW51ZUF0dHJpYnV0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmV2ZW51ZUF0dHJpYnV0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU29sdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc29sdXRpb24ocHJvcHM6IFBhcnRuZXJjZW50cmFsU29sdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L3NvbHV0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU29sdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNvbHV0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNvbHV0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNvbHV0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNvbHV0aW9uQXJuKGFybjogc3RyaW5nKTogUGFydG5lcmNlbnRyYWxTb2x1dGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU29sdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU29sdXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0aWRlbnRpZmllcjogbWF0Y2guZ3JvdXBzIS5pZGVudGlmaWVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQtYnktYWNjZXB0aW5nLWludml0YXRpb24tdGFzay8ke3Byb3BzLnRhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5nYWdlbWVudC1ieS1hY2NlcHRpbmctaW52aXRhdGlvbi10YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgSW52YWxpZCBlbmdhZ2VtZW50LWJ5LWFjY2VwdGluZy1pbnZpdGF0aW9uLXRhc2sgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0YWxvZzogbWF0Y2guZ3JvdXBzIS5jYXRhbG9nLFxuXHRcdFx0dGFza0lkOiBtYXRjaC5ncm91cHMhLnRhc2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayhcblx0XHRwcm9wczogUGFydG5lcmNlbnRyYWxFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y2F0YWxvZy8ke3Byb3BzLmNhdGFsb2d9L2VuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrLyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmdhZ2VtZW50LWZyb20tb3Bwb3J0dW5pdHktdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW5nYWdlbWVudC1mcm9tLW9wcG9ydHVuaXR5LXRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZ2FnZW1lbnQtZnJvbS1vcHBvcnR1bml0eS10YXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGFsb2c6IG1hdGNoLmdyb3VwcyEuY2F0YWxvZyxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5nYWdlbWVudC1pbnZpdGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZ2FnZW1lbnRJbnZpdGF0aW9uKFxuXHRcdHByb3BzOiBQYXJ0bmVyY2VudHJhbEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGFydG5lcmNlbnRyYWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYXRhbG9nLyR7cHJvcHMuY2F0YWxvZ30vZW5nYWdlbWVudC1pbnZpdGF0aW9uLyR7cHJvcHMuaWRlbnRpZmllcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5nYWdlbWVudC1pbnZpdGF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmdhZ2VtZW50SW52aXRhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmdhZ2VtZW50SW52aXRhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmdhZ2VtZW50LWludml0YXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5nYWdlbWVudEludml0YXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFBhcnRuZXJjZW50cmFsRW5nYWdlbWVudEludml0YXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZ2FnZW1lbnRJbnZpdGF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZ2FnZW1lbnQtaW52aXRhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzb3VyY2Utc25hcHNob3Qtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlU25hcHNob3RKb2IoXG5cdFx0cHJvcHM6IFBhcnRuZXJjZW50cmFsUmVzb3VyY2VTbmFwc2hvdEpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBhcnRuZXJjZW50cmFsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhdGFsb2cvJHtwcm9wcy5jYXRhbG9nfS9yZXNvdXJjZS1zbmFwc2hvdC1qb2IvJHtwcm9wcy5pZGVudGlmaWVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc291cmNlU25hcHNob3RKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzb3VyY2VTbmFwc2hvdEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNvdXJjZS1zbmFwc2hvdC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzb3VyY2VTbmFwc2hvdEpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGFydG5lcmNlbnRyYWxSZXNvdXJjZVNuYXBzaG90Sm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNvdXJjZVNuYXBzaG90Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc291cmNlLXNuYXBzaG90LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRhbG9nOiBtYXRjaC5ncm91cHMhLmNhdGFsb2csXG5cdFx0XHRpZGVudGlmaWVyOiBtYXRjaC5ncm91cHMhLmlkZW50aWZpZXIsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgcGFydG5lcmNlbnRyYWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyY2VudHJhbE9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRDaGFubmVsSGFuZHNoYWtlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdENvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QWNjZXB0Q29ubmVjdGlvbkludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0RW5nYWdlbWVudEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFtZW5kQmVuZWZpdEFwcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc2lnbk9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzaWduT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzaWduT3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQXdzVHJhaW5pbmdDZXJ0aWZpY2F0aW9uRW1haWxEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVCZW5lZml0QXBwbGljYXRpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU9wcG9ydHVuaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6QXNzb2NpYXRlT3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDaGFubmVsSGFuZHNoYWtlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbENvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbENvbm5lY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQ29ubmVjdGlvbkludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxQcm9maWxlVXBkYXRlVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFByb2ZpbGVVcGRhdGVUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhbmNlbFByb2ZpbGVVcGRhdGVUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVCZW5lZml0QXBwbGljYXRpb25cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNoYW5uZWxIYW5kc2hha2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNoYW5uZWxIYW5kc2hha2VcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVsYXRpb25zaGlwXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUNvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZ2FnZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5nYWdlbWVudENvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVFbmdhZ2VtZW50Q29udGV4dFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmdhZ2VtZW50SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZUVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUGFydG5lclwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVsYXRpb25zaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25zaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlbGF0aW9uc2hpcFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXZlbnVlQXR0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlbGF0aW9uc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEZWxldGVSZWxhdGlvbnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkRpc2Fzc29jaWF0ZUF3c1RyYWluaW5nQ2VydGlmaWNhdGlvbkVtYWlsRG9tYWluXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6RGlzYXNzb2NpYXRlQmVuZWZpdEFwcGxpY2F0aW9uUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpEaXNhc3NvY2lhdGVPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBbGxpYW5jZUxlYWRDb250YWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBbGxpYW5jZUxlYWRDb250YWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEFsbGlhbmNlTGVhZENvbnRhY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBd3NPcHBvcnR1bml0eVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0QXdzT3Bwb3J0dW5pdHlTdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJlbmVmaXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJlbmVmaXQ6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6R2V0QmVuZWZpdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmVuZWZpdEFsbG9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJlbmVmaXRBbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOkdldENvbm5lY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3Rpb25JbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0aW9uSW52aXRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uSW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbm5lY3Rpb25QcmVmZXJlbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRDb25uZWN0aW9uUHJlZmVyZW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RW5nYWdlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RW5nYWdlbWVudDogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFbmdhZ2VtZW50SW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RW5nYWdlbWVudEludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3Bwb3J0dW5pdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGFydG5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGFydG5lcjogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpHZXRQYXJ0bmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm9maWxlVXBkYXRlVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvZmlsZVVwZGF0ZVRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UHJvZmlsZVVwZGF0ZVRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHJvZmlsZVZpc2liaWxpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb2ZpbGVWaXNpYmlsaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFByb2ZpbGVWaXNpYmlsaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uRGV0YWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZWxhdGlvbnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXNvdXJjZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlU25hcHNob3RKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXZlbnVlQXR0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJldmVudWVBdHRyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlbGxpbmdTeXN0ZW1TZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRTZWxsaW5nU3lzdGVtU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VmVyaWZpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRWZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0VmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCZW5lZml0QWxsb2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RCZW5lZml0QWxsb2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJlbmVmaXRBcHBsaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0QmVuZWZpdEFwcGxpY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QmVuZWZpdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdHM6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6TGlzdEJlbmVmaXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdENoYW5uZWxIYW5kc2hha2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0aW9uSW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uSW52aXRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RDb25uZWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50SW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5nYWdlbWVudE1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudE1lbWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdEVuZ2FnZW1lbnRNZW1iZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZ2FnZW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RFbmdhZ2VtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wcG9ydHVuaXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3Bwb3J0dW5pdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXJ0bmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyczogc3RyaW5nW10gPSBbXCJwYXJ0bmVyY2VudHJhbDpMaXN0UGFydG5lcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb2dyYW1NYW5hZ2VtZW50QWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVsYXRpb25zaGlwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWxhdGlvbnNoaXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZWxhdGlvbnNoaXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZVNuYXBzaG90Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZVNuYXBzaG90Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkxpc3RSZXNvdXJjZVNuYXBzaG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXZlbnVlQXR0cmlidXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFJldmVudWVBdHRyaWJ1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNvbHV0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb2x1dGlvbnM6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6TGlzdFNvbHV0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBbGxpYW5jZUxlYWRDb250YWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxsaWFuY2VMZWFkQ29udGFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQdXRBbGxpYW5jZUxlYWRDb250YWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFByb2ZpbGVWaXNpYmlsaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvZmlsZVZpc2liaWxpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0UHJvZmlsZVZpc2liaWxpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpSZWNhbGxCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENoYW5uZWxIYW5kc2hha2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0Q2hhbm5lbEhhbmRzaGFrZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RDb25uZWN0aW9uSW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdEVuZ2FnZW1lbnRJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0RW5nYWdlbWVudEludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6UmVqZWN0RW5nYWdlbWVudEludml0YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRFbWFpbFZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpBY2NlcHRFbmdhZ2VtZW50SW52aXRhdGlvblwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlT3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZVJlc291cmNlU25hcHNob3RKb2JcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRJbnZpdGF0aW9uXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdWJtaXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlRW5nYWdlbWVudFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdFwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6R2V0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2tcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYlwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3VibWl0T3Bwb3J0dW5pdHlcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNyZWF0ZU9wcG9ydHVuaXR5XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDcmVhdGVSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRFbmdhZ2VtZW50XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpHZXRPcHBvcnR1bml0eVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9maWxlVXBkYXRlVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFByb2ZpbGVVcGRhdGVUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb3NwZWN0aW5nRnJvbUVuZ2FnZW1lbnRUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRRdWFsaWZpY2F0aW9uc0Rpc2Fzc29jaWF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVzb3VyY2VTbmFwc2hvdEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXZlbnVlQXR0cmlidXRpb25BbGxvY2F0aW9uc1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFZlcmlmaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VmVyaWZpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN0YXJ0VmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlc291cmNlU25hcHNob3RKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6U3RvcFJlc291cmNlU25hcHNob3RKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdEJlbmVmaXRBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRPcHBvcnR1bml0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdE9wcG9ydHVuaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlN1Ym1pdE9wcG9ydHVuaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicGFydG5lcmNlbnRyYWw6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInBhcnRuZXJjZW50cmFsOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVCZW5lZml0QXBwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUNvbm5lY3Rpb25QcmVmZXJlbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkdldEVuZ2FnZW1lbnRcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZUVuZ2FnZW1lbnRDb250ZXh0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3Bwb3J0dW5pdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHBvcnR1bml0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVPcHBvcnR1bml0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6VXBkYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlbGF0aW9uc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpVcGRhdGVSZWxhdGlvbnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV2ZW51ZUF0dHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOlVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvblwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgcGFydG5lcmNlbnRyYWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0bmVyY2VudHJhbENvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWNjZXB0Q2hhbm5lbEhhbmRzaGFrZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRDaGFubmVsSGFuZHNoYWtlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0Q29ubmVjdGlvbkludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEVuZ2FnZW1lbnRJbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBbWVuZEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFzc2lnbk9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc2lnbk9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXNzb2NpYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsQ2hhbm5lbEhhbmRzaGFrZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDaGFubmVsSGFuZHNoYWtlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUHJvZmlsZVVwZGF0ZVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDaGFubmVsSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWxIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5nYWdlbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmdhZ2VtZW50Q29udGV4dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5nYWdlbWVudEludml0YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPcHBvcnR1bml0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHBvcnR1bml0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGFydG5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWxhdGlvbnNoaXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25zaGlwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VTbmFwc2hvdEpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmV2ZW51ZUF0dHJpYnV0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJldmVudWVBdHRyaWJ1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVsYXRpb25zaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVzb3VyY2VTbmFwc2hvdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBd3NUcmFpbmluZ0NlcnRpZmljYXRpb25FbWFpbERvbWFpbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUJlbmVmaXRBcHBsaWNhdGlvblJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBbGxpYW5jZUxlYWRDb250YWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFsbGlhbmNlTGVhZENvbnRhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEF3c09wcG9ydHVuaXR5U3VtbWFyeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBd3NPcHBvcnR1bml0eVN1bW1hcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEJlbmVmaXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEJlbmVmaXRBbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJlbmVmaXRBbGxvY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRDb25uZWN0aW9uSW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uSW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q29ubmVjdGlvblByZWZlcmVuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25QcmVmZXJlbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0RW5nYWdlbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmdhZ2VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRFbmdhZ2VtZW50SW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFbmdhZ2VtZW50SW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldE1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldE9wcG9ydHVuaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9wcG9ydHVuaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQYXJ0bmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcnRuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFBhcnRuZXJEYXNoYm9hcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFydG5lckRhc2hib2FyZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UHJvZmlsZVVwZGF0ZVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZmlsZVVwZGF0ZVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFByb2ZpbGVWaXNpYmlsaXR5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb2ZpbGVWaXNpYmlsaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQcm9ncmFtTWFuYWdlbWVudEFjY291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvZ3JhbU1hbmFnZW1lbnRBY2NvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UXVhbGlmaWNhdGlvbnNBc3NvY2lhdGlvbkRldGFpbHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmVsYXRpb25zaGlwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uc2hpcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmVzb3VyY2VTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlU25hcHNob3RKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXZlbnVlQXR0cmlidXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnNUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VsbGluZ1N5c3RlbVNldHRpbmdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlbGxpbmdTeXN0ZW1TZXR0aW5nc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VmVyaWZpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFZlcmlmaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6VmVyaWZpY2F0aW9uVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEJlbmVmaXRBbGxvY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFsbG9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdEFwcGxpY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RCZW5lZml0cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmVuZWZpdHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0Q2hhbm5lbEhhbmRzaGFrZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxIYW5kc2hha2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdENvbm5lY3Rpb25JbnZpdGF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbkludml0YXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0Q29ubmVjdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50QnlBY2NlcHRpbmdJbnZpdGF0aW9uVGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRGcm9tT3Bwb3J0dW5pdHlUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEVuZ2FnZW1lbnRJbnZpdGF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudEludml0YXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudE1lbWJlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZ2FnZW1lbnRNZW1iZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RW5nYWdlbWVudFJlc291cmNlQXNzb2NpYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmdhZ2VtZW50UmVzb3VyY2VBc3NvY2lhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RFbmdhZ2VtZW50cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5nYWdlbWVudHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZUFsbG9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0TWFya2V0cGxhY2VSZXZlbnVlU2hhcmVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYXJrZXRwbGFjZVJldmVudWVTaGFyZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RPcHBvcnR1bml0aWVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0aWVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0T3Bwb3J0dW5pdHlGcm9tRW5nYWdlbWVudFRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RQYXJ0bmVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9ncmFtTWFuYWdlbWVudEFjY291bnRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZWxhdGlvbnNoaXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWxhdGlvbnNoaXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmVzb3VyY2VTbmFwc2hvdEpvYnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RKb2JzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmVzb3VyY2VTbmFwc2hvdHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlU25hcHNob3RzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uQWxsb2NhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2ZW51ZUF0dHJpYnV0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFNvbHV0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29sdXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0QWxsaWFuY2VMZWFkQ29udGFjdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGxpYW5jZUxlYWRDb250YWN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRQcm9maWxlVmlzaWJpbGl0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm9maWxlVmlzaWJpbGl0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0U2VsbGluZ1N5c3RlbVNldHRpbmdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlbGxpbmdTeXN0ZW1TZXR0aW5nc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVjYWxsQmVuZWZpdEFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlY2FsbEJlbmVmaXRBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlamVjdENoYW5uZWxIYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0Q2hhbm5lbEhhbmRzaGFrZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2hhbm5lbEhhbmRzaGFrZVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdENvbm5lY3Rpb25JbnZpdGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RFbmdhZ2VtZW50SW52aXRhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VuZEVtYWlsVmVyaWZpY2F0aW9uQ29kZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kRW1haWxWZXJpZmljYXRpb25Db2RlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEVuZ2FnZW1lbnRCeUFjY2VwdGluZ0ludml0YXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW5nYWdlbWVudEJ5QWNjZXB0aW5nSW52aXRhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RW5nYWdlbWVudEZyb21PcHBvcnR1bml0eVRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbmdhZ2VtZW50RnJvbU9wcG9ydHVuaXR5VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRPcHBvcnR1bml0eUZyb21FbmdhZ2VtZW50VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE9wcG9ydHVuaXR5RnJvbUVuZ2FnZW1lbnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFByb2ZpbGVVcGRhdGVUYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvZmlsZVVwZGF0ZVRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UHJvc3BlY3RpbmdGcm9tRW5nYWdlbWVudFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm9zcGVjdGluZ0Zyb21FbmdhZ2VtZW50VGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRRdWFsaWZpY2F0aW9uc0Fzc29jaWF0aW9uVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFF1YWxpZmljYXRpb25zQXNzb2NpYXRpb25UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFF1YWxpZmljYXRpb25zRGlzYXNzb2NpYXRpb25UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UXVhbGlmaWNhdGlvbnNEaXNhc3NvY2lhdGlvblRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlc291cmNlU25hcHNob3RKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJldmVudWVBdHRyaWJ1dGlvbkFsbG9jYXRpb25zVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRWZXJpZmljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRWZXJpZmljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXNvdXJjZVNuYXBzaG90Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdWJtaXRCZW5lZml0QXBwbGljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QmVuZWZpdEFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3VibWl0T3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0T3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzXCIsXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpQcm9ncmFtc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6RnVsZmlsbG1lbnRUeXBlc1wiLFxuXHRcdFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUJlbmVmaXRBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCZW5lZml0QXBwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIixcblx0XHRcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDb25uZWN0aW9uUHJlZmVyZW5jZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvblByZWZlcmVuY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmdhZ2VtZW50Q29udGV4dENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTWFya2V0cGxhY2VSZXZlbnVlU2hhcmVBbGxvY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hcmtldHBsYWNlUmV2ZW51ZVNoYXJlQWxsb2NhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlT3Bwb3J0dW5pdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3Bwb3J0dW5pdHlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVByb2dyYW1NYW5hZ2VtZW50QWNjb3VudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9ncmFtTWFuYWdlbWVudEFjY291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVJlbGF0aW9uc2hpcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbnNoaXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVJldmVudWVBdHRyaWJ1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXZlbnVlQXR0cmlidXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVzZVNlc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXNlU2Vzc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGFydG5lcmNlbnRyYWw6Q2F0YWxvZ1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOkNhdGFsb2cgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENBVEFMT0cgPSBcInBhcnRuZXJjZW50cmFsOkNhdGFsb2dcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDSEFOTkVMX0hBTkRTSEFLRV9UWVBFID1cblx0XHRcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRlVMRklMTE1FTlRfVFlQRVMgPSBcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOlByb2dyYW1zIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPR1JBTVMgPSBcInBhcnRuZXJjZW50cmFsOlByb2dyYW1zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVMQVRFRF9FTlRJVFlfVFlQRSA9IFwicGFydG5lcmNlbnRyYWw6UmVsYXRlZEVudGl0eVR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBhcnRuZXJjZW50cmFsOlZlcmlmaWNhdGlvblR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZFUklGSUNBVElPTl9UWVBFID0gXCJwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOkNhdGFsb2dgLlxuXHQgKi9cblx0c3RhdGljIGNhdGFsb2codmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXJ0bmVyY2VudHJhbDpDYXRhbG9nXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpDaGFubmVsSGFuZHNoYWtlVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbEhhbmRzaGFrZVR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBhcnRuZXJjZW50cmFsOkNoYW5uZWxIYW5kc2hha2VUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpGdWxmaWxsbWVudFR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBmdWxmaWxsbWVudFR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInBhcnRuZXJjZW50cmFsOkZ1bGZpbGxtZW50VHlwZXNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBhcnRuZXJjZW50cmFsOlByb2dyYW1zYC5cblx0ICovXG5cdHN0YXRpYyBwcm9ncmFtcyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwicGFydG5lcmNlbnRyYWw6UHJvZ3JhbXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpSZWxhdGVkRW50aXR5VHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVsYXRlZEVudGl0eVR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBhcnRuZXJjZW50cmFsOlJlbGF0ZWRFbnRpdHlUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlYC5cblx0ICovXG5cdHN0YXRpYyB2ZXJpZmljYXRpb25UeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXJ0bmVyY2VudHJhbDpWZXJpZmljYXRpb25UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19