@cdk_utils/iam 1.2.0 → 1.4.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 (462) hide show
  1. package/.jsii +3907 -2382
  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.d.ts +6 -0
  9. package/lib/generated/services/acm.js +16 -5
  10. package/lib/generated/services/aco-automation.js +4 -4
  11. package/lib/generated/services/action-recommendations.js +1 -1
  12. package/lib/generated/services/activate.js +1 -1
  13. package/lib/generated/services/agent-registry.js +4 -4
  14. package/lib/generated/services/agentaccess-mcp.js +2 -2
  15. package/lib/generated/services/aidevops.js +4 -4
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.d.ts +126 -0
  26. package/lib/generated/services/appconfig.js +157 -15
  27. package/lib/generated/services/appfabric.js +4 -4
  28. package/lib/generated/services/appflow.js +4 -4
  29. package/lib/generated/services/application-autoscaling.js +4 -4
  30. package/lib/generated/services/application-signals-mcp.js +3 -3
  31. package/lib/generated/services/application-signals.js +4 -4
  32. package/lib/generated/services/application-transformation.js +1 -1
  33. package/lib/generated/services/applicationinsights.js +3 -3
  34. package/lib/generated/services/appmesh-preview.js +2 -2
  35. package/lib/generated/services/appmesh.js +4 -4
  36. package/lib/generated/services/apprunner.js +4 -4
  37. package/lib/generated/services/appstream.js +4 -4
  38. package/lib/generated/services/appstudio.js +2 -2
  39. package/lib/generated/services/appsync.js +4 -4
  40. package/lib/generated/services/apptest.js +3 -3
  41. package/lib/generated/services/aps.js +4 -4
  42. package/lib/generated/services/arc-region-switch.js +4 -4
  43. package/lib/generated/services/arc-zonal-shift.js +4 -4
  44. package/lib/generated/services/arsenal.js +1 -1
  45. package/lib/generated/services/artifact.js +4 -4
  46. package/lib/generated/services/athena.js +4 -4
  47. package/lib/generated/services/auditmanager.js +4 -4
  48. package/lib/generated/services/autoscaling-plans.js +2 -2
  49. package/lib/generated/services/autoscaling.js +4 -4
  50. package/lib/generated/services/aws-external-anthropic.js +3 -3
  51. package/lib/generated/services/aws-marketplace-management.js +1 -1
  52. package/lib/generated/services/aws-marketplace.js +4 -4
  53. package/lib/generated/services/aws-portal.js +1 -1
  54. package/lib/generated/services/awsconnector.js +1 -1
  55. package/lib/generated/services/b2bi.js +4 -4
  56. package/lib/generated/services/backup-gateway.js +4 -4
  57. package/lib/generated/services/backup-search.js +4 -4
  58. package/lib/generated/services/backup-storage.js +1 -1
  59. package/lib/generated/services/backup.js +4 -4
  60. package/lib/generated/services/batch.js +4 -4
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.js +4 -4
  66. package/lib/generated/services/bedrock-mantle.js +3 -3
  67. package/lib/generated/services/bedrock-websearch.js +2 -2
  68. package/lib/generated/services/bedrock.d.ts +65 -0
  69. package/lib/generated/services/bedrock.js +75 -5
  70. package/lib/generated/services/billing.js +4 -4
  71. package/lib/generated/services/billingconductor.js +4 -4
  72. package/lib/generated/services/braket.js +4 -4
  73. package/lib/generated/services/budgets.js +4 -4
  74. package/lib/generated/services/bugbust.js +3 -3
  75. package/lib/generated/services/cases.js +4 -4
  76. package/lib/generated/services/cassandra.js +4 -4
  77. package/lib/generated/services/ce.js +4 -4
  78. package/lib/generated/services/chatbot.js +4 -4
  79. package/lib/generated/services/chime.js +4 -4
  80. package/lib/generated/services/cleanrooms-ml.js +4 -4
  81. package/lib/generated/services/cleanrooms.js +11 -7
  82. package/lib/generated/services/cloud9.js +4 -4
  83. package/lib/generated/services/clouddirectory.js +3 -3
  84. package/lib/generated/services/cloudformation.js +4 -4
  85. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  86. package/lib/generated/services/cloudfront.js +4 -4
  87. package/lib/generated/services/cloudhsm.js +4 -4
  88. package/lib/generated/services/cloudsearch.js +3 -3
  89. package/lib/generated/services/cloudshell.js +3 -3
  90. package/lib/generated/services/cloudtrail-data.js +4 -4
  91. package/lib/generated/services/cloudtrail.js +4 -4
  92. package/lib/generated/services/cloudwatch.js +4 -4
  93. package/lib/generated/services/codeartifact.js +4 -4
  94. package/lib/generated/services/codebuild.js +4 -4
  95. package/lib/generated/services/codecatalyst.js +4 -4
  96. package/lib/generated/services/codecommit.d.ts +2 -0
  97. package/lib/generated/services/codecommit.js +7 -5
  98. package/lib/generated/services/codeconnections.js +4 -4
  99. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  100. package/lib/generated/services/codedeploy.js +4 -4
  101. package/lib/generated/services/codeguru-profiler.js +4 -4
  102. package/lib/generated/services/codeguru-reviewer.js +4 -4
  103. package/lib/generated/services/codeguru-security.js +4 -4
  104. package/lib/generated/services/codeguru.js +1 -1
  105. package/lib/generated/services/codepipeline.js +4 -4
  106. package/lib/generated/services/codestar-connections.js +4 -4
  107. package/lib/generated/services/codestar-notifications.js +4 -4
  108. package/lib/generated/services/codestar.js +3 -3
  109. package/lib/generated/services/codewhisperer.js +3 -3
  110. package/lib/generated/services/cognito-identity.js +4 -4
  111. package/lib/generated/services/cognito-idp.js +4 -4
  112. package/lib/generated/services/cognito-sync.js +3 -3
  113. package/lib/generated/services/comprehend.js +4 -4
  114. package/lib/generated/services/comprehendmedical.js +3 -3
  115. package/lib/generated/services/compute-optimizer.js +3 -3
  116. package/lib/generated/services/config.js +4 -4
  117. package/lib/generated/services/connect-campaigns.js +4 -4
  118. package/lib/generated/services/connect.d.ts +2 -0
  119. package/lib/generated/services/connect.js +7 -5
  120. package/lib/generated/services/consoleapp.js +2 -2
  121. package/lib/generated/services/consolidatedbilling.js +1 -1
  122. package/lib/generated/services/controlcatalog.js +3 -3
  123. package/lib/generated/services/controltower.js +4 -4
  124. package/lib/generated/services/cost-optimization-hub.js +2 -2
  125. package/lib/generated/services/cur.js +4 -4
  126. package/lib/generated/services/customer-verification.js +1 -1
  127. package/lib/generated/services/databrew.js +4 -4
  128. package/lib/generated/services/dataexchange.js +4 -4
  129. package/lib/generated/services/datapipeline.js +4 -4
  130. package/lib/generated/services/datasync.js +4 -4
  131. package/lib/generated/services/datazone.js +4 -4
  132. package/lib/generated/services/dax.js +4 -4
  133. package/lib/generated/services/dbqms.js +1 -1
  134. package/lib/generated/services/deadline.js +4 -4
  135. package/lib/generated/services/detective.js +4 -4
  136. package/lib/generated/services/devicefarm.js +4 -4
  137. package/lib/generated/services/devops-guru.js +4 -4
  138. package/lib/generated/services/directconnect.js +4 -4
  139. package/lib/generated/services/discovery.js +3 -3
  140. package/lib/generated/services/dlm.js +4 -4
  141. package/lib/generated/services/dms.js +6 -5
  142. package/lib/generated/services/docdb-elastic.js +4 -4
  143. package/lib/generated/services/drs.js +4 -4
  144. package/lib/generated/services/ds-data.js +4 -4
  145. package/lib/generated/services/ds.js +4 -4
  146. package/lib/generated/services/dsql.js +4 -4
  147. package/lib/generated/services/dynamodb.js +4 -4
  148. package/lib/generated/services/ebs.js +4 -4
  149. package/lib/generated/services/ec2-instance-connect.js +4 -4
  150. package/lib/generated/services/ec2.js +4 -4
  151. package/lib/generated/services/ec2messages.js +2 -2
  152. package/lib/generated/services/ecr-public.js +4 -4
  153. package/lib/generated/services/ecr.js +4 -4
  154. package/lib/generated/services/ecs-mcp.js +1 -1
  155. package/lib/generated/services/ecs.js +4 -4
  156. package/lib/generated/services/eks-auth.js +4 -4
  157. package/lib/generated/services/eks-mcp.js +1 -1
  158. package/lib/generated/services/eks.js +4 -4
  159. package/lib/generated/services/elasticache.js +4 -4
  160. package/lib/generated/services/elasticbeanstalk.js +4 -4
  161. package/lib/generated/services/elasticfilesystem.js +4 -4
  162. package/lib/generated/services/elasticloadbalancing.js +4 -4
  163. package/lib/generated/services/elasticmapreduce.js +4 -4
  164. package/lib/generated/services/elastictranscoder.js +2 -2
  165. package/lib/generated/services/elemental-activations.js +1 -1
  166. package/lib/generated/services/elemental-appliances-software.js +2 -2
  167. package/lib/generated/services/elemental-inference.js +4 -4
  168. package/lib/generated/services/elemental-support-cases.js +3 -3
  169. package/lib/generated/services/elemental-support-content.js +1 -1
  170. package/lib/generated/services/emr-containers.js +4 -4
  171. package/lib/generated/services/emr-serverless.js +4 -4
  172. package/lib/generated/services/entityresolution.js +4 -4
  173. package/lib/generated/services/es.js +4 -4
  174. package/lib/generated/services/events.js +4 -4
  175. package/lib/generated/services/eventsbilltoaws.js +3 -3
  176. package/lib/generated/services/evidently.js +3 -3
  177. package/lib/generated/services/evs.js +4 -4
  178. package/lib/generated/services/execute-api.js +4 -4
  179. package/lib/generated/services/finops-agent.js +1 -1
  180. package/lib/generated/services/finspace-api.js +3 -3
  181. package/lib/generated/services/finspace.js +4 -4
  182. package/lib/generated/services/firehose.js +4 -4
  183. package/lib/generated/services/fis.js +4 -4
  184. package/lib/generated/services/fms.js +4 -4
  185. package/lib/generated/services/forecast.js +4 -4
  186. package/lib/generated/services/frauddetector.js +4 -4
  187. package/lib/generated/services/freertos.js +3 -3
  188. package/lib/generated/services/freetier.js +2 -2
  189. package/lib/generated/services/fsx.js +4 -4
  190. package/lib/generated/services/gamelift.js +4 -4
  191. package/lib/generated/services/gameliftstreams.js +4 -4
  192. package/lib/generated/services/geo-maps.js +3 -3
  193. package/lib/generated/services/geo-places.js +3 -3
  194. package/lib/generated/services/geo-routes.js +3 -3
  195. package/lib/generated/services/geo.js +4 -4
  196. package/lib/generated/services/glacier.js +4 -4
  197. package/lib/generated/services/globalaccelerator.js +4 -4
  198. package/lib/generated/services/glue.js +4 -4
  199. package/lib/generated/services/grafana.js +4 -4
  200. package/lib/generated/services/greengrass.js +4 -4
  201. package/lib/generated/services/groundstation.js +4 -4
  202. package/lib/generated/services/groundtruthlabeling.js +1 -1
  203. package/lib/generated/services/guardduty.js +4 -4
  204. package/lib/generated/services/health-agent.js +4 -4
  205. package/lib/generated/services/health.js +4 -4
  206. package/lib/generated/services/healthlake.js +4 -4
  207. package/lib/generated/services/honeycode.js +2 -2
  208. package/lib/generated/services/iam.js +4 -4
  209. package/lib/generated/services/identity-sync.js +2 -2
  210. package/lib/generated/services/identitystore-auth.js +1 -1
  211. package/lib/generated/services/identitystore.js +4 -4
  212. package/lib/generated/services/imagebuilder.js +4 -4
  213. package/lib/generated/services/importexport.js +2 -2
  214. package/lib/generated/services/inspector-scan.js +2 -2
  215. package/lib/generated/services/inspector.js +2 -2
  216. package/lib/generated/services/inspector2-telemetry.js +1 -1
  217. package/lib/generated/services/inspector2.js +4 -4
  218. package/lib/generated/services/interconnect.js +4 -4
  219. package/lib/generated/services/internetmonitor.js +4 -4
  220. package/lib/generated/services/invoicing.js +4 -4
  221. package/lib/generated/services/iot-device-tester.js +1 -1
  222. package/lib/generated/services/iot.js +4 -4
  223. package/lib/generated/services/iotanalytics.js +3 -3
  224. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  225. package/lib/generated/services/iotevents.js +3 -3
  226. package/lib/generated/services/iotfleethub.js +3 -3
  227. package/lib/generated/services/iotfleetwise.js +4 -4
  228. package/lib/generated/services/iotjobsdata.js +4 -4
  229. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  230. package/lib/generated/services/iotsitewise.js +4 -4
  231. package/lib/generated/services/iottwinmaker.js +4 -4
  232. package/lib/generated/services/iotwireless.js +4 -4
  233. package/lib/generated/services/iq-permission.js +2 -2
  234. package/lib/generated/services/iq.js +2 -2
  235. package/lib/generated/services/ivs.js +4 -4
  236. package/lib/generated/services/ivschat.js +4 -4
  237. package/lib/generated/services/kafka-cluster.js +3 -3
  238. package/lib/generated/services/kafka.js +4 -4
  239. package/lib/generated/services/kafkaconnect.js +4 -4
  240. package/lib/generated/services/kendra-ranking.js +4 -4
  241. package/lib/generated/services/kendra.js +4 -4
  242. package/lib/generated/services/kinesis.js +4 -4
  243. package/lib/generated/services/kinesisanalytics.js +4 -4
  244. package/lib/generated/services/kinesisvideo.js +4 -4
  245. package/lib/generated/services/kms.js +4 -4
  246. package/lib/generated/services/lakeformation.js +3 -3
  247. package/lib/generated/services/lambda.js +4 -4
  248. package/lib/generated/services/launchwizard.js +4 -4
  249. package/lib/generated/services/lex.js +9 -6
  250. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  252. package/lib/generated/services/license-manager.js +4 -4
  253. package/lib/generated/services/lightsail.js +4 -4
  254. package/lib/generated/services/logs.js +4 -4
  255. package/lib/generated/services/lookoutequipment.js +4 -4
  256. package/lib/generated/services/lookoutmetrics.js +3 -3
  257. package/lib/generated/services/lookoutvision.js +3 -3
  258. package/lib/generated/services/m2.js +4 -4
  259. package/lib/generated/services/machinelearning.js +3 -3
  260. package/lib/generated/services/macie2.js +4 -4
  261. package/lib/generated/services/managedblockchain-query.js +2 -2
  262. package/lib/generated/services/managedblockchain.js +4 -4
  263. package/lib/generated/services/mapcredits.js +2 -2
  264. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  265. package/lib/generated/services/mechanicalturk.js +2 -2
  266. package/lib/generated/services/mediaconnect.js +4 -4
  267. package/lib/generated/services/mediaconvert.js +4 -4
  268. package/lib/generated/services/mediaimport.js +1 -1
  269. package/lib/generated/services/medialive.js +4 -4
  270. package/lib/generated/services/mediapackage-vod.js +4 -4
  271. package/lib/generated/services/mediapackage.js +4 -4
  272. package/lib/generated/services/mediapackagev2.js +4 -4
  273. package/lib/generated/services/mediastore.js +4 -4
  274. package/lib/generated/services/mediatailor.js +4 -4
  275. package/lib/generated/services/medical-imaging.js +4 -4
  276. package/lib/generated/services/memorydb.js +4 -4
  277. package/lib/generated/services/mgh.js +4 -4
  278. package/lib/generated/services/mgn.js +4 -4
  279. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  280. package/lib/generated/services/migrationhub-strategy.js +2 -2
  281. package/lib/generated/services/mobileanalytics.js +1 -1
  282. package/lib/generated/services/mobiletargeting.js +4 -4
  283. package/lib/generated/services/monitron.js +3 -3
  284. package/lib/generated/services/mpa.js +4 -4
  285. package/lib/generated/services/mq.js +4 -4
  286. package/lib/generated/services/neptune-db.js +4 -4
  287. package/lib/generated/services/neptune-graph.js +4 -4
  288. package/lib/generated/services/network-firewall.js +4 -4
  289. package/lib/generated/services/network-security-director.js +1 -1
  290. package/lib/generated/services/networkflowmonitor.js +4 -4
  291. package/lib/generated/services/networkmanager-chat.js +1 -1
  292. package/lib/generated/services/networkmanager.js +4 -4
  293. package/lib/generated/services/networkmonitor.js +4 -4
  294. package/lib/generated/services/nimble.js +3 -3
  295. package/lib/generated/services/notifications-contacts.js +4 -4
  296. package/lib/generated/services/notifications.js +4 -4
  297. package/lib/generated/services/nova-act.js +3 -3
  298. package/lib/generated/services/oam.js +4 -4
  299. package/lib/generated/services/observabilityadmin.js +4 -4
  300. package/lib/generated/services/odb.js +4 -4
  301. package/lib/generated/services/omics.js +4 -4
  302. package/lib/generated/services/one.js +3 -3
  303. package/lib/generated/services/opensearch.js +3 -3
  304. package/lib/generated/services/opsworks-cm.js +2 -2
  305. package/lib/generated/services/opsworks.js +2 -2
  306. package/lib/generated/services/organizations.js +4 -4
  307. package/lib/generated/services/osis.js +4 -4
  308. package/lib/generated/services/outposts.js +4 -4
  309. package/lib/generated/services/panorama.js +3 -3
  310. package/lib/generated/services/partnercentral-account-management.js +2 -2
  311. package/lib/generated/services/partnercentral.js +4 -4
  312. package/lib/generated/services/payment-cryptography.js +4 -4
  313. package/lib/generated/services/payments.js +3 -3
  314. package/lib/generated/services/pca-connector-ad.js +4 -4
  315. package/lib/generated/services/pca-connector-scep.js +4 -4
  316. package/lib/generated/services/pcs.js +4 -4
  317. package/lib/generated/services/personalize.js +4 -4
  318. package/lib/generated/services/pi.js +4 -4
  319. package/lib/generated/services/pipes.js +4 -4
  320. package/lib/generated/services/polly.js +3 -3
  321. package/lib/generated/services/pricing.js +2 -2
  322. package/lib/generated/services/pricingplanmanager.js +3 -3
  323. package/lib/generated/services/private-networks.js +3 -3
  324. package/lib/generated/services/profile.js +4 -4
  325. package/lib/generated/services/proton.js +4 -4
  326. package/lib/generated/services/purchase-orders.js +3 -3
  327. package/lib/generated/services/q.js +3 -3
  328. package/lib/generated/services/qapps.js +4 -4
  329. package/lib/generated/services/qbusiness.js +4 -4
  330. package/lib/generated/services/qdeveloper.js +3 -3
  331. package/lib/generated/services/qldb.js +3 -3
  332. package/lib/generated/services/quicksight.js +4 -4
  333. package/lib/generated/services/ram.js +4 -4
  334. package/lib/generated/services/rbin.js +4 -4
  335. package/lib/generated/services/rds-data.js +4 -4
  336. package/lib/generated/services/rds-db.js +2 -2
  337. package/lib/generated/services/rds.js +4 -4
  338. package/lib/generated/services/redshift-data.js +4 -4
  339. package/lib/generated/services/redshift-serverless.js +4 -4
  340. package/lib/generated/services/redshift.js +4 -4
  341. package/lib/generated/services/refactor-spaces.js +4 -4
  342. package/lib/generated/services/rekognition.js +4 -4
  343. package/lib/generated/services/repostspace.js +4 -4
  344. package/lib/generated/services/researchstudio.js +1 -1
  345. package/lib/generated/services/resiliencehub.js +4 -4
  346. package/lib/generated/services/resource-explorer-2.js +4 -4
  347. package/lib/generated/services/resource-explorer.js +1 -1
  348. package/lib/generated/services/resource-groups.js +4 -4
  349. package/lib/generated/services/rhelkb.js +1 -1
  350. package/lib/generated/services/robomaker.js +3 -3
  351. package/lib/generated/services/rolesanywhere.js +4 -4
  352. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  353. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  354. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  355. package/lib/generated/services/route53.js +4 -4
  356. package/lib/generated/services/route53domains.js +2 -2
  357. package/lib/generated/services/route53globalresolver.js +4 -4
  358. package/lib/generated/services/route53profiles.js +4 -4
  359. package/lib/generated/services/route53resolver.js +4 -4
  360. package/lib/generated/services/rtbfabric.js +4 -4
  361. package/lib/generated/services/rum.js +4 -4
  362. package/lib/generated/services/s3-object-lambda.js +3 -3
  363. package/lib/generated/services/s3-outposts.js +4 -4
  364. package/lib/generated/services/s3.js +4 -4
  365. package/lib/generated/services/s3express.js +3 -3
  366. package/lib/generated/services/s3files.js +4 -4
  367. package/lib/generated/services/s3tables.js +4 -4
  368. package/lib/generated/services/s3vectors.js +4 -4
  369. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  370. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  371. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  372. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  373. package/lib/generated/services/sagemaker.js +4 -4
  374. package/lib/generated/services/savingsplans.js +4 -4
  375. package/lib/generated/services/scheduler.js +4 -4
  376. package/lib/generated/services/schemas.js +4 -4
  377. package/lib/generated/services/scn.js +4 -4
  378. package/lib/generated/services/sdb.js +3 -3
  379. package/lib/generated/services/secretsmanager.js +4 -4
  380. package/lib/generated/services/security-ir.js +4 -4
  381. package/lib/generated/services/securityagent.js +4 -4
  382. package/lib/generated/services/securityhub.js +4 -4
  383. package/lib/generated/services/securitylake.js +4 -4
  384. package/lib/generated/services/serverlessrepo.js +4 -4
  385. package/lib/generated/services/servicecatalog.js +4 -4
  386. package/lib/generated/services/servicediscovery.js +4 -4
  387. package/lib/generated/services/serviceextract.js +1 -1
  388. package/lib/generated/services/servicequotas.js +4 -4
  389. package/lib/generated/services/ses.js +4 -4
  390. package/lib/generated/services/shield.js +4 -4
  391. package/lib/generated/services/signer.js +4 -4
  392. package/lib/generated/services/signin.js +4 -4
  393. package/lib/generated/services/simspaceweaver.js +3 -3
  394. package/lib/generated/services/sms-voice.js +4 -4
  395. package/lib/generated/services/sms.js +1 -1
  396. package/lib/generated/services/snow-device-management.js +4 -4
  397. package/lib/generated/services/snowball.js +2 -2
  398. package/lib/generated/services/sns.js +6 -5
  399. package/lib/generated/services/social-messaging.js +4 -4
  400. package/lib/generated/services/sqlworkbench.js +3 -3
  401. package/lib/generated/services/sqs.js +4 -4
  402. package/lib/generated/services/ssm-contacts.js +4 -4
  403. package/lib/generated/services/ssm-guiconnect.js +2 -2
  404. package/lib/generated/services/ssm-incidents.js +4 -4
  405. package/lib/generated/services/ssm-quicksetup.js +4 -4
  406. package/lib/generated/services/ssm-sap.js +4 -4
  407. package/lib/generated/services/ssm.js +4 -4
  408. package/lib/generated/services/ssmmessages.js +2 -2
  409. package/lib/generated/services/sso-directory.js +1 -1
  410. package/lib/generated/services/sso-oauth.js +3 -3
  411. package/lib/generated/services/sso.js +4 -4
  412. package/lib/generated/services/states.js +4 -4
  413. package/lib/generated/services/storagegateway.js +4 -4
  414. package/lib/generated/services/sts.js +4 -4
  415. package/lib/generated/services/support-console.js +1 -1
  416. package/lib/generated/services/support.js +2 -2
  417. package/lib/generated/services/supportapp.js +2 -2
  418. package/lib/generated/services/supportauthz.js +4 -4
  419. package/lib/generated/services/supportplans.js +1 -1
  420. package/lib/generated/services/sustainability.js +2 -2
  421. package/lib/generated/services/swf.js +4 -4
  422. package/lib/generated/services/synthetics.js +7 -13
  423. package/lib/generated/services/tag.js +2 -2
  424. package/lib/generated/services/tax.js +2 -2
  425. package/lib/generated/services/textract.js +4 -4
  426. package/lib/generated/services/thinclient.js +4 -4
  427. package/lib/generated/services/timestream-influxdb.js +4 -4
  428. package/lib/generated/services/timestream.js +4 -4
  429. package/lib/generated/services/tiros.js +1 -1
  430. package/lib/generated/services/tnb.js +4 -4
  431. package/lib/generated/services/transcribe.js +4 -4
  432. package/lib/generated/services/transfer.js +4 -4
  433. package/lib/generated/services/transform-custom.js +3 -3
  434. package/lib/generated/services/transform.js +3 -3
  435. package/lib/generated/services/translate.js +4 -4
  436. package/lib/generated/services/trustedadvisor.js +3 -3
  437. package/lib/generated/services/ts.js +3 -3
  438. package/lib/generated/services/user-subscriptions.js +2 -2
  439. package/lib/generated/services/uxc.js +2 -2
  440. package/lib/generated/services/vendor-insights.js +3 -3
  441. package/lib/generated/services/verified-access.js +1 -1
  442. package/lib/generated/services/verifiedpermissions.js +4 -4
  443. package/lib/generated/services/voiceid.js +4 -4
  444. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  445. package/lib/generated/services/vpc-lattice.js +4 -4
  446. package/lib/generated/services/vpce.js +2 -2
  447. package/lib/generated/services/waf-regional.js +4 -4
  448. package/lib/generated/services/waf.js +4 -4
  449. package/lib/generated/services/wafv2.js +4 -4
  450. package/lib/generated/services/wam.js +1 -1
  451. package/lib/generated/services/wellarchitected.js +4 -4
  452. package/lib/generated/services/wickr.js +4 -4
  453. package/lib/generated/services/wisdom.js +4 -4
  454. package/lib/generated/services/workdocs.js +3 -3
  455. package/lib/generated/services/worklink.js +3 -3
  456. package/lib/generated/services/workmail.js +4 -4
  457. package/lib/generated/services/workmailmessageflow.js +3 -3
  458. package/lib/generated/services/workspaces-instances.js +4 -4
  459. package/lib/generated/services/workspaces-web.js +4 -4
  460. package/lib/generated/services/workspaces.js +4 -4
  461. package/lib/generated/services/xray.js +4 -4
  462. package/package.json +3 -2
@@ -16,7 +16,7 @@ class CleanroomsActions {
16
16
  }
17
17
  exports.CleanroomsActions = CleanroomsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- CleanroomsActions[_a] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsActions", version: "1.2.0" };
19
+ CleanroomsActions[_a] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsActions", version: "1.4.0" };
20
20
  /** The IAM service prefix. */
21
21
  CleanroomsActions.SERVICE_PREFIX = "cleanrooms";
22
22
  /** [Read] cleanrooms:BatchGetCollaborationAnalysisTemplate */
@@ -658,7 +658,7 @@ class CleanroomsResources {
658
658
  }
659
659
  exports.CleanroomsResources = CleanroomsResources;
660
660
  _b = JSII_RTTI_SYMBOL_1;
661
- CleanroomsResources[_b] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsResources", version: "1.2.0" };
661
+ CleanroomsResources[_b] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsResources", version: "1.4.0" };
662
662
  /**
663
663
  * API operation to required IAM actions mapping for cleanrooms.
664
664
  */
@@ -666,7 +666,7 @@ class CleanroomsOperations {
666
666
  }
667
667
  exports.CleanroomsOperations = CleanroomsOperations;
668
668
  _c = JSII_RTTI_SYMBOL_1;
669
- CleanroomsOperations[_c] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsOperations", version: "1.2.0" };
669
+ CleanroomsOperations[_c] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsOperations", version: "1.4.0" };
670
670
  /** IAM actions required for the BatchGetCollaborationAnalysisTemplate API call. */
671
671
  CleanroomsOperations.BatchGetCollaborationAnalysisTemplate = [
672
672
  "cleanrooms:BatchGetCollaborationAnalysisTemplate",
@@ -803,7 +803,9 @@ CleanroomsOperations.DisallowIntermediateTable = [
803
803
  "cleanrooms:DisallowIntermediateTable",
804
804
  ];
805
805
  /** IAM actions required for the GetAnalysisLogExport API call. */
806
- CleanroomsOperations.opGetAnalysisLogExport = [];
806
+ CleanroomsOperations.opGetAnalysisLogExport = [
807
+ "cleanrooms:GetAnalysisLogExport",
808
+ ];
807
809
  /** IAM actions required for the GetAnalysisTemplate API call. */
808
810
  CleanroomsOperations.opGetAnalysisTemplate = [
809
811
  "cleanrooms:GetAnalysisTemplate",
@@ -985,7 +987,9 @@ CleanroomsOperations.PreviewPrivacyImpact = [
985
987
  "cleanrooms:PreviewPrivacyImpact",
986
988
  ];
987
989
  /** IAM actions required for the StartAnalysisLogExport API call. */
988
- CleanroomsOperations.StartAnalysisLogExport = [];
990
+ CleanroomsOperations.StartAnalysisLogExport = [
991
+ "cleanrooms:StartAnalysisLogExport",
992
+ ];
989
993
  /** IAM actions required for the StartProtectedJob API call. */
990
994
  CleanroomsOperations.StartProtectedJob = [
991
995
  "cleanrooms:StartProtectedJob",
@@ -1091,7 +1095,7 @@ class CleanroomsConditions {
1091
1095
  }
1092
1096
  exports.CleanroomsConditions = CleanroomsConditions;
1093
1097
  _d = JSII_RTTI_SYMBOL_1;
1094
- CleanroomsConditions[_d] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsConditions", version: "1.2.0" };
1098
+ CleanroomsConditions[_d] = { fqn: "@cdk_utils/iam.cleanrooms.CleanroomsConditions", version: "1.4.0" };
1095
1099
  /** Condition keys applicable to the TagResource action. */
1096
1100
  CleanroomsConditions.TagResourceConditionKeys = [
1097
1101
  "aws:RequestTag/${TagKey}",
@@ -1105,4 +1109,4 @@ CleanroomsConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
1105
1109
  CleanroomsConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1106
1110
  /** Condition key: aws:TagKeys (ArrayOfString) */
1107
1111
  CleanroomsConditions.AWS_TAG_KEYS = "aws:TagKeys";
1108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5yb29tcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvY2xlYW5yb29tcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQThZQzs7O0FBN1lBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLDhEQUE4RDtBQUM5Qyx1REFBcUMsR0FDcEQsa0RBQWtELENBQUM7QUFDcEQsdUNBQXVDO0FBQ3ZCLGdDQUFjLEdBQUcsMkJBQTJCLENBQUM7QUFDN0QsbURBQW1EO0FBQ25DLDRDQUEwQixHQUN6Qyx1Q0FBdUMsQ0FBQztBQUN6QyxnREFBZ0Q7QUFDaEMsd0NBQXNCLEdBQUcsbUNBQW1DLENBQUM7QUFDN0UsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLDBEQUEwRDtBQUMxQyxrREFBZ0MsR0FDL0MsNkNBQTZDLENBQUM7QUFDL0Msa0VBQWtFO0FBQ2xELDBEQUF3QyxHQUN2RCxxREFBcUQsQ0FBQztBQUN2RCwrQ0FBK0M7QUFDL0IsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsMkRBQTJEO0FBQzNDLG1EQUFpQyxHQUNoRCw4Q0FBOEMsQ0FBQztBQUNoRCwwREFBMEQ7QUFDMUMsa0RBQWdDLEdBQy9DLDZDQUE2QyxDQUFDO0FBQy9DLHNFQUFzRTtBQUN0RCw4REFBNEMsR0FDM0QseURBQXlELENBQUM7QUFDM0QsOENBQThDO0FBQzlCLHNDQUFvQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3pFLHNEQUFzRDtBQUN0Qyw4Q0FBNEIsR0FDM0MseUNBQXlDLENBQUM7QUFDM0MsaURBQWlEO0FBQ2pDLHlDQUF1QixHQUN0QyxvQ0FBb0MsQ0FBQztBQUN0Qyw2REFBNkQ7QUFDN0MscURBQW1DLEdBQ2xELGdEQUFnRCxDQUFDO0FBQ2xELDBDQUEwQztBQUMxQixrQ0FBZ0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNqRSxxREFBcUQ7QUFDckMsNkNBQTJCLEdBQzFDLHdDQUF3QyxDQUFDO0FBQzFDLGdEQUFnRDtBQUNoQyx3Q0FBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUM3RSw2Q0FBNkM7QUFDN0IscUNBQW1CLEdBQUcsZ0NBQWdDLENBQUM7QUFDdkUsa0VBQWtFO0FBQ2xELDBEQUF3QyxHQUN2RCxxREFBcUQsQ0FBQztBQUN2RCwrQ0FBK0M7QUFDL0IsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsMkRBQTJEO0FBQzNDLG1EQUFpQyxHQUNoRCw4Q0FBOEMsQ0FBQztBQUNoRCwwREFBMEQ7QUFDMUMsa0RBQWdDLEdBQy9DLDZDQUE2QyxDQUFDO0FBQy9DLHNFQUFzRTtBQUN0RCw4REFBNEMsR0FDM0QseURBQXlELENBQUM7QUFDM0QsOENBQThDO0FBQzlCLHNDQUFvQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3pFLHNEQUFzRDtBQUN0Qyw4Q0FBNEIsR0FDM0MseUNBQXlDLENBQUM7QUFDM0MsaURBQWlEO0FBQ2pDLHlDQUF1QixHQUN0QyxvQ0FBb0MsQ0FBQztBQUN0Qyw2REFBNkQ7QUFDN0MscURBQW1DLEdBQ2xELGdEQUFnRCxDQUFDO0FBQ2xELHNDQUFzQztBQUN0Qiw4QkFBWSxHQUFHLHlCQUF5QixDQUFDO0FBQ3pELDBDQUEwQztBQUMxQixrQ0FBZ0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNqRSxxREFBcUQ7QUFDckMsNkNBQTJCLEdBQzFDLHdDQUF3QyxDQUFDO0FBQzFDLG1EQUFtRDtBQUNuQywyQ0FBeUIsR0FDeEMsc0NBQXNDLENBQUM7QUFDeEMsNkNBQTZDO0FBQzdCLDRDQUEwQixHQUN6QyxpQ0FBaUMsQ0FBQztBQUNuQyw0Q0FBNEM7QUFDNUIsMkNBQXlCLEdBQUcsZ0NBQWdDLENBQUM7QUFDN0UseUNBQXlDO0FBQ3pCLHdDQUFzQixHQUFHLDZCQUE2QixDQUFDO0FBQ3ZFLHlEQUF5RDtBQUN6Qyx3REFBc0MsR0FDckQsNkNBQTZDLENBQUM7QUFDL0Msc0RBQXNEO0FBQ3RDLHFEQUFtQyxHQUNsRCwwQ0FBMEMsQ0FBQztBQUM1QywyRUFBMkU7QUFDM0QsMEVBQXdELEdBQ3ZFLCtEQUErRCxDQUFDO0FBQ2pFLCtEQUErRDtBQUMvQyw4REFBNEMsR0FDM0QsbURBQW1ELENBQUM7QUFDckQsOERBQThEO0FBQzlDLDZEQUEyQyxHQUMxRCxrREFBa0QsQ0FBQztBQUNwRCw4REFBOEQ7QUFDOUMsNkRBQTJDLEdBQzFELGtEQUFrRCxDQUFDO0FBQ3BELDJDQUEyQztBQUMzQiwwQ0FBd0IsR0FBRywrQkFBK0IsQ0FBQztBQUMzRSx1REFBdUQ7QUFDdkMsc0RBQW9DLEdBQ25ELDJDQUEyQyxDQUFDO0FBQzdDLHNEQUFzRDtBQUN0QyxxREFBbUMsR0FDbEQsMENBQTBDLENBQUM7QUFDNUMsa0VBQWtFO0FBQ2xELGlFQUErQyxHQUM5RCxzREFBc0QsQ0FBQztBQUN4RCwwQ0FBMEM7QUFDMUIseUNBQXVCLEdBQUcsOEJBQThCLENBQUM7QUFDekUsa0RBQWtEO0FBQ2xDLGlEQUErQixHQUM5QyxzQ0FBc0MsQ0FBQztBQUN4Qyw2Q0FBNkM7QUFDN0IsNENBQTBCLEdBQ3pDLGlDQUFpQyxDQUFDO0FBQ25DLHlEQUF5RDtBQUN6Qyx3REFBc0MsR0FDckQsNkNBQTZDLENBQUM7QUFDL0Msc0NBQXNDO0FBQ3RCLHFDQUFtQixHQUFHLDBCQUEwQixDQUFDO0FBQ2pFLGlEQUFpRDtBQUNqQyxnREFBOEIsR0FDN0MscUNBQXFDLENBQUM7QUFDdkMsd0NBQXdDO0FBQ3hCLHVDQUFxQixHQUFHLDRCQUE0QixDQUFDO0FBQ3JFLDBDQUEwQztBQUMxQix5Q0FBdUIsR0FBRyw4QkFBOEIsQ0FBQztBQUN6RSxrQ0FBa0M7QUFDbEIsaUNBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQUN6RCw4Q0FBOEM7QUFDOUIsNkNBQTJCLEdBQzFDLGtDQUFrQyxDQUFDO0FBQ3BDLCtDQUErQztBQUMvQix3Q0FBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUM3RSw4Q0FBOEM7QUFDOUIsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsMkRBQTJEO0FBQzNDLG9EQUFrQyxHQUNqRCwrQ0FBK0MsQ0FBQztBQUNqRCx3REFBd0Q7QUFDeEMsaURBQStCLEdBQzlDLDRDQUE0QyxDQUFDO0FBQzlDLDZFQUE2RTtBQUM3RCxzRUFBb0QsR0FDbkUsaUVBQWlFLENBQUM7QUFDbkUsaUVBQWlFO0FBQ2pELDBEQUF3QyxHQUN2RCxxREFBcUQsQ0FBQztBQUN2RCxnRUFBZ0U7QUFDaEQseURBQXVDLEdBQ3RELG9EQUFvRCxDQUFDO0FBQ3RELHdEQUF3RDtBQUN4QyxpREFBK0IsR0FDOUMsNENBQTRDLENBQUM7QUFDOUMsMkNBQTJDO0FBQzNCLG9DQUFrQixHQUFHLCtCQUErQixDQUFDO0FBQ3JFLGdFQUFnRTtBQUNoRCx5REFBdUMsR0FDdEQsb0RBQW9ELENBQUM7QUFDdEQsd0RBQXdEO0FBQ3hDLGlEQUErQixHQUM5Qyw0Q0FBNEMsQ0FBQztBQUM5Qyw2Q0FBNkM7QUFDN0Isc0NBQW9CLEdBQUcsaUNBQWlDLENBQUM7QUFDekUsNENBQTRDO0FBQzVCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLG9EQUFvRDtBQUNwQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsc0RBQXNEO0FBQ3RDLCtDQUE2QixHQUM1QywwQ0FBMEMsQ0FBQztBQUM1QywrQ0FBK0M7QUFDL0Isd0NBQXNCLEdBQUcsbUNBQW1DLENBQUM7QUFDN0Usb0NBQW9DO0FBQ3BCLDZCQUFXLEdBQUcsd0JBQXdCLENBQUM7QUFDdkQsd0NBQXdDO0FBQ3hCLGlDQUFlLEdBQUcsNEJBQTRCLENBQUM7QUFDL0QsbURBQW1EO0FBQ25DLDRDQUEwQixHQUN6Qyx1Q0FBdUMsQ0FBQztBQUN6QywyQ0FBMkM7QUFDM0Isb0NBQWtCLEdBQUcsK0JBQStCLENBQUM7QUFDckUsMENBQTBDO0FBQzFCLG1DQUFpQixHQUFHLDhCQUE4QixDQUFDO0FBQ25FLDZDQUE2QztBQUM3QixzQ0FBb0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUN6RSxvQ0FBb0M7QUFDcEIsNkJBQVcsR0FBRyx3QkFBd0IsQ0FBQztBQUN2RCw0Q0FBNEM7QUFDNUIscUNBQW1CLEdBQUcsZ0NBQWdDLENBQUM7QUFDdkUsMENBQTBDO0FBQzFCLG1DQUFpQixHQUFHLDhCQUE4QixDQUFDO0FBQ25FLHVDQUF1QztBQUN2QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELGdEQUFnRDtBQUNoQyx3Q0FBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUM3RSxtREFBbUQ7QUFDbkMsMkNBQXlCLEdBQ3hDLHNDQUFzQyxDQUFDO0FBQ3hDLDZDQUE2QztBQUM3QixzQ0FBb0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUN6RSxnREFBZ0Q7QUFDaEMsd0NBQXNCLEdBQUcsbUNBQW1DLENBQUM7QUFDN0UsMkNBQTJDO0FBQzNCLG1DQUFpQixHQUFHLDhCQUE4QixDQUFDO0FBQ25FLDZDQUE2QztBQUM3QixxQ0FBbUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN2RSx1Q0FBdUM7QUFDdkIsNkJBQVcsR0FBRyx3QkFBd0IsQ0FBQztBQUN2RCx5Q0FBeUM7QUFDekIsK0JBQWEsR0FBRywwQkFBMEIsQ0FBQztBQUMzRCxnREFBZ0Q7QUFDaEMsd0NBQXNCLEdBQUcsbUNBQW1DLENBQUM7QUFDN0UsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLDBEQUEwRDtBQUMxQyxrREFBZ0MsR0FDL0MsNkNBQTZDLENBQUM7QUFDL0Msa0VBQWtFO0FBQ2xELDBEQUF3QyxHQUN2RCxxREFBcUQsQ0FBQztBQUN2RCwrQ0FBK0M7QUFDL0IsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsNkRBQTZEO0FBQzdDLHFEQUFtQyxHQUNsRCxnREFBZ0QsQ0FBQztBQUNsRCwyREFBMkQ7QUFDM0MsbURBQWlDLEdBQ2hELDhDQUE4QyxDQUFDO0FBQ2hELDBEQUEwRDtBQUMxQyxrREFBZ0MsR0FDL0MsNkNBQTZDLENBQUM7QUFDL0Msc0VBQXNFO0FBQ3RELDhEQUE0QyxHQUMzRCx5REFBeUQsQ0FBQztBQUMzRCx3REFBd0Q7QUFDeEMsZ0RBQThCLEdBQzdDLDJDQUEyQyxDQUFDO0FBQzdDLDhDQUE4QztBQUM5QixzQ0FBb0IsR0FBRyxpQ0FBaUMsQ0FBQztBQUN6RSxzREFBc0Q7QUFDdEMsOENBQTRCLEdBQzNDLHlDQUF5QyxDQUFDO0FBQzNDLGlEQUFpRDtBQUNqQyx5Q0FBdUIsR0FDdEMsb0NBQW9DLENBQUM7QUFDdEMsNkRBQTZEO0FBQzdDLHFEQUFtQyxHQUNsRCxnREFBZ0QsQ0FBQztBQUNsRCwwQ0FBMEM7QUFDMUIsa0NBQWdCLEdBQUcsNkJBQTZCLENBQUM7QUFDakUscURBQXFEO0FBQ3JDLDZDQUEyQixHQUMxQyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWtCLEdBQUcsK0JBQStCLENBQUM7QUFDckUsOENBQThDO0FBQzlCLHNDQUFvQixHQUFHLGlDQUFpQyxDQUFDO0FBRXpFLDhCQUE4QjtBQUNkLGdDQUFjLEdBQWE7SUFDMUMsaUJBQWlCLENBQUMscUNBQXFDO0lBQ3ZELGlCQUFpQixDQUFDLGNBQWM7SUFDaEMsaUJBQWlCLENBQUMsMEJBQTBCO0lBQzVDLGlCQUFpQixDQUFDLDBCQUEwQjtJQUM1QyxpQkFBaUIsQ0FBQyx5QkFBeUI7SUFDM0MsaUJBQWlCLENBQUMsc0JBQXNCO0lBQ3hDLGlCQUFpQixDQUFDLHNDQUFzQztJQUN4RCxpQkFBaUIsQ0FBQyxtQ0FBbUM7SUFDckQsaUJBQWlCLENBQUMsd0RBQXdEO0lBQzFFLGlCQUFpQixDQUFDLDRDQUE0QztJQUM5RCxpQkFBaUIsQ0FBQywyQ0FBMkM7SUFDN0QsaUJBQWlCLENBQUMsMkNBQTJDO0lBQzdELGlCQUFpQixDQUFDLHdCQUF3QjtJQUMxQyxpQkFBaUIsQ0FBQyxvQ0FBb0M7SUFDdEQsaUJBQWlCLENBQUMsbUNBQW1DO0lBQ3JELGlCQUFpQixDQUFDLCtDQUErQztJQUNqRSxpQkFBaUIsQ0FBQyx1QkFBdUI7SUFDekMsaUJBQWlCLENBQUMsK0JBQStCO0lBQ2pELGlCQUFpQixDQUFDLDBCQUEwQjtJQUM1QyxpQkFBaUIsQ0FBQyxzQ0FBc0M7SUFDeEQsaUJBQWlCLENBQUMsbUJBQW1CO0lBQ3JDLGlCQUFpQixDQUFDLDhCQUE4QjtJQUNoRCxpQkFBaUIsQ0FBQyxxQkFBcUI7SUFDdkMsaUJBQWlCLENBQUMsdUJBQXVCO0lBQ3pDLGlCQUFpQixDQUFDLGVBQWU7SUFDakMsaUJBQWlCLENBQUMsMkJBQTJCO0lBQzdDLGlCQUFpQixDQUFDLGlCQUFpQjtJQUNuQyxpQkFBaUIsQ0FBQyxjQUFjO0lBQ2hDLGlCQUFpQixDQUFDLG9CQUFvQjtDQUN0QyxDQUFDO0FBQ0YsK0JBQStCO0FBQ2YsaUNBQWUsR0FBYTtJQUMzQyxpQkFBaUIsQ0FBQyxzQkFBc0I7SUFDeEMsaUJBQWlCLENBQUMsbUJBQW1CO0lBQ3JDLGlCQUFpQixDQUFDLGdDQUFnQztJQUNsRCxpQkFBaUIsQ0FBQyx3Q0FBd0M7SUFDMUQsaUJBQWlCLENBQUMscUJBQXFCO0lBQ3ZDLGlCQUFpQixDQUFDLGlDQUFpQztJQUNuRCxpQkFBaUIsQ0FBQyxnQ0FBZ0M7SUFDbEQsaUJBQWlCLENBQUMsNENBQTRDO0lBQzlELGlCQUFpQixDQUFDLG9CQUFvQjtJQUN0QyxpQkFBaUIsQ0FBQyw0QkFBNEI7SUFDOUMsaUJBQWlCLENBQUMsdUJBQXVCO0lBQ3pDLGlCQUFpQixDQUFDLG1DQUFtQztJQUNyRCxpQkFBaUIsQ0FBQyxnQkFBZ0I7SUFDbEMsaUJBQWlCLENBQUMsMkJBQTJCO0lBQzdDLGlCQUFpQixDQUFDLHNCQUFzQjtJQUN4QyxpQkFBaUIsQ0FBQyxtQkFBbUI7SUFDckMsaUJBQWlCLENBQUMsd0NBQXdDO0lBQzFELGlCQUFpQixDQUFDLHFCQUFxQjtJQUN2QyxpQkFBaUIsQ0FBQyxpQ0FBaUM7SUFDbkQsaUJBQWlCLENBQUMsZ0NBQWdDO0lBQ2xELGlCQUFpQixDQUFDLDRDQUE0QztJQUM5RCxpQkFBaUIsQ0FBQyxvQkFBb0I7SUFDdEMsaUJBQWlCLENBQUMsNEJBQTRCO0lBQzlDLGlCQUFpQixDQUFDLHVCQUF1QjtJQUN6QyxpQkFBaUIsQ0FBQyxtQ0FBbUM7SUFDckQsaUJBQWlCLENBQUMsWUFBWTtJQUM5QixpQkFBaUIsQ0FBQyxnQkFBZ0I7SUFDbEMsaUJBQWlCLENBQUMsMkJBQTJCO0lBQzdDLGlCQUFpQixDQUFDLHlCQUF5QjtJQUMzQyxpQkFBaUIsQ0FBQyxzQkFBc0I7SUFDeEMsaUJBQWlCLENBQUMseUJBQXlCO0lBQzNDLGlCQUFpQixDQUFDLHNCQUFzQjtJQUN4QyxpQkFBaUIsQ0FBQyxpQkFBaUI7SUFDbkMsaUJBQWlCLENBQUMsbUJBQW1CO0lBQ3JDLGlCQUFpQixDQUFDLHNCQUFzQjtJQUN4QyxpQkFBaUIsQ0FBQyxtQkFBbUI7SUFDckMsaUJBQWlCLENBQUMsZ0NBQWdDO0lBQ2xELGlCQUFpQixDQUFDLHdDQUF3QztJQUMxRCxpQkFBaUIsQ0FBQyxxQkFBcUI7SUFDdkMsaUJBQWlCLENBQUMsbUNBQW1DO0lBQ3JELGlCQUFpQixDQUFDLGlDQUFpQztJQUNuRCxpQkFBaUIsQ0FBQyxnQ0FBZ0M7SUFDbEQsaUJBQWlCLENBQUMsNENBQTRDO0lBQzlELGlCQUFpQixDQUFDLDhCQUE4QjtJQUNoRCxpQkFBaUIsQ0FBQyxvQkFBb0I7SUFDdEMsaUJBQWlCLENBQUMsNEJBQTRCO0lBQzlDLGlCQUFpQixDQUFDLHVCQUF1QjtJQUN6QyxpQkFBaUIsQ0FBQyxtQ0FBbUM7SUFDckQsaUJBQWlCLENBQUMsZ0JBQWdCO0lBQ2xDLGlCQUFpQixDQUFDLDJCQUEyQjtJQUM3QyxpQkFBaUIsQ0FBQyxrQkFBa0I7SUFDcEMsaUJBQWlCLENBQUMsb0JBQW9CO0NBQ3RDLENBQUM7QUFDRiw4QkFBOEI7QUFDZCxnQ0FBYyxHQUFhO0lBQzFDLGlCQUFpQixDQUFDLHNCQUFzQjtJQUN4QyxpQkFBaUIsQ0FBQyxxQkFBcUI7SUFDdkMsaUJBQWlCLENBQUMsa0NBQWtDO0lBQ3BELGlCQUFpQixDQUFDLCtCQUErQjtJQUNqRCxpQkFBaUIsQ0FBQyxvREFBb0Q7SUFDdEUsaUJBQWlCLENBQUMsd0NBQXdDO0lBQzFELGlCQUFpQixDQUFDLHVDQUF1QztJQUN6RCxpQkFBaUIsQ0FBQywrQkFBK0I7SUFDakQsaUJBQWlCLENBQUMsa0JBQWtCO0lBQ3BDLGlCQUFpQixDQUFDLHVDQUF1QztJQUN6RCxpQkFBaUIsQ0FBQywrQkFBK0I7SUFDakQsaUJBQWlCLENBQUMsb0JBQW9CO0lBQ3RDLGlCQUFpQixDQUFDLG1CQUFtQjtJQUNyQyxpQkFBaUIsQ0FBQywyQkFBMkI7SUFDN0MsaUJBQWlCLENBQUMsNkJBQTZCO0lBQy9DLGlCQUFpQixDQUFDLHNCQUFzQjtJQUN4QyxpQkFBaUIsQ0FBQyxXQUFXO0lBQzdCLGlCQUFpQixDQUFDLGVBQWU7SUFDakMsaUJBQWlCLENBQUMsMEJBQTBCO0lBQzVDLGlCQUFpQixDQUFDLGtCQUFrQjtJQUNwQyxpQkFBaUIsQ0FBQyxpQkFBaUI7SUFDbkMsaUJBQWlCLENBQUMsb0JBQW9CO0lBQ3RDLGlCQUFpQixDQUFDLFdBQVc7SUFDN0IsaUJBQWlCLENBQUMsbUJBQW1CO0NBQ3JDLENBQUM7QUFDRiwrQ0FBK0M7QUFDL0IsZ0RBQThCLEdBQWEsRUFBRSxDQUFDO0FBQzlELGlDQUFpQztBQUNqQixtQ0FBaUIsR0FBYTtJQUM3QyxpQkFBaUIsQ0FBQyxXQUFXO0lBQzdCLGlCQUFpQixDQUFDLGFBQWE7Q0FDL0IsQ0FBQztBQXVUSCxNQUFNLHdCQUF3QixHQUM3QixnS0FBZ0ssQ0FBQztBQUNsSyxNQUFNLHFCQUFxQixHQUMxQixvSEFBb0gsQ0FBQztBQUN0SCxNQUFNLDBDQUEwQyxHQUMvQyxvTUFBb00sQ0FBQztBQUN0TSxNQUFNLHVCQUF1QixHQUM1Qix3SEFBd0gsQ0FBQztBQUMxSCxNQUFNLGtDQUFrQyxHQUN2QyxvTEFBb0wsQ0FBQztBQUN0TCxNQUFNLHNCQUFzQixHQUMzQiw0SkFBNEosQ0FBQztBQUM5SixNQUFNLDhCQUE4QixHQUNuQyw0S0FBNEssQ0FBQztBQUM5SyxNQUFNLHlCQUF5QixHQUM5QixrS0FBa0ssQ0FBQztBQUNwSyxNQUFNLGtCQUFrQixHQUN2Qiw4R0FBOEcsQ0FBQztBQUNoSCxNQUFNLDZCQUE2QixHQUNsQywwS0FBMEssQ0FBQztBQUU1Szs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBQy9COztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXlDO1FBQ2hFLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssZUFBZSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZUFBZSxLQUFLLENBQUMsWUFBWSxxQkFBcUIsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbEwsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxZQUFZO1lBQ3hDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsa0JBQWtCO1NBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQXNDO1FBQzFELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssZUFBZSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsa0JBQWtCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsdUJBQXVCLENBQUMsR0FBVztRQUN6QyxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUMzQixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGVBQWUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGVBQWU7U0FDOUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDeEMsS0FBMkQ7UUFFM0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxlQUFlLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxlQUFlLEtBQUssQ0FBQyxZQUFZLHVDQUF1QyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztJQUN0TixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsNENBQTRDLENBQUMsR0FBVztRQUM5RCxPQUFPLDBDQUEwQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDBDQUEwQyxDQUNoRCxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsMENBQTBDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7WUFDeEMsb0NBQW9DLEVBQ25DLEtBQUssQ0FBQyxNQUFPLENBQUMsb0NBQW9DO1NBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdDO1FBQzlELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssZUFBZSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsb0JBQW9CLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQy9JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxHQUFXO1FBQzNDLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsdUJBQXVCLENBQzdCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxpQkFBaUI7U0FDbEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FDaEMsS0FBbUQ7UUFFbkQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxlQUFlLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxlQUFlLEtBQUssQ0FBQyxZQUFZLCtCQUErQixLQUFLLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0TSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsb0NBQW9DLENBQUMsR0FBVztRQUN0RCxPQUFPLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGtDQUFrQyxDQUN4QyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsa0NBQWtDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7WUFDeEMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyw0QkFBNEI7U0FDeEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBdUM7UUFDNUQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxlQUFlLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxlQUFlLEtBQUssQ0FBQyxZQUFZLG1CQUFtQixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM5SyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsR0FBVztRQUMxQyxPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUM1QixHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7WUFDeEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxnQkFBZ0I7U0FDaEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsS0FBK0M7UUFFL0MsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxlQUFlLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxlQUFlLEtBQUssQ0FBQyxZQUFZLDJCQUEyQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUM5TCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsR0FBVztRQUNsRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUNwQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFlBQVk7WUFDeEMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyx3QkFBd0I7U0FDaEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUEwQztRQUNsRSxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGVBQWUsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGVBQWUsS0FBSyxDQUFDLFlBQVksc0JBQXNCLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3BMLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxHQUFXO1FBQzdDLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMseUJBQXlCLENBQy9CLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsWUFBWTtZQUN4QyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLG1CQUFtQjtTQUN0RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFtQztRQUNwRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGVBQWUsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGVBQWUsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFXO1FBQ3RDLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUNwQyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsWUFBWTtTQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUMzQixLQUE4QztRQUU5QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGVBQWUsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGVBQWUsS0FBSyxDQUFDLFlBQVksMEJBQTBCLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQzVMLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsWUFBWTtZQUN4Qyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLHVCQUF1QjtTQUM5RCxDQUFDO0lBQ0gsQ0FBQzs7QUF2VkYsa0RBd1ZDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsb0JBQW9COztBQUFqQyxvREFrWkM7OztBQWpaQSxtRkFBbUY7QUFDbkUsMERBQXFDLEdBQWE7SUFDakUsa0RBQWtEO0NBQ2xELENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsbUNBQWMsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDekUsd0VBQXdFO0FBQ3hELCtDQUEwQixHQUFhO0lBQ3RELHVDQUF1QztDQUN2QyxDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELDJDQUFzQixHQUFhO0lBQ2xELG1DQUFtQztJQUNuQyxjQUFjO0lBQ2Qsd0JBQXdCO0NBQ3hCLENBQUM7QUFDRixpRUFBaUU7QUFDakQsd0NBQW1CLEdBQWE7SUFDL0MsZ0NBQWdDO0lBQ2hDLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YsOEVBQThFO0FBQzlELHFEQUFnQyxHQUFhO0lBQzVELDZDQUE2QztDQUM3QyxDQUFDO0FBQ0Ysc0ZBQXNGO0FBQ3RFLDZEQUF3QyxHQUFhO0lBQ3BFLHFEQUFxRDtJQUNyRCx3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCwwQ0FBcUIsR0FBYTtJQUNqRCxrQ0FBa0M7SUFDbEMsd0JBQXdCO0NBQ3hCLENBQUM7QUFDRiwrRUFBK0U7QUFDL0Qsc0RBQWlDLEdBQWE7SUFDN0QsOENBQThDO0NBQzlDLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQscURBQWdDLEdBQWE7SUFDNUQsNkNBQTZDO0lBQzdDLGNBQWM7SUFDZCx3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLDBGQUEwRjtBQUMxRSxpRUFBNEMsR0FBYTtJQUN4RSx5REFBeUQ7Q0FDekQsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx5Q0FBb0IsR0FBYTtJQUNoRCxpQ0FBaUM7SUFDakMsd0JBQXdCO0NBQ3hCLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsaURBQTRCLEdBQWE7SUFDeEQseUNBQXlDO0lBQ3pDLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELDRDQUF1QixHQUFhO0lBQ25ELG9DQUFvQztJQUNwQyx3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLGlGQUFpRjtBQUNqRSx3REFBbUMsR0FBYTtJQUMvRCxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxxQ0FBZ0IsR0FBYTtJQUM1Qyw2QkFBNkI7SUFDN0IsY0FBYztJQUNkLHdCQUF3QjtDQUN4QixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELGdEQUEyQixHQUFhO0lBQ3ZELHdDQUF3QztJQUN4Qyx3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwyQ0FBc0IsR0FBYTtJQUNsRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx3Q0FBbUIsR0FBYTtJQUMvQyxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLHNGQUFzRjtBQUN0RSw2REFBd0MsR0FBYTtJQUNwRSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCwwQ0FBcUIsR0FBYTtJQUNqRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLCtFQUErRTtBQUMvRCxzREFBaUMsR0FBYTtJQUM3RCw4Q0FBOEM7Q0FDOUMsQ0FBQztBQUNGLDhFQUE4RTtBQUM5RCxxREFBZ0MsR0FBYTtJQUM1RCw2Q0FBNkM7Q0FDN0MsQ0FBQztBQUNGLDBGQUEwRjtBQUMxRSxpRUFBNEMsR0FBYTtJQUN4RSx5REFBeUQ7Q0FDekQsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx5Q0FBb0IsR0FBYTtJQUNoRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLDBFQUEwRTtBQUMxRCxpREFBNEIsR0FBYTtJQUN4RCx5Q0FBeUM7Q0FDekMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCw0Q0FBdUIsR0FBYTtJQUNuRCxvQ0FBb0M7Q0FDcEMsQ0FBQztBQUNGLGlGQUFpRjtBQUNqRSx3REFBbUMsR0FBYTtJQUMvRCxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxpQ0FBWSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNyRSw4REFBOEQ7QUFDOUMscUNBQWdCLEdBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzdFLHlFQUF5RTtBQUN6RCxnREFBMkIsR0FBYTtJQUN2RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw4Q0FBeUIsR0FBYTtJQUNyRCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCwyQ0FBc0IsR0FBYSxFQUFFLENBQUM7QUFDdEQsaUVBQWlFO0FBQ2pELDBDQUFxQixHQUFhO0lBQ2pELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsOERBQThEO0FBQzlDLHVDQUFrQixHQUFhO0lBQzlDLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsOEVBQThFO0FBQzlELHVEQUFrQyxHQUFhO0lBQzlELDZDQUE2QztDQUM3QyxDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELG9EQUErQixHQUFhO0lBQzNELDBDQUEwQztDQUMxQyxDQUFDO0FBQ0YsZ0dBQWdHO0FBQ2hGLHlFQUFvRCxHQUNuRSxDQUFDLCtEQUErRCxDQUFDLENBQUM7QUFDbkUsb0ZBQW9GO0FBQ3BFLDZEQUF3QyxHQUFhO0lBQ3BFLG1EQUFtRDtDQUNuRCxDQUFDO0FBQ0YsbUZBQW1GO0FBQ25FLDREQUF1QyxHQUFhO0lBQ25FLGtEQUFrRDtDQUNsRCxDQUFDO0FBQ0YsbUZBQW1GO0FBQ25FLDREQUF1QyxHQUFhO0lBQ25FLGtEQUFrRDtDQUNsRCxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHlDQUFvQixHQUFhO0lBQ2hELCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsNEVBQTRFO0FBQzVELHFEQUFnQyxHQUFhO0lBQzVELDJDQUEyQztDQUMzQyxDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELG9EQUErQixHQUFhO0lBQzNELDBDQUEwQztDQUMxQyxDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLGdFQUEyQyxHQUFhO0lBQ3ZFLHNEQUFzRDtDQUN0RCxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHdDQUFtQixHQUFhO0lBQy9DLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsdUVBQXVFO0FBQ3ZELGdEQUEyQixHQUFhO0lBQ3ZELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELDJDQUFzQixHQUFhO0lBQ2xELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsOEVBQThFO0FBQzlELHVEQUFrQyxHQUFhO0lBQzlELDZDQUE2QztDQUM3QyxDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLG9DQUFlLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3pFLHNFQUFzRTtBQUN0RCwrQ0FBMEIsR0FBYTtJQUN0RCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxzQ0FBaUIsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDN0UsK0RBQStEO0FBQy9DLHdDQUFtQixHQUFhO0lBQy9DLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsdURBQXVEO0FBQ3ZDLGdDQUFXLEdBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2pFLG1FQUFtRTtBQUNuRCw0Q0FBdUIsR0FBYTtJQUNuRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwyQ0FBc0IsR0FBYTtJQUNsRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCwwQ0FBcUIsR0FBYTtJQUNqRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLGdGQUFnRjtBQUNoRSx1REFBa0MsR0FBYTtJQUM5RCwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLDZFQUE2RTtBQUM3RCxvREFBK0IsR0FBYTtJQUMzRCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLGtHQUFrRztBQUNsRix5RUFBb0QsR0FDbkUsQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO0FBQ3JFLHNGQUFzRjtBQUN0RSw2REFBd0MsR0FBYTtJQUNwRSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSw0REFBdUMsR0FBYTtJQUNuRSxvREFBb0Q7Q0FDcEQsQ0FBQztBQUNGLDZFQUE2RTtBQUM3RCxvREFBK0IsR0FBYTtJQUMzRCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCx1Q0FBa0IsR0FBYTtJQUM5QywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSw0REFBdUMsR0FBYTtJQUNuRSxvREFBb0Q7Q0FDcEQsQ0FBQztBQUNGLDZFQUE2RTtBQUM3RCxvREFBK0IsR0FBYTtJQUMzRCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx5Q0FBb0IsR0FBYTtJQUNoRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx3Q0FBbUIsR0FBYTtJQUMvQyxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLHlFQUF5RTtBQUN6RCxnREFBMkIsR0FBYTtJQUN2RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCxrREFBNkIsR0FBYTtJQUN6RCwwQ0FBMEM7Q0FDMUMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwyQ0FBc0IsR0FBYTtJQUNsRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLHlEQUF5RDtBQUN6QyxnQ0FBVyxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNuRSw2REFBNkQ7QUFDN0Msb0NBQWUsR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDM0Usd0VBQXdFO0FBQ3hELCtDQUEwQixHQUFhO0lBQ3RELHVDQUF1QztDQUN2QyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHVDQUFrQixHQUFhO0lBQzlDLCtCQUErQjtDQUMvQixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHNDQUFpQixHQUFhO0lBQzdDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHlDQUFvQixHQUFhO0lBQ2hELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLGdDQUFXLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ25FLGlFQUFpRTtBQUNqRCx3Q0FBbUIsR0FBYTtJQUMvQyxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwyQ0FBc0IsR0FBYTtJQUNsRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCw4Q0FBeUIsR0FBYTtJQUNyRCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx5Q0FBb0IsR0FBYTtJQUNoRCxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCwyQ0FBc0IsR0FBYSxFQUFFLENBQUM7QUFDdEQsK0RBQStEO0FBQy9DLHNDQUFpQixHQUFhO0lBQzdDLDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHdDQUFtQixHQUFhO0lBQy9DLGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YseURBQXlEO0FBQ3pDLGdDQUFXLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ25FLDJEQUEyRDtBQUMzQyxrQ0FBYSxHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUN2RSxvRUFBb0U7QUFDcEQsMkNBQXNCLEdBQWE7SUFDbEQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixpRUFBaUU7QUFDakQsd0NBQW1CLEdBQWE7SUFDL0MsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQscURBQWdDLEdBQWE7SUFDNUQsNkNBQTZDO0NBQzdDLENBQUM7QUFDRixzRkFBc0Y7QUFDdEUsNkRBQXdDLEdBQWE7SUFDcEUscURBQXFEO0NBQ3JELENBQUM7QUFDRixtRUFBbUU7QUFDbkQsMENBQXFCLEdBQWE7SUFDakQsa0NBQWtDO0lBQ2xDLGdEQUFnRDtJQUNoRCwyQ0FBMkM7Q0FDM0MsQ0FBQztBQUNGLCtFQUErRTtBQUMvRCxzREFBaUMsR0FBYTtJQUM3RCw4Q0FBOEM7Q0FDOUMsQ0FBQztBQUNGLDhFQUE4RTtBQUM5RCxxREFBZ0MsR0FBYTtJQUM1RCxjQUFjO0lBQ2QsNkNBQTZDO0NBQzdDLENBQUM7QUFDRiwwRkFBMEY7QUFDMUUsaUVBQTRDLEdBQWE7SUFDeEUseURBQXlEO0NBQ3pELENBQUM7QUFDRixrRUFBa0U7QUFDbEQseUNBQW9CLEdBQWE7SUFDaEQsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsaURBQTRCLEdBQWE7SUFDeEQseUNBQXlDO0NBQ3pDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsNENBQXVCLEdBQWE7SUFDbkQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRixpRkFBaUY7QUFDakUsd0RBQW1DLEdBQWE7SUFDL0QsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRiw4REFBOEQ7QUFDOUMscUNBQWdCLEdBQWE7SUFDNUMsY0FBYztJQUNkLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YseUVBQXlFO0FBQ3pELGdEQUEyQixHQUFhO0lBQ3ZELHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHVDQUFrQixHQUFhO0lBQzlDLCtCQUErQjtDQUMvQixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHlDQUFvQixHQUFhO0lBQ2hELGlDQUFpQztDQUNqQyxDQUFDO0FBR0g7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjtJQWdCaEM7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0I7UUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDbkUsQ0FBQzs7QUFuQ0Ysb0RBb0NDOzs7QUFuQ0EsMkRBQTJEO0FBQzNDLDZDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QywrQ0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxvQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxxQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsaUNBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9jbGVhbnJvb21zLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBjbGVhbnJvb21zIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGVhbnJvb21zQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImNsZWFucm9vbXNcIjtcblxuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6QmF0Y2hHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZSA9XG5cdFx0XCJjbGVhbnJvb21zOkJhdGNoR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkJhdGNoR2V0U2NoZW1hICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFNjaGVtYSA9IFwiY2xlYW5yb29tczpCYXRjaEdldFNjaGVtYVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6QmF0Y2hHZXRTY2hlbWFBbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0U2NoZW1hQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6QmF0Y2hHZXRTY2hlbWFBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVBbmFseXNpc1RlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBbmFseXNpc1RlbXBsYXRlID0gXCJjbGVhbnJvb21zOkNyZWF0ZUFuYWx5c2lzVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVDb2xsYWJvcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2xsYWJvcmF0aW9uID0gXCJjbGVhbnJvb21zOkNyZWF0ZUNvbGxhYm9yYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgPVxuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdFwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmVkVGFibGUgPSBcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlSWRNYXBwaW5nVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlkTWFwcGluZ1RhYmxlID0gXCJjbGVhbnJvb21zOkNyZWF0ZUlkTWFwcGluZ1RhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZXJtZWRpYXRlVGFibGUgPVxuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlTWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtYmVyc2hpcCA9IFwiY2xlYW5yb29tczpDcmVhdGVNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUgPVxuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVBbmFseXNpc1RlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbmFseXNpc1RlbXBsYXRlID0gXCJjbGVhbnJvb21zOkRlbGV0ZUFuYWx5c2lzVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVDb2xsYWJvcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2xsYWJvcmF0aW9uID0gXCJjbGVhbnJvb21zOkRlbGV0ZUNvbGxhYm9yYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlID0gXCJjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUlkTWFwcGluZ1RhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJZE1hcHBpbmdUYWJsZSA9IFwiY2xlYW5yb29tczpEZWxldGVJZE1hcHBpbmdUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlSW50ZXJtZWRpYXRlVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVybWVkaWF0ZVRhYmxlID1cblx0XHRcImNsZWFucm9vbXM6RGVsZXRlSW50ZXJtZWRpYXRlVGFibGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZU1lbWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyID0gXCJjbGVhbnJvb21zOkRlbGV0ZU1lbWJlclwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZU1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbWJlcnNoaXAgPSBcImNsZWFucm9vbXM6RGVsZXRlTWVtYmVyc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlID1cblx0XHRcImNsZWFucm9vbXM6RGVsZXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGlzYWxsb3dJbnRlcm1lZGlhdGVUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWxsb3dJbnRlcm1lZGlhdGVUYWJsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkRpc2FsbG93SW50ZXJtZWRpYXRlVGFibGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldEFuYWx5c2lzTG9nRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbmFseXNpc0xvZ0V4cG9ydCA9XG5cdFx0XCJjbGVhbnJvb21zOkdldEFuYWx5c2lzTG9nRXhwb3J0XCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRBbmFseXNpc1RlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbmFseXNpc1RlbXBsYXRlID0gXCJjbGVhbnJvb21zOkdldEFuYWx5c2lzVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb24gPSBcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvblwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCA9XG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0XCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGUgPVxuXHRcdFwiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldFRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmVkVGFibGUgPSBcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRJZE1hcHBpbmdUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SWRNYXBwaW5nVGFibGUgPSBcImNsZWFucm9vbXM6R2V0SWRNYXBwaW5nVGFibGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldElkTmFtZXNwYWNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldElkTmFtZXNwYWNlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpHZXRJZE5hbWVzcGFjZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRJbnRlcm1lZGlhdGVUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW50ZXJtZWRpYXRlVGFibGUgPVxuXHRcdFwiY2xlYW5yb29tczpHZXRJbnRlcm1lZGlhdGVUYWJsZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6R2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldE1lbWJlcnNoaXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1lbWJlcnNoaXAgPSBcImNsZWFucm9vbXM6R2V0TWVtYmVyc2hpcFwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcml2YWN5QnVkZ2V0VGVtcGxhdGUgPVxuXHRcdFwiY2xlYW5yb29tczpHZXRQcml2YWN5QnVkZ2V0VGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldFByb3RlY3RlZEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdGVjdGVkSm9iID0gXCJjbGVhbnJvb21zOkdldFByb3RlY3RlZEpvYlwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0UHJvdGVjdGVkUXVlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3RlY3RlZFF1ZXJ5ID0gXCJjbGVhbnJvb21zOkdldFByb3RlY3RlZFF1ZXJ5XCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNjaGVtYSA9IFwiY2xlYW5yb29tczpHZXRTY2hlbWFcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldFNjaGVtYUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2NoZW1hQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6R2V0U2NoZW1hQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0QW5hbHlzaXNMb2dFeHBvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QW5hbHlzaXNMb2dFeHBvcnRzID0gXCJjbGVhbnJvb21zOkxpc3RBbmFseXNpc0xvZ0V4cG9ydHNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RBbmFseXNpc1RlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFuYWx5c2lzVGVtcGxhdGVzID0gXCJjbGVhbnJvb21zOkxpc3RBbmFseXNpc1RlbXBsYXRlc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlcyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZXNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdHMgPVxuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uSWROYW1lc3BhY2VBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldFRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRzID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0c1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbnMgPSBcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9ucyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RDb25maWd1cmVkVGFibGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJlZFRhYmxlcyA9IFwiY2xlYW5yb29tczpMaXN0Q29uZmlndXJlZFRhYmxlc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdElkTWFwcGluZ1RhYmxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkTWFwcGluZ1RhYmxlcyA9IFwiY2xlYW5yb29tczpMaXN0SWRNYXBwaW5nVGFibGVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0SWROYW1lc3BhY2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdEludGVybWVkaWF0ZVRhYmxlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlcm1lZGlhdGVUYWJsZVZlcnNpb25zID1cblx0XHRcImNsZWFucm9vbXM6TGlzdEludGVybWVkaWF0ZVRhYmxlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RJbnRlcm1lZGlhdGVUYWJsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlcm1lZGlhdGVUYWJsZXMgPSBcImNsZWFucm9vbXM6TGlzdEludGVybWVkaWF0ZVRhYmxlc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdE1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1iZXJzID0gXCJjbGVhbnJvb21zOkxpc3RNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0TWVtYmVyc2hpcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1iZXJzaGlwcyA9IFwiY2xlYW5yb29tczpMaXN0TWVtYmVyc2hpcHNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RQcml2YWN5QnVkZ2V0VGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlcyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RQcml2YWN5QnVkZ2V0VGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0UHJpdmFjeUJ1ZGdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YWN5QnVkZ2V0cyA9IFwiY2xlYW5yb29tczpMaXN0UHJpdmFjeUJ1ZGdldHNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RQcm90ZWN0ZWRKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdGVjdGVkSm9icyA9IFwiY2xlYW5yb29tczpMaXN0UHJvdGVjdGVkSm9ic1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdFByb3RlY3RlZFF1ZXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0ZWRRdWVyaWVzID0gXCJjbGVhbnJvb21zOkxpc3RQcm90ZWN0ZWRRdWVyaWVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0U2NoZW1hcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNjaGVtYXMgPSBcImNsZWFucm9vbXM6TGlzdFNjaGVtYXNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImNsZWFucm9vbXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6UGFzc0NvbGxhYm9yYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhc3NDb2xsYWJvcmF0aW9uID0gXCJjbGVhbnJvb21zOlBhc3NDb2xsYWJvcmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpQYXNzTWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFzc01lbWJlcnNoaXAgPSBcImNsZWFucm9vbXM6UGFzc01lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpQb3B1bGF0ZUlkTWFwcGluZ1RhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBQb3B1bGF0ZUlkTWFwcGluZ1RhYmxlID0gXCJjbGVhbnJvb21zOlBvcHVsYXRlSWRNYXBwaW5nVGFibGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpQb3B1bGF0ZUludGVybWVkaWF0ZVRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBQb3B1bGF0ZUludGVybWVkaWF0ZVRhYmxlID1cblx0XHRcImNsZWFucm9vbXM6UG9wdWxhdGVJbnRlcm1lZGlhdGVUYWJsZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6UHJldmlld1ByaXZhY3lJbXBhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXZpZXdQcml2YWN5SW1wYWN0ID0gXCJjbGVhbnJvb21zOlByZXZpZXdQcml2YWN5SW1wYWN0XCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6U3RhcnRBbmFseXNpc0xvZ0V4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBbmFseXNpc0xvZ0V4cG9ydCA9IFwiY2xlYW5yb29tczpTdGFydEFuYWx5c2lzTG9nRXhwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6U3RhcnRQcm90ZWN0ZWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UHJvdGVjdGVkSm9iID0gXCJjbGVhbnJvb21zOlN0YXJ0UHJvdGVjdGVkSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6U3RhcnRQcm90ZWN0ZWRRdWVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm90ZWN0ZWRRdWVyeSA9IFwiY2xlYW5yb29tczpTdGFydFByb3RlY3RlZFF1ZXJ5XCI7XG5cdC8qKiBbVGFnZ2luZ10gY2xlYW5yb29tczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBjbGVhbnJvb21zOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImNsZWFucm9vbXM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUFuYWx5c2lzVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFuYWx5c2lzVGVtcGxhdGUgPSBcImNsZWFucm9vbXM6VXBkYXRlQW5hbHlzaXNUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbGxhYm9yYXRpb24gPSBcImNsZWFucm9vbXM6VXBkYXRlQ29sbGFib3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZSA9IFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBbGxvd2VkQ29sdW1ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZFRhYmxlQWxsb3dlZENvbHVtbnMgPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBbGxvd2VkQ29sdW1uc1wiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZVJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZFRhYmxlUmVmZXJlbmNlID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlUmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlSWRNYXBwaW5nVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUlkTWFwcGluZ1RhYmxlID0gXCJjbGVhbnJvb21zOlVwZGF0ZUlkTWFwcGluZ1RhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW50ZXJtZWRpYXRlVGFibGUgPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlTWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWVtYmVyc2hpcCA9IFwiY2xlYW5yb29tczpVcGRhdGVNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUgPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVQcm90ZWN0ZWRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb3RlY3RlZEpvYiA9IFwiY2xlYW5yb29tczpVcGRhdGVQcm90ZWN0ZWRKb2JcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVQcm90ZWN0ZWRRdWVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdGVkUXVlcnkgPSBcImNsZWFucm9vbXM6VXBkYXRlUHJvdGVjdGVkUXVlcnlcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5CYXRjaEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkJhdGNoR2V0U2NoZW1hLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkJhdGNoR2V0U2NoZW1hQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldEFuYWx5c2lzTG9nRXhwb3J0LFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldEFuYWx5c2lzVGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0Q29sbGFib3JhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uSWROYW1lc3BhY2VBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldFRlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJlZFRhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRJZE1hcHBpbmdUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRJZE5hbWVzcGFjZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldEludGVybWVkaWF0ZVRhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldEludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldE1lbWJlcnNoaXAsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldFByb3RlY3RlZEpvYixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRQcm90ZWN0ZWRRdWVyeSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRTY2hlbWEsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0U2NoZW1hQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlBhc3NDb2xsYWJvcmF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlBhc3NNZW1iZXJzaGlwLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlByZXZpZXdQcml2YWN5SW1wYWN0LFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUFuYWx5c2lzVGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlQ29sbGFib3JhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlSWRNYXBwaW5nVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVJbnRlcm1lZGlhdGVUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVNZW1iZXJzaGlwLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVBbmFseXNpc1RlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUNvbGxhYm9yYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVDb25maWd1cmVkVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUlkTWFwcGluZ1RhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlSW50ZXJtZWRpYXRlVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlTWVtYmVyLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZU1lbWJlcnNoaXAsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRpc2FsbG93SW50ZXJtZWRpYXRlVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuUG9wdWxhdGVJZE1hcHBpbmdUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5Qb3B1bGF0ZUludGVybWVkaWF0ZVRhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlN0YXJ0QW5hbHlzaXNMb2dFeHBvcnQsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuU3RhcnRQcm90ZWN0ZWRKb2IsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuU3RhcnRQcm90ZWN0ZWRRdWVyeSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVBbmFseXNpc1RlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUNvbGxhYm9yYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVDb25maWd1cmVkVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29uZmlndXJlZFRhYmxlQWxsb3dlZENvbHVtbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZVJlZmVyZW5jZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVJZE1hcHBpbmdUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZU1lbWJlcnNoaXAsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZVByb3RlY3RlZEpvYixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVQcm90ZWN0ZWRRdWVyeSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdEFuYWx5c2lzTG9nRXhwb3J0cyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0QW5hbHlzaXNUZW1wbGF0ZXMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZXMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0cyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbmZpZ3VyZWRUYWJsZXMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdElkTWFwcGluZ1RhYmxlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0SWROYW1lc3BhY2VBc3NvY2lhdGlvbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdEludGVybWVkaWF0ZVRhYmxlVmVyc2lvbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdEludGVybWVkaWF0ZVRhYmxlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0TWVtYmVycyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0TWVtYmVyc2hpcHMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdFByaXZhY3lCdWRnZXRUZW1wbGF0ZXMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdFByaXZhY3lCdWRnZXRzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RQcm90ZWN0ZWRKb2JzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RQcm90ZWN0ZWRRdWVyaWVzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RTY2hlbWFzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENsZWFucm9vbXNBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhbmFseXNpc3RlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQW5hbHlzaXN0ZW1wbGF0ZUFyblByb3BzIHtcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFuYWx5c2lzVGVtcGxhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYW5hbHlzaXNUZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYW5hbHlzaXN0ZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0FuYWx5c2lzdGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFuYWx5c2lzVGVtcGxhdGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFuYWx5c2lzVGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29sbGFib3JhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0NvbGxhYm9yYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29sbGFib3JhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb2xsYWJvcmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb2xsYWJvcmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29sbGFib3JhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29sbGFib3JhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29sbGFib3JhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0NvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uZmlndXJlZHRhYmxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbmZpZ3VyZWRUYWJsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25maWd1cmVkVGFibGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbmZpZ3VyZWR0YWJsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlndXJlZFRhYmxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25maWd1cmVkVGFibGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uZmlndXJlZHRhYmxlYXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNDb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaWRtYXBwaW5ndGFibGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNJZG1hcHBpbmd0YWJsZUFyblByb3BzIHtcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIElkTWFwcGluZ1RhYmxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkTWFwcGluZ1RhYmxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpZG1hcHBpbmd0YWJsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0lkbWFwcGluZ3RhYmxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBJZE1hcHBpbmdUYWJsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWRNYXBwaW5nVGFibGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0lkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBJZE5hbWVzcGFjZUFzc29jaWF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkTmFtZXNwYWNlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGlkbmFtZXNwYWNlYXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNJZG5hbWVzcGFjZWFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBJZE5hbWVzcGFjZUFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZE5hbWVzcGFjZUFzc29jaWF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGludGVybWVkaWF0ZXRhYmxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zSW50ZXJtZWRpYXRldGFibGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBJbnRlcm1lZGlhdGVUYWJsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnRlcm1lZGlhdGVUYWJsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW50ZXJtZWRpYXRldGFibGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNJbnRlcm1lZGlhdGV0YWJsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgSW50ZXJtZWRpYXRlVGFibGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGludGVybWVkaWF0ZVRhYmxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1lbWJlcnNoaXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNNZW1iZXJzaGlwQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWVtYmVyc2hpcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc01lbWJlcnNoaXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJpdmFjeWJ1ZGdldHRlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJpdmFjeUJ1ZGdldFRlbXBsYXRlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByaXZhY3lCdWRnZXRUZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJpdmFjeWJ1ZGdldHRlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcml2YWN5QnVkZ2V0VGVtcGxhdGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByaXZhY3lCdWRnZXRUZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFuYWx5c2lzdGVtcGxhdGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKylcXC9hbmFseXNpc3RlbXBsYXRlXFwvKD88YW5hbHlzaXNUZW1wbGF0ZUlkPlteOi8/XSspJC87XG5jb25zdCBDb2xsYWJvcmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNsZWFucm9vbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb2xsYWJvcmF0aW9uXFwvKD88Y29sbGFib3JhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBDb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNsZWFucm9vbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZW1iZXJzaGlwXFwvKD88bWVtYmVyc2hpcElkPlteOi8/XSspXFwvY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvblxcLyg/PGNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJlZHRhYmxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNsZWFucm9vbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmVkdGFibGVcXC8oPzxjb25maWd1cmVkVGFibGVJZD5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJlZHRhYmxlYXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKylcXC9jb25maWd1cmVkdGFibGVhc3NvY2lhdGlvblxcLyg/PGNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IElkbWFwcGluZ3RhYmxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNsZWFucm9vbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZW1iZXJzaGlwXFwvKD88bWVtYmVyc2hpcElkPlteOi8/XSspXFwvaWRtYXBwaW5ndGFibGVcXC8oPzxpZE1hcHBpbmdUYWJsZUlkPlteOi8/XSspJC87XG5jb25zdCBJZG5hbWVzcGFjZWFzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNsZWFucm9vbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZW1iZXJzaGlwXFwvKD88bWVtYmVyc2hpcElkPlteOi8/XSspXFwvaWRuYW1lc3BhY2Vhc3NvY2lhdGlvblxcLyg/PGlkTmFtZXNwYWNlQXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgSW50ZXJtZWRpYXRldGFibGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKylcXC9pbnRlcm1lZGlhdGV0YWJsZVxcLyg/PGludGVybWVkaWF0ZVRhYmxlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1lbWJlcnNoaXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKykkLztcbmNvbnN0IFByaXZhY3lidWRnZXR0ZW1wbGF0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjbGVhbnJvb21zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWVtYmVyc2hpcFxcLyg/PG1lbWJlcnNoaXBJZD5bXjovP10rKVxcL3ByaXZhY3lidWRnZXR0ZW1wbGF0ZVxcLyg/PHByaXZhY3lCdWRnZXRUZW1wbGF0ZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgY2xlYW5yb29tcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGVhbnJvb21zUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhbmFseXNpc3RlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFuYWx5c2lzdGVtcGxhdGUocHJvcHM6IENsZWFucm9vbXNBbmFseXNpc3RlbXBsYXRlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH0vYW5hbHlzaXN0ZW1wbGF0ZS8ke3Byb3BzLmFuYWx5c2lzVGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYW5hbHlzaXN0ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQW5hbHlzaXN0ZW1wbGF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbmFseXNpc3RlbXBsYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFuYWx5c2lzdGVtcGxhdGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQW5hbHlzaXN0ZW1wbGF0ZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0FuYWx5c2lzdGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFuYWx5c2lzdGVtcGxhdGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYW5hbHlzaXN0ZW1wbGF0ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtZW1iZXJzaGlwSWQ6IG1hdGNoLmdyb3VwcyEubWVtYmVyc2hpcElkLFxuXHRcdFx0YW5hbHlzaXNUZW1wbGF0ZUlkOiBtYXRjaC5ncm91cHMhLmFuYWx5c2lzVGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb2xsYWJvcmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbGxhYm9yYXRpb24ocHJvcHM6IENsZWFucm9vbXNDb2xsYWJvcmF0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29sbGFib3JhdGlvbi8ke3Byb3BzLmNvbGxhYm9yYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29sbGFib3JhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29sbGFib3JhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb2xsYWJvcmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbGxhYm9yYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29sbGFib3JhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0NvbGxhYm9yYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbGxhYm9yYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29sbGFib3JhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb2xsYWJvcmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuY29sbGFib3JhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbihcblx0XHRwcm9wczogQ2xlYW5yb29tc0NvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9L2NvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb24vJHtwcm9wcy5jb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENsZWFucm9vbXNDb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVtYmVyc2hpcElkOiBtYXRjaC5ncm91cHMhLm1lbWJlcnNoaXBJZCxcblx0XHRcdGNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5jb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29uZmlndXJlZHRhYmxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyZWR0YWJsZShwcm9wczogQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyZWR0YWJsZS8ke3Byb3BzLmNvbmZpZ3VyZWRUYWJsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb25maWd1cmVkdGFibGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyZWR0YWJsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmVkdGFibGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29uZmlndXJlZHRhYmxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyZWR0YWJsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJlZHRhYmxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbmZpZ3VyZWR0YWJsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25maWd1cmVkVGFibGVJZDogbWF0Y2guZ3JvdXBzIS5jb25maWd1cmVkVGFibGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbihcblx0XHRwcm9wczogQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y2xlYW5yb29tczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZW1iZXJzaGlwLyR7cHJvcHMubWVtYmVyc2hpcElkfS9jb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbi8ke3Byb3BzLmNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtZW1iZXJzaGlwSWQ6IG1hdGNoLmdyb3VwcyEubWVtYmVyc2hpcElkLFxuXHRcdFx0Y29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5jb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGlkbWFwcGluZ3RhYmxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlkbWFwcGluZ3RhYmxlKHByb3BzOiBDbGVhbnJvb21zSWRtYXBwaW5ndGFibGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y2xlYW5yb29tczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZW1iZXJzaGlwLyR7cHJvcHMubWVtYmVyc2hpcElkfS9pZG1hcHBpbmd0YWJsZS8ke3Byb3BzLmlkTWFwcGluZ1RhYmxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGlkbWFwcGluZ3RhYmxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJZG1hcHBpbmd0YWJsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJZG1hcHBpbmd0YWJsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpZG1hcHBpbmd0YWJsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJZG1hcHBpbmd0YWJsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0lkbWFwcGluZ3RhYmxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJZG1hcHBpbmd0YWJsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpZG1hcHBpbmd0YWJsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtZW1iZXJzaGlwSWQ6IG1hdGNoLmdyb3VwcyEubWVtYmVyc2hpcElkLFxuXHRcdFx0aWRNYXBwaW5nVGFibGVJZDogbWF0Y2guZ3JvdXBzIS5pZE1hcHBpbmdUYWJsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGlkbmFtZXNwYWNlYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbihcblx0XHRwcm9wczogQ2xlYW5yb29tc0lkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9L2lkbmFtZXNwYWNlYXNzb2NpYXRpb24vJHtwcm9wcy5pZE5hbWVzcGFjZUFzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGlkbmFtZXNwYWNlYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZElkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSWRuYW1lc3BhY2Vhc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpZG5hbWVzcGFjZWFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUlkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENsZWFucm9vbXNJZG5hbWVzcGFjZWFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJZG5hbWVzcGFjZWFzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGlkbmFtZXNwYWNlYXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVtYmVyc2hpcElkOiBtYXRjaC5ncm91cHMhLm1lbWJlcnNoaXBJZCxcblx0XHRcdGlkTmFtZXNwYWNlQXNzb2NpYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5pZE5hbWVzcGFjZUFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW50ZXJtZWRpYXRldGFibGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZXJtZWRpYXRldGFibGUocHJvcHM6IENsZWFucm9vbXNJbnRlcm1lZGlhdGV0YWJsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9L2ludGVybWVkaWF0ZXRhYmxlLyR7cHJvcHMuaW50ZXJtZWRpYXRlVGFibGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW50ZXJtZWRpYXRldGFibGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEludGVybWVkaWF0ZXRhYmxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEludGVybWVkaWF0ZXRhYmxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGludGVybWVkaWF0ZXRhYmxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUludGVybWVkaWF0ZXRhYmxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zSW50ZXJtZWRpYXRldGFibGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEludGVybWVkaWF0ZXRhYmxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVybWVkaWF0ZXRhYmxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0XHRpbnRlcm1lZGlhdGVUYWJsZUlkOiBtYXRjaC5ncm91cHMhLmludGVybWVkaWF0ZVRhYmxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWVtYmVyc2hpcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtZW1iZXJzaGlwKHByb3BzOiBDbGVhbnJvb21zTWVtYmVyc2hpcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1lbWJlcnNoaXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1lbWJlcnNoaXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWVtYmVyc2hpcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtZW1iZXJzaGlwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1lbWJlcnNoaXBBcm4oYXJuOiBzdHJpbmcpOiBDbGVhbnJvb21zTWVtYmVyc2hpcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWVtYmVyc2hpcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtZW1iZXJzaGlwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJpdmFjeWJ1ZGdldHRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByaXZhY3lidWRnZXR0ZW1wbGF0ZShcblx0XHRwcm9wczogQ2xlYW5yb29tc1ByaXZhY3lidWRnZXR0ZW1wbGF0ZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH0vcHJpdmFjeWJ1ZGdldHRlbXBsYXRlLyR7cHJvcHMucHJpdmFjeUJ1ZGdldFRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByaXZhY3lidWRnZXR0ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByaXZhY3lidWRnZXR0ZW1wbGF0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcml2YWN5YnVkZ2V0dGVtcGxhdGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcml2YWN5YnVkZ2V0dGVtcGxhdGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJpdmFjeWJ1ZGdldHRlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0XHRwcml2YWN5QnVkZ2V0VGVtcGxhdGVJZDogbWF0Y2guZ3JvdXBzIS5wcml2YWN5QnVkZ2V0VGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBjbGVhbnJvb21zLlxuICovXG5leHBvcnQgY2xhc3MgQ2xlYW5yb29tc09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkJhdGNoR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFNjaGVtYTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkJhdGNoR2V0U2NoZW1hXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFNjaGVtYUFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0U2NoZW1hQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6QmF0Y2hHZXRTY2hlbWFBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQW5hbHlzaXNUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFuYWx5c2lzVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVBbmFseXNpc1RlbXBsYXRlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29sbGFib3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbGxhYm9yYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb2xsYWJvcmF0aW9uXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25cIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJlZFRhYmxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZFRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSWRNYXBwaW5nVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJZE1hcHBpbmdUYWJsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUlkTWFwcGluZ1RhYmxlXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiLFxuXHRcdFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlSW50ZXJtZWRpYXRlVGFibGVcIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlTWVtYmVyc2hpcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiLFxuXHRcdFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbmFseXNpc1RlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQW5hbHlzaXNUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUFuYWx5c2lzVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29sbGFib3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbGxhYm9yYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb2xsYWJvcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25maWd1cmVkVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSWRNYXBwaW5nVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJZE1hcHBpbmdUYWJsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUlkTWFwcGluZ1RhYmxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnRlcm1lZGlhdGVUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlSW50ZXJtZWRpYXRlVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lbWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbWJlcjogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkRlbGV0ZU1lbWJlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1wiY2xlYW5yb29tczpEZWxldGVNZW1iZXJzaGlwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YWN5QnVkZ2V0VGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVQcml2YWN5QnVkZ2V0VGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWxsb3dJbnRlcm1lZGlhdGVUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FsbG93SW50ZXJtZWRpYXRlVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEaXNhbGxvd0ludGVybWVkaWF0ZVRhYmxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFuYWx5c2lzTG9nRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBbmFseXNpc0xvZ0V4cG9ydDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QW5hbHlzaXNUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QW5hbHlzaXNUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldEFuYWx5c2lzVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29sbGFib3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9XG5cdFx0W1wiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmVkVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWRNYXBwaW5nVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldElkTWFwcGluZ1RhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0SWRNYXBwaW5nVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWROYW1lc3BhY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SWROYW1lc3BhY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldElkTmFtZXNwYWNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZXJtZWRpYXRlVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0SW50ZXJtZWRpYXRlVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWVtYmVyc2hpcDogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkdldE1lbWJlcnNoaXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb3RlY3RlZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdGVjdGVkSm9iOiBzdHJpbmdbXSA9IFtcImNsZWFucm9vbXM6R2V0UHJvdGVjdGVkSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm90ZWN0ZWRRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdGVjdGVkUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRQcm90ZWN0ZWRRdWVyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNjaGVtYTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkdldFNjaGVtYVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NoZW1hQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTY2hlbWFBbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRTY2hlbWFBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFuYWx5c2lzTG9nRXhwb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbmFseXNpc0xvZ0V4cG9ydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0QW5hbHlzaXNMb2dFeHBvcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbmFseXNpc1RlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbmFseXNpc1RlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RBbmFseXNpc1RlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9XG5cdFx0W1wiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uSWROYW1lc3BhY2VBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29sbGFib3JhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29uZmlndXJlZFRhYmxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmVkVGFibGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdElkTWFwcGluZ1RhYmxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZE1hcHBpbmdUYWJsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0SWRNYXBwaW5nVGFibGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZXJtZWRpYXRlVGFibGVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlcm1lZGlhdGVUYWJsZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdEludGVybWVkaWF0ZVRhYmxlVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludGVybWVkaWF0ZVRhYmxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlcm1lZGlhdGVUYWJsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0SW50ZXJtZWRpYXRlVGFibGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnM6IHN0cmluZ1tdID0gW1wiY2xlYW5yb29tczpMaXN0TWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbWJlcnNoaXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzOiBzdHJpbmdbXSA9IFtcImNsZWFucm9vbXM6TGlzdE1lbWJlcnNoaXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YWN5QnVkZ2V0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdFByaXZhY3lCdWRnZXRUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaXZhY3lCdWRnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhY3lCdWRnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdFByaXZhY3lCdWRnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm90ZWN0ZWRKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3RlY3RlZEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0UHJvdGVjdGVkSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvdGVjdGVkUXVlcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0ZWRRdWVyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdFByb3RlY3RlZFF1ZXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNjaGVtYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2NoZW1hczogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkxpc3RTY2hlbWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUG9wdWxhdGVJZE1hcHBpbmdUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvcHVsYXRlSWRNYXBwaW5nVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpQb3B1bGF0ZUlkTWFwcGluZ1RhYmxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFBvcHVsYXRlSW50ZXJtZWRpYXRlVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQb3B1bGF0ZUludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6UG9wdWxhdGVJbnRlcm1lZGlhdGVUYWJsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmV2aWV3UHJpdmFjeUltcGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXZpZXdQcml2YWN5SW1wYWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6UHJldmlld1ByaXZhY3lJbXBhY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBbmFseXNpc0xvZ0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QW5hbHlzaXNMb2dFeHBvcnQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UHJvdGVjdGVkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm90ZWN0ZWRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpTdGFydFByb3RlY3RlZEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFByb3RlY3RlZFF1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm90ZWN0ZWRRdWVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlN0YXJ0UHJvdGVjdGVkUXVlcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFuYWx5c2lzVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBbmFseXNpc1RlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQW5hbHlzaXNUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb2xsYWJvcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29sbGFib3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmVkVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVcIixcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQWxsb3dlZENvbHVtbnNcIixcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlUmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSWRNYXBwaW5nVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJZE1hcHBpbmdUYWJsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUlkTWFwcGluZ1RhYmxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlSW50ZXJtZWRpYXRlVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVNZW1iZXJzaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm90ZWN0ZWRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0ZWRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVQcm90ZWN0ZWRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdGVjdGVkUXVlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0ZWRRdWVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZVByb3RlY3RlZFF1ZXJ5XCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBjbGVhbnJvb21zLlxuICovXG5leHBvcnQgY2xhc3MgQ2xlYW5yb29tc0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
1112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5yb29tcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvY2xlYW5yb29tcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQThZQzs7O0FBN1lBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLDhEQUE4RDtBQUM5Qyx1REFBcUMsR0FDcEQsa0RBQWtELENBQUM7QUFDcEQsdUNBQXVDO0FBQ3ZCLGdDQUFjLEdBQUcsMkJBQTJCLENBQUM7QUFDN0QsbURBQW1EO0FBQ25DLDRDQUEwQixHQUN6Qyx1Q0FBdUMsQ0FBQztBQUN6QyxnREFBZ0Q7QUFDaEMsd0NBQXNCLEdBQUcsbUNBQW1DLENBQUM7QUFDN0UsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLDBEQUEwRDtBQUMxQyxrREFBZ0MsR0FDL0MsNkNBQTZDLENBQUM7QUFDL0Msa0VBQWtFO0FBQ2xELDBEQUF3QyxHQUN2RCxxREFBcUQsQ0FBQztBQUN2RCwrQ0FBK0M7QUFDL0IsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UsMkRBQTJEO0FBQzNDLG1EQUFpQyxHQUNoRCw4Q0FBOEMsQ0FBQztBQUNoRCwwREFBMEQ7QUFDMUMsa0RBQWdDLEdBQy9DLDZDQUE2QyxDQUFDO0FBQy9DLHNFQUFzRTtBQUN0RCw4REFBNEMsR0FDM0QseURBQXlELENBQUM7QUFDM0QsOENBQThDO0FBQzlCLHNDQUFvQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3pFLHNEQUFzRDtBQUN0Qyw4Q0FBNEIsR0FDM0MseUNBQXlDLENBQUM7QUFDM0MsaURBQWlEO0FBQ2pDLHlDQUF1QixHQUN0Qyxv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QUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFnQjtRQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDOztBQW5DRixvREFvQ0M7OztBQW5DQSwyREFBMkQ7QUFDM0MsNkNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLCtDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLG9DQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHFDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxpQ0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2NsZWFucm9vbXMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGNsZWFucm9vbXMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENsZWFucm9vbXNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiY2xlYW5yb29tc1wiO1xuXG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpCYXRjaEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlID1cblx0XHRcImNsZWFucm9vbXM6QmF0Y2hHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6QmF0Y2hHZXRTY2hlbWEgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0U2NoZW1hID0gXCJjbGVhbnJvb21zOkJhdGNoR2V0U2NoZW1hXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpCYXRjaEdldFNjaGVtYUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTY2hlbWFBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpCYXRjaEdldFNjaGVtYUFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUFuYWx5c2lzVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFuYWx5c2lzVGVtcGxhdGUgPSBcImNsZWFucm9vbXM6Q3JlYXRlQW5hbHlzaXNUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUNvbGxhYm9yYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbGxhYm9yYXRpb24gPSBcImNsZWFucm9vbXM6Q3JlYXRlQ29sbGFib3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRUYWJsZSA9IFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVJZE1hcHBpbmdUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSWRNYXBwaW5nVGFibGUgPSBcImNsZWFucm9vbXM6Q3JlYXRlSWRNYXBwaW5nVGFibGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6Q3JlYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNZW1iZXJzaGlwID0gXCJjbGVhbnJvb21zOkNyZWF0ZU1lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpDcmVhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSA9XG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUFuYWx5c2lzVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFuYWx5c2lzVGVtcGxhdGUgPSBcImNsZWFucm9vbXM6RGVsZXRlQW5hbHlzaXNUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUNvbGxhYm9yYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbGxhYm9yYXRpb24gPSBcImNsZWFucm9vbXM6RGVsZXRlQ29sbGFib3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkVGFibGUgPSBcImNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlSWRNYXBwaW5nVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlkTWFwcGluZ1RhYmxlID0gXCJjbGVhbnJvb21zOkRlbGV0ZUlkTWFwcGluZ1RhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEZWxldGVJbnRlcm1lZGlhdGVUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZXJtZWRpYXRlVGFibGUgPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVJbnRlcm1lZGlhdGVUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOkRlbGV0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlTWVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXIgPSBcImNsZWFucm9vbXM6RGVsZXRlTWVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlTWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyc2hpcCA9IFwiY2xlYW5yb29tczpEZWxldGVNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6RGVsZXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUgPVxuXHRcdFwiY2xlYW5yb29tczpEZWxldGVQcml2YWN5QnVkZ2V0VGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpEaXNhbGxvd0ludGVybWVkaWF0ZVRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhbGxvd0ludGVybWVkaWF0ZVRhYmxlID1cblx0XHRcImNsZWFucm9vbXM6RGlzYWxsb3dJbnRlcm1lZGlhdGVUYWJsZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0QW5hbHlzaXNMb2dFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFuYWx5c2lzTG9nRXhwb3J0ID1cblx0XHRcImNsZWFucm9vbXM6R2V0QW5hbHlzaXNMb2dFeHBvcnRcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldEFuYWx5c2lzVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFuYWx5c2lzVGVtcGxhdGUgPSBcImNsZWFucm9vbXM6R2V0QW5hbHlzaXNUZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29sbGFib3JhdGlvbiA9IFwiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGUgPVxuXHRcdFwiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0ID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uSWROYW1lc3BhY2VBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZSA9XG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZSA9IFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldElkTWFwcGluZ1RhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJZE1hcHBpbmdUYWJsZSA9IFwiY2xlYW5yb29tczpHZXRJZE1hcHBpbmdUYWJsZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0SWROYW1lc3BhY2VBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SWROYW1lc3BhY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJjbGVhbnJvb21zOkdldElkTmFtZXNwYWNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldEludGVybWVkaWF0ZVRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnRlcm1lZGlhdGVUYWJsZSA9XG5cdFx0XCJjbGVhbnJvb21zOkdldEludGVybWVkaWF0ZVRhYmxlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpHZXRJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0TWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWVtYmVyc2hpcCA9IFwiY2xlYW5yb29tczpHZXRNZW1iZXJzaGlwXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRQcml2YWN5QnVkZ2V0VGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByaXZhY3lCdWRnZXRUZW1wbGF0ZSA9XG5cdFx0XCJjbGVhbnJvb21zOkdldFByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0UHJvdGVjdGVkSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm90ZWN0ZWRKb2IgPSBcImNsZWFucm9vbXM6R2V0UHJvdGVjdGVkSm9iXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpHZXRQcm90ZWN0ZWRRdWVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdGVjdGVkUXVlcnkgPSBcImNsZWFucm9vbXM6R2V0UHJvdGVjdGVkUXVlcnlcIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOkdldFNjaGVtYSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2NoZW1hID0gXCJjbGVhbnJvb21zOkdldFNjaGVtYVwiO1xuXHQvKiogW1JlYWRdIGNsZWFucm9vbXM6R2V0U2NoZW1hQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTY2hlbWFBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpHZXRTY2hlbWFBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RBbmFseXNpc0xvZ0V4cG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbmFseXNpc0xvZ0V4cG9ydHMgPSBcImNsZWFucm9vbXM6TGlzdEFuYWx5c2lzTG9nRXhwb3J0c1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdEFuYWx5c2lzVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QW5hbHlzaXNUZW1wbGF0ZXMgPSBcImNsZWFucm9vbXM6TGlzdEFuYWx5c2lzVGVtcGxhdGVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVzID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0cyA9XG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdHNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMgPVxuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25zID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZXMgPVxuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZXNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldHMgPVxuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9ucyA9IFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25zID1cblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmVkVGFibGVzID0gXCJjbGVhbnJvb21zOkxpc3RDb25maWd1cmVkVGFibGVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0SWRNYXBwaW5nVGFibGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SWRNYXBwaW5nVGFibGVzID0gXCJjbGVhbnJvb21zOkxpc3RJZE1hcHBpbmdUYWJsZXNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElkTmFtZXNwYWNlQXNzb2NpYXRpb25zID1cblx0XHRcImNsZWFucm9vbXM6TGlzdElkTmFtZXNwYWNlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0SW50ZXJtZWRpYXRlVGFibGVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVybWVkaWF0ZVRhYmxlVmVyc2lvbnMgPVxuXHRcdFwiY2xlYW5yb29tczpMaXN0SW50ZXJtZWRpYXRlVGFibGVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdEludGVybWVkaWF0ZVRhYmxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVybWVkaWF0ZVRhYmxlcyA9IFwiY2xlYW5yb29tczpMaXN0SW50ZXJtZWRpYXRlVGFibGVzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnMgPSBcImNsZWFucm9vbXM6TGlzdE1lbWJlcnNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RNZW1iZXJzaGlwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzID0gXCJjbGVhbnJvb21zOkxpc3RNZW1iZXJzaGlwc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdFByaXZhY3lCdWRnZXRUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YWN5QnVkZ2V0VGVtcGxhdGVzID1cblx0XHRcImNsZWFucm9vbXM6TGlzdFByaXZhY3lCdWRnZXRUZW1wbGF0ZXNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RQcml2YWN5QnVkZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhY3lCdWRnZXRzID0gXCJjbGVhbnJvb21zOkxpc3RQcml2YWN5QnVkZ2V0c1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdFByb3RlY3RlZEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0ZWRKb2JzID0gXCJjbGVhbnJvb21zOkxpc3RQcm90ZWN0ZWRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gY2xlYW5yb29tczpMaXN0UHJvdGVjdGVkUXVlcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3RlY3RlZFF1ZXJpZXMgPSBcImNsZWFucm9vbXM6TGlzdFByb3RlY3RlZFF1ZXJpZXNcIjtcblx0LyoqIFtMaXN0XSBjbGVhbnJvb21zOkxpc3RTY2hlbWFzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2NoZW1hcyA9IFwiY2xlYW5yb29tczpMaXN0U2NoZW1hc1wiO1xuXHQvKiogW0xpc3RdIGNsZWFucm9vbXM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiY2xlYW5yb29tczpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpQYXNzQ29sbGFib3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFzc0NvbGxhYm9yYXRpb24gPSBcImNsZWFucm9vbXM6UGFzc0NvbGxhYm9yYXRpb25cIjtcblx0LyoqIFtSZWFkXSBjbGVhbnJvb21zOlBhc3NNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBQYXNzTWVtYmVyc2hpcCA9IFwiY2xlYW5yb29tczpQYXNzTWVtYmVyc2hpcFwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlBvcHVsYXRlSWRNYXBwaW5nVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvcHVsYXRlSWRNYXBwaW5nVGFibGUgPSBcImNsZWFucm9vbXM6UG9wdWxhdGVJZE1hcHBpbmdUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlBvcHVsYXRlSW50ZXJtZWRpYXRlVGFibGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvcHVsYXRlSW50ZXJtZWRpYXRlVGFibGUgPVxuXHRcdFwiY2xlYW5yb29tczpQb3B1bGF0ZUludGVybWVkaWF0ZVRhYmxlXCI7XG5cdC8qKiBbUmVhZF0gY2xlYW5yb29tczpQcmV2aWV3UHJpdmFjeUltcGFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHJldmlld1ByaXZhY3lJbXBhY3QgPSBcImNsZWFucm9vbXM6UHJldmlld1ByaXZhY3lJbXBhY3RcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpTdGFydEFuYWx5c2lzTG9nRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFuYWx5c2lzTG9nRXhwb3J0ID0gXCJjbGVhbnJvb21zOlN0YXJ0QW5hbHlzaXNMb2dFeHBvcnRcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpTdGFydFByb3RlY3RlZEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm90ZWN0ZWRKb2IgPSBcImNsZWFucm9vbXM6U3RhcnRQcm90ZWN0ZWRKb2JcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpTdGFydFByb3RlY3RlZFF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFByb3RlY3RlZFF1ZXJ5ID0gXCJjbGVhbnJvb21zOlN0YXJ0UHJvdGVjdGVkUXVlcnlcIjtcblx0LyoqIFtUYWdnaW5nXSBjbGVhbnJvb21zOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGNsZWFucm9vbXM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiY2xlYW5yb29tczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQW5hbHlzaXNUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQW5hbHlzaXNUZW1wbGF0ZSA9IFwiY2xlYW5yb29tczpVcGRhdGVBbmFseXNpc1RlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQ29sbGFib3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29sbGFib3JhdGlvbiA9IFwiY2xlYW5yb29tczpVcGRhdGVDb2xsYWJvcmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0ID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZFRhYmxlID0gXCJjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFsbG93ZWRDb2x1bW5zICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkVGFibGVBbGxvd2VkQ29sdW1ucyA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFsbG93ZWRDb2x1bW5zXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUgPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlUmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkVGFibGVSZWZlcmVuY2UgPVxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVJZE1hcHBpbmdUYWJsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSWRNYXBwaW5nVGFibGUgPSBcImNsZWFucm9vbXM6VXBkYXRlSWRNYXBwaW5nVGFibGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZSA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlXCI7XG5cdC8qKiBbV3JpdGVdIGNsZWFucm9vbXM6VXBkYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlID1cblx0XHRcImNsZWFucm9vbXM6VXBkYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNZW1iZXJzaGlwID0gXCJjbGVhbnJvb21zOlVwZGF0ZU1lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gY2xlYW5yb29tczpVcGRhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSA9XG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZVByb3RlY3RlZEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdGVkSm9iID0gXCJjbGVhbnJvb21zOlVwZGF0ZVByb3RlY3RlZEpvYlwiO1xuXHQvKiogW1dyaXRlXSBjbGVhbnJvb21zOlVwZGF0ZVByb3RlY3RlZFF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0ZWRRdWVyeSA9IFwiY2xlYW5yb29tczpVcGRhdGVQcm90ZWN0ZWRRdWVyeVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENsZWFucm9vbXNBY3Rpb25zLkJhdGNoR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQmF0Y2hHZXRTY2hlbWEsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQmF0Y2hHZXRTY2hlbWFBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0QW5hbHlzaXNMb2dFeHBvcnQsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0QW5hbHlzaXNUZW1wbGF0ZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb2xsYWJvcmF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0LFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRDb25maWd1cmVkVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldElkTWFwcGluZ1RhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldElkTmFtZXNwYWNlQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0SW50ZXJtZWRpYXRlVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0TWVtYmVyc2hpcCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRQcml2YWN5QnVkZ2V0VGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuYWN0aW9uR2V0UHJvdGVjdGVkSm9iLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldFByb3RlY3RlZFF1ZXJ5LFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLmFjdGlvbkdldFNjaGVtYSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5hY3Rpb25HZXRTY2hlbWFBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuUGFzc0NvbGxhYm9yYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuUGFzc01lbWJlcnNoaXAsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuUHJldmlld1ByaXZhY3lJbXBhY3QsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlQW5hbHlzaXNUZW1wbGF0ZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVDb2xsYWJvcmF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0LFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlQ29uZmlndXJlZFRhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVJZE1hcHBpbmdUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5DcmVhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkNyZWF0ZU1lbWJlcnNoaXAsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuQ3JlYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUFuYWx5c2lzVGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlQ29sbGFib3JhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlSWRNYXBwaW5nVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVJbnRlcm1lZGlhdGVUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVNZW1iZXIsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGVsZXRlTWVtYmVyc2hpcCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5EZWxldGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuRGlzYWxsb3dJbnRlcm1lZGlhdGVUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5Qb3B1bGF0ZUlkTWFwcGluZ1RhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlBvcHVsYXRlSW50ZXJtZWRpYXRlVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuU3RhcnRBbmFseXNpc0xvZ0V4cG9ydCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5TdGFydFByb3RlY3RlZEpvYixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5TdGFydFByb3RlY3RlZFF1ZXJ5LFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUFuYWx5c2lzVGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29sbGFib3JhdGlvbixcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZSxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVDb25maWd1cmVkVGFibGVBbGxvd2VkQ29sdW1ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlQ29uZmlndXJlZFRhYmxlUmVmZXJlbmNlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUlkTWFwcGluZ1RhYmxlLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24sXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlSW50ZXJtZWRpYXRlVGFibGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlTWVtYmVyc2hpcCxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5VcGRhdGVQcml2YWN5QnVkZ2V0VGVtcGxhdGUsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVXBkYXRlUHJvdGVjdGVkSm9iLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLlVwZGF0ZVByb3RlY3RlZFF1ZXJ5LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0QW5hbHlzaXNMb2dFeHBvcnRzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RBbmFseXNpc1RlbXBsYXRlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdHMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25zLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldFRlbXBsYXRlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RDb2xsYWJvcmF0aW9ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0Q29uZmlndXJlZFRhYmxlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0SWRNYXBwaW5nVGFibGVzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0SW50ZXJtZWRpYXRlVGFibGVWZXJzaW9ucyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0SW50ZXJtZWRpYXRlVGFibGVzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RNZW1iZXJzLFxuXHRcdENsZWFucm9vbXNBY3Rpb25zLkxpc3RNZW1iZXJzaGlwcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlcyxcblx0XHRDbGVhbnJvb21zQWN0aW9ucy5MaXN0UHJpdmFjeUJ1ZGdldHMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdFByb3RlY3RlZEpvYnMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdFByb3RlY3RlZFF1ZXJpZXMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdFNjaGVtYXMsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0Q2xlYW5yb29tc0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFuYWx5c2lzdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNBbmFseXNpc3RlbXBsYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQW5hbHlzaXNUZW1wbGF0ZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhbmFseXNpc1RlbXBsYXRlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhbmFseXNpc3RlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQW5hbHlzaXN0ZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQW5hbHlzaXNUZW1wbGF0ZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYW5hbHlzaXNUZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb2xsYWJvcmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29sbGFib3JhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDb2xsYWJvcmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbGxhYm9yYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbGxhYm9yYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNDb2xsYWJvcmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb2xsYWJvcmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb2xsYWJvcmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNDb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25maWd1cmVkdGFibGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNDb25maWd1cmVkdGFibGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29uZmlndXJlZFRhYmxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyZWRUYWJsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29uZmlndXJlZHRhYmxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25maWd1cmVkVGFibGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyZWRUYWJsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0NvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpZG1hcHBpbmd0YWJsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0lkbWFwcGluZ3RhYmxlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgSWRNYXBwaW5nVGFibGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWRNYXBwaW5nVGFibGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGlkbWFwcGluZ3RhYmxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zSWRtYXBwaW5ndGFibGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIElkTWFwcGluZ1RhYmxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZE1hcHBpbmdUYWJsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpZG5hbWVzcGFjZWFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zSWRuYW1lc3BhY2Vhc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIElkTmFtZXNwYWNlQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWROYW1lc3BhY2VBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0lkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIElkTmFtZXNwYWNlQXNzb2NpYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkTmFtZXNwYWNlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW50ZXJtZWRpYXRldGFibGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNJbnRlcm1lZGlhdGV0YWJsZUFyblByb3BzIHtcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIEludGVybWVkaWF0ZVRhYmxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGludGVybWVkaWF0ZVRhYmxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbnRlcm1lZGlhdGV0YWJsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc0ludGVybWVkaWF0ZXRhYmxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNZW1iZXJzaGlwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBJbnRlcm1lZGlhdGVUYWJsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW50ZXJtZWRpYXRlVGFibGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWVtYmVyc2hpcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5yb29tc01lbWJlcnNoaXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtZW1iZXJzaGlwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGVhbnJvb21zTWVtYmVyc2hpcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWVtYmVyc2hpcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcml2YWN5YnVkZ2V0dGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNQcml2YWN5YnVkZ2V0dGVtcGxhdGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVtYmVyc2hpcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZW1iZXJzaGlwSWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcml2YWN5QnVkZ2V0VGVtcGxhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJpdmFjeUJ1ZGdldFRlbXBsYXRlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcml2YWN5YnVkZ2V0dGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsZWFucm9vbXNQcml2YWN5YnVkZ2V0dGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lbWJlcnNoaXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lbWJlcnNoaXBJZDogc3RyaW5nO1xuXHQvKiogVGhlIFByaXZhY3lCdWRnZXRUZW1wbGF0ZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJpdmFjeUJ1ZGdldFRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQW5hbHlzaXN0ZW1wbGF0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjbGVhbnJvb21zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWVtYmVyc2hpcFxcLyg/PG1lbWJlcnNoaXBJZD5bXjovP10rKVxcL2FuYWx5c2lzdGVtcGxhdGVcXC8oPzxhbmFseXNpc1RlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbGxhYm9yYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbGxhYm9yYXRpb25cXC8oPzxjb2xsYWJvcmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKylcXC9jb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uXFwvKD88Y29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBDb25maWd1cmVkdGFibGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyZWR0YWJsZVxcLyg/PGNvbmZpZ3VyZWRUYWJsZUlkPlteOi8/XSspJC87XG5jb25zdCBDb25maWd1cmVkdGFibGVhc3NvY2lhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjbGVhbnJvb21zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWVtYmVyc2hpcFxcLyg/PG1lbWJlcnNoaXBJZD5bXjovP10rKVxcL2NvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uXFwvKD88Y29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgSWRtYXBwaW5ndGFibGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKylcXC9pZG1hcHBpbmd0YWJsZVxcLyg/PGlkTWFwcGluZ1RhYmxlSWQ+W146Lz9dKykkLztcbmNvbnN0IElkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y2xlYW5yb29tczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lbWJlcnNoaXBcXC8oPzxtZW1iZXJzaGlwSWQ+W146Lz9dKylcXC9pZG5hbWVzcGFjZWFzc29jaWF0aW9uXFwvKD88aWROYW1lc3BhY2VBc3NvY2lhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBJbnRlcm1lZGlhdGV0YWJsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjbGVhbnJvb21zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWVtYmVyc2hpcFxcLyg/PG1lbWJlcnNoaXBJZD5bXjovP10rKVxcL2ludGVybWVkaWF0ZXRhYmxlXFwvKD88aW50ZXJtZWRpYXRlVGFibGVJZD5bXjovP10rKSQvO1xuY29uc3QgTWVtYmVyc2hpcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjbGVhbnJvb21zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWVtYmVyc2hpcFxcLyg/PG1lbWJlcnNoaXBJZD5bXjovP10rKSQvO1xuY29uc3QgUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNsZWFucm9vbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZW1iZXJzaGlwXFwvKD88bWVtYmVyc2hpcElkPlteOi8/XSspXFwvcHJpdmFjeWJ1ZGdldHRlbXBsYXRlXFwvKD88cHJpdmFjeUJ1ZGdldFRlbXBsYXRlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBjbGVhbnJvb21zIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENsZWFucm9vbXNSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFuYWx5c2lzdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYW5hbHlzaXN0ZW1wbGF0ZShwcm9wczogQ2xlYW5yb29tc0FuYWx5c2lzdGVtcGxhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y2xlYW5yb29tczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZW1iZXJzaGlwLyR7cHJvcHMubWVtYmVyc2hpcElkfS9hbmFseXNpc3RlbXBsYXRlLyR7cHJvcHMuYW5hbHlzaXNUZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhbmFseXNpc3RlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbmFseXNpc3RlbXBsYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFuYWx5c2lzdGVtcGxhdGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYW5hbHlzaXN0ZW1wbGF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbmFseXNpc3RlbXBsYXRlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zQW5hbHlzaXN0ZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQW5hbHlzaXN0ZW1wbGF0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhbmFseXNpc3RlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0XHRhbmFseXNpc1RlbXBsYXRlSWQ6IG1hdGNoLmdyb3VwcyEuYW5hbHlzaXNUZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbGxhYm9yYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29sbGFib3JhdGlvbihwcm9wczogQ2xlYW5yb29tc0NvbGxhYm9yYXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y2xlYW5yb29tczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb2xsYWJvcmF0aW9uLyR7cHJvcHMuY29sbGFib3JhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb2xsYWJvcmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb2xsYWJvcmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbGxhYm9yYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29sbGFib3JhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb2xsYWJvcmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zQ29sbGFib3JhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29sbGFib3JhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xsYWJvcmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbGxhYm9yYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5jb2xsYWJvcmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBDbGVhbnJvb21zQ29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH0vY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbi8ke3Byb3BzLmNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmVkYXVkaWVuY2Vtb2RlbGFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0NvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ3VyZWRhdWRpZW5jZW1vZGVsYXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uZmlndXJlZGF1ZGllbmNlbW9kZWxhc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtZW1iZXJzaGlwSWQ6IG1hdGNoLmdyb3VwcyEubWVtYmVyc2hpcElkLFxuXHRcdFx0Y29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbklkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25maWd1cmVkdGFibGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJlZHRhYmxlKHByb3BzOiBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uZmlndXJlZHRhYmxlLyR7cHJvcHMuY29uZmlndXJlZFRhYmxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbmZpZ3VyZWR0YWJsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJlZHRhYmxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyZWR0YWJsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25maWd1cmVkdGFibGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJlZHRhYmxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25maWd1cmVkdGFibGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uZmlndXJlZHRhYmxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbmZpZ3VyZWRUYWJsZUlkOiBtYXRjaC5ncm91cHMhLmNvbmZpZ3VyZWRUYWJsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlYXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9L2NvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uLyR7cHJvcHMuY29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uZmlndXJlZHRhYmxlYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zQ29uZmlndXJlZHRhYmxlYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbmZpZ3VyZWR0YWJsZWFzc29jaWF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0XHRjb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbklkOiBtYXRjaC5ncm91cHMhLmNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaWRtYXBwaW5ndGFibGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaWRtYXBwaW5ndGFibGUocHJvcHM6IENsZWFucm9vbXNJZG1hcHBpbmd0YWJsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjbGVhbnJvb21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1lbWJlcnNoaXAvJHtwcm9wcy5tZW1iZXJzaGlwSWR9L2lkbWFwcGluZ3RhYmxlLyR7cHJvcHMuaWRNYXBwaW5nVGFibGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaWRtYXBwaW5ndGFibGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZElkbWFwcGluZ3RhYmxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIElkbWFwcGluZ3RhYmxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGlkbWFwcGluZ3RhYmxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUlkbWFwcGluZ3RhYmxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDbGVhbnJvb21zSWRtYXBwaW5ndGFibGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IElkbWFwcGluZ3RhYmxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGlkbWFwcGluZ3RhYmxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lbWJlcnNoaXBJZDogbWF0Y2guZ3JvdXBzIS5tZW1iZXJzaGlwSWQsXG5cdFx0XHRpZE1hcHBpbmdUYWJsZUlkOiBtYXRjaC5ncm91cHMhLmlkTWFwcGluZ1RhYmxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpZG5hbWVzcGFjZWFzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBDbGVhbnJvb21zSWRuYW1lc3BhY2Vhc3NvY2lhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH0vaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbi8ke3Byb3BzLmlkTmFtZXNwYWNlQXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSWRuYW1lc3BhY2Vhc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJZG5hbWVzcGFjZWFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGlkbmFtZXNwYWNlYXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSWRuYW1lc3BhY2Vhc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ2xlYW5yb29tc0lkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IElkbmFtZXNwYWNlYXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaWRuYW1lc3BhY2Vhc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtZW1iZXJzaGlwSWQ6IG1hdGNoLmdyb3VwcyEubWVtYmVyc2hpcElkLFxuXHRcdFx0aWROYW1lc3BhY2VBc3NvY2lhdGlvbklkOiBtYXRjaC5ncm91cHMhLmlkTmFtZXNwYWNlQXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbnRlcm1lZGlhdGV0YWJsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbnRlcm1lZGlhdGV0YWJsZShwcm9wczogQ2xlYW5yb29tc0ludGVybWVkaWF0ZXRhYmxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH0vaW50ZXJtZWRpYXRldGFibGUvJHtwcm9wcy5pbnRlcm1lZGlhdGVUYWJsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbnRlcm1lZGlhdGV0YWJsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW50ZXJtZWRpYXRldGFibGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW50ZXJtZWRpYXRldGFibGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW50ZXJtZWRpYXRldGFibGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW50ZXJtZWRpYXRldGFibGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENsZWFucm9vbXNJbnRlcm1lZGlhdGV0YWJsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW50ZXJtZWRpYXRldGFibGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJtZWRpYXRldGFibGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVtYmVyc2hpcElkOiBtYXRjaC5ncm91cHMhLm1lbWJlcnNoaXBJZCxcblx0XHRcdGludGVybWVkaWF0ZVRhYmxlSWQ6IG1hdGNoLmdyb3VwcyEuaW50ZXJtZWRpYXRlVGFibGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtZW1iZXJzaGlwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1lbWJlcnNoaXAocHJvcHM6IENsZWFucm9vbXNNZW1iZXJzaGlwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNsZWFucm9vbXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVtYmVyc2hpcC8ke3Byb3BzLm1lbWJlcnNoaXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWVtYmVyc2hpcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWVtYmVyc2hpcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNZW1iZXJzaGlwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1lbWJlcnNoaXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWVtYmVyc2hpcEFybihhcm46IHN0cmluZyk6IENsZWFucm9vbXNNZW1iZXJzaGlwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNZW1iZXJzaGlwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lbWJlcnNoaXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVtYmVyc2hpcElkOiBtYXRjaC5ncm91cHMhLm1lbWJlcnNoaXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcml2YWN5YnVkZ2V0dGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmFjeWJ1ZGdldHRlbXBsYXRlKFxuXHRcdHByb3BzOiBDbGVhbnJvb21zUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y2xlYW5yb29tczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZW1iZXJzaGlwLyR7cHJvcHMubWVtYmVyc2hpcElkfS9wcml2YWN5YnVkZ2V0dGVtcGxhdGUvJHtwcm9wcy5wcml2YWN5QnVkZ2V0VGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJpdmFjeWJ1ZGdldHRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcml2YWN5YnVkZ2V0dGVtcGxhdGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJpdmFjeWJ1ZGdldHRlbXBsYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByaXZhY3lidWRnZXR0ZW1wbGF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcml2YWN5YnVkZ2V0dGVtcGxhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENsZWFucm9vbXNQcml2YWN5YnVkZ2V0dGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByaXZhY3lidWRnZXR0ZW1wbGF0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcml2YWN5YnVkZ2V0dGVtcGxhdGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVtYmVyc2hpcElkOiBtYXRjaC5ncm91cHMhLm1lbWJlcnNoaXBJZCxcblx0XHRcdHByaXZhY3lCdWRnZXRUZW1wbGF0ZUlkOiBtYXRjaC5ncm91cHMhLnByaXZhY3lCdWRnZXRUZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGNsZWFucm9vbXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGVhbnJvb21zT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6QmF0Y2hHZXRDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFNjaGVtYSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0U2NoZW1hOiBzdHJpbmdbXSA9IFtcImNsZWFucm9vbXM6QmF0Y2hHZXRTY2hlbWFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0U2NoZW1hQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTY2hlbWFBbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpCYXRjaEdldFNjaGVtYUFuYWx5c2lzUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBbmFseXNpc1RlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQW5hbHlzaXNUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUFuYWx5c2lzVGVtcGxhdGVcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2xsYWJvcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29sbGFib3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbGxhYm9yYXRpb25cIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkNyZWF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiLFxuXHRcdFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmVkVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmVkVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVcIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlQ29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJZE1hcHBpbmdUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlkTWFwcGluZ1RhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlSWRNYXBwaW5nVGFibGVcIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUludGVybWVkaWF0ZVRhYmxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZXJtZWRpYXRlVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZVwiLFxuXHRcdFwiY2xlYW5yb29tczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpDcmVhdGVNZW1iZXJzaGlwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNsZWFucm9vbXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6Q3JlYXRlUHJpdmFjeUJ1ZGdldFRlbXBsYXRlXCIsXG5cdFx0XCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFuYWx5c2lzVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbmFseXNpc1RlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlQW5hbHlzaXNUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb2xsYWJvcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29sbGFib3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUNvbGxhYm9yYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyZWRUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyZWRUYWJsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJZE1hcHBpbmdUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlkTWFwcGluZ1RhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlSWRNYXBwaW5nVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVybWVkaWF0ZVRhYmxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZXJtZWRpYXRlVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpEZWxldGVJbnRlcm1lZGlhdGVUYWJsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6RGVsZXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyOiBzdHJpbmdbXSA9IFtcImNsZWFucm9vbXM6RGVsZXRlTWVtYmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNZW1iZXJzaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyc2hpcDogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkRlbGV0ZU1lbWJlcnNoaXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRlbGV0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhbGxvd0ludGVybWVkaWF0ZVRhYmxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWxsb3dJbnRlcm1lZGlhdGVUYWJsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkRpc2FsbG93SW50ZXJtZWRpYXRlVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QW5hbHlzaXNMb2dFeHBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFuYWx5c2lzTG9nRXhwb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0QW5hbHlzaXNMb2dFeHBvcnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QW5hbHlzaXNUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QW5hbHlzaXNUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldEFuYWx5c2lzVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29sbGFib3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25Db25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9XG5cdFx0W1wiY2xlYW5yb29tczpHZXRDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmVkVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRDb25maWd1cmVkVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWRNYXBwaW5nVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldElkTWFwcGluZ1RhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0SWRNYXBwaW5nVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SWROYW1lc3BhY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SWROYW1lc3BhY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkdldElkTmFtZXNwYWNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZXJtZWRpYXRlVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0SW50ZXJtZWRpYXRlVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0SW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWVtYmVyc2hpcDogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkdldE1lbWJlcnNoaXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6R2V0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb3RlY3RlZEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdGVjdGVkSm9iOiBzdHJpbmdbXSA9IFtcImNsZWFucm9vbXM6R2V0UHJvdGVjdGVkSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm90ZWN0ZWRRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHJvdGVjdGVkUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRQcm90ZWN0ZWRRdWVyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTY2hlbWEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNjaGVtYTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkdldFNjaGVtYVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NoZW1hQW5hbHlzaXNSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTY2hlbWFBbmFseXNpc1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpHZXRTY2hlbWFBbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFuYWx5c2lzTG9nRXhwb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbmFseXNpc0xvZ0V4cG9ydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0QW5hbHlzaXNMb2dFeHBvcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbmFseXNpc1RlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbmFseXNpc1RlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RBbmFseXNpc1RlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29sbGFib3JhdGlvbkFuYWx5c2lzVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25BbmFseXNpc1RlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uQW5hbHlzaXNUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2xsYWJvcmF0aW9uQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9XG5cdFx0W1wiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbkNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29sbGFib3JhdGlvbklkTmFtZXNwYWNlQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25JZE5hbWVzcGFjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RDb2xsYWJvcmF0aW9uSWROYW1lc3BhY2VBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0VGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2xsYWJvcmF0aW9uUHJpdmFjeUJ1ZGdldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvblByaXZhY3lCdWRnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbGxhYm9yYXRpb25Qcml2YWN5QnVkZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29sbGFib3JhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29sbGFib3JhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0Q29sbGFib3JhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29uZmlndXJlZFRhYmxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmVkVGFibGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdENvbmZpZ3VyZWRUYWJsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdElkTWFwcGluZ1RhYmxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZE1hcHBpbmdUYWJsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0SWRNYXBwaW5nVGFibGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RJZE5hbWVzcGFjZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZXJtZWRpYXRlVGFibGVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlcm1lZGlhdGVUYWJsZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdEludGVybWVkaWF0ZVRhYmxlVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludGVybWVkaWF0ZVRhYmxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlcm1lZGlhdGVUYWJsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0SW50ZXJtZWRpYXRlVGFibGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnM6IHN0cmluZ1tdID0gW1wiY2xlYW5yb29tczpMaXN0TWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbWJlcnNoaXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzOiBzdHJpbmdbXSA9IFtcImNsZWFucm9vbXM6TGlzdE1lbWJlcnNoaXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpdmFjeUJ1ZGdldFRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YWN5QnVkZ2V0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdFByaXZhY3lCdWRnZXRUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaXZhY3lCdWRnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhY3lCdWRnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdFByaXZhY3lCdWRnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcm90ZWN0ZWRKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3RlY3RlZEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpMaXN0UHJvdGVjdGVkSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvdGVjdGVkUXVlcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0ZWRRdWVyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6TGlzdFByb3RlY3RlZFF1ZXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNjaGVtYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2NoZW1hczogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOkxpc3RTY2hlbWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUG9wdWxhdGVJZE1hcHBpbmdUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvcHVsYXRlSWRNYXBwaW5nVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpQb3B1bGF0ZUlkTWFwcGluZ1RhYmxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFBvcHVsYXRlSW50ZXJtZWRpYXRlVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQb3B1bGF0ZUludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6UG9wdWxhdGVJbnRlcm1lZGlhdGVUYWJsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQcmV2aWV3UHJpdmFjeUltcGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFByZXZpZXdQcml2YWN5SW1wYWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6UHJldmlld1ByaXZhY3lJbXBhY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBbmFseXNpc0xvZ0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QW5hbHlzaXNMb2dFeHBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpTdGFydEFuYWx5c2lzTG9nRXhwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UHJvdGVjdGVkSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm90ZWN0ZWRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpTdGFydFByb3RlY3RlZEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFByb3RlY3RlZFF1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQcm90ZWN0ZWRRdWVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlN0YXJ0UHJvdGVjdGVkUXVlcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjbGVhbnJvb21zOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFuYWx5c2lzVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBbmFseXNpc1RlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQW5hbHlzaXNUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb2xsYWJvcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29sbGFib3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29sbGFib3JhdGlvbkNoYW5nZVJlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2xsYWJvcmF0aW9uQ2hhbmdlUmVxdWVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbGxhYm9yYXRpb25DaGFuZ2VSZXF1ZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyZWRBdWRpZW5jZU1vZGVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkQXVkaWVuY2VNb2RlbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZEF1ZGllbmNlTW9kZWxBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmVkVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmVkVGFibGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVcIixcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQWxsb3dlZENvbHVtbnNcIixcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlUmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFuYWx5c2lzUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25maWd1cmVkVGFibGVBc3NvY2lhdGlvbkFuYWx5c2lzUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbmZpZ3VyZWRUYWJsZUFzc29jaWF0aW9uQW5hbHlzaXNSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlQ29uZmlndXJlZFRhYmxlQXNzb2NpYXRpb25BbmFseXNpc1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSWRNYXBwaW5nVGFibGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJZE1hcHBpbmdUYWJsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUlkTWFwcGluZ1RhYmxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUlkTmFtZXNwYWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJZE5hbWVzcGFjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlSWROYW1lc3BhY2VBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVybWVkaWF0ZVRhYmxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNsZWFucm9vbXM6VXBkYXRlSW50ZXJtZWRpYXRlVGFibGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW50ZXJtZWRpYXRlVGFibGVBbmFseXNpc1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnRlcm1lZGlhdGVUYWJsZUFuYWx5c2lzUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZUludGVybWVkaWF0ZVRhYmxlQW5hbHlzaXNSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1lbWJlcnNoaXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNZW1iZXJzaGlwOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVNZW1iZXJzaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZVByaXZhY3lCdWRnZXRUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm90ZWN0ZWRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0ZWRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY2xlYW5yb29tczpVcGRhdGVQcm90ZWN0ZWRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvdGVjdGVkUXVlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0ZWRRdWVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjbGVhbnJvb21zOlVwZGF0ZVByb3RlY3RlZFF1ZXJ5XCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBjbGVhbnJvb21zLlxuICovXG5leHBvcnQgY2xhc3MgQ2xlYW5yb29tc0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19