@cdk_utils/iam 1.23.0 → 1.25.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 (464) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +6 -5
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +6 -5
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.js +4 -4
  127. package/lib/generated/services/dax.js +4 -4
  128. package/lib/generated/services/dbqms.js +1 -1
  129. package/lib/generated/services/deadline.js +4 -4
  130. package/lib/generated/services/detective.js +4 -4
  131. package/lib/generated/services/devicefarm.js +4 -4
  132. package/lib/generated/services/devops-guru.js +4 -4
  133. package/lib/generated/services/directconnect.d.ts +73 -0
  134. package/lib/generated/services/directconnect.js +99 -5
  135. package/lib/generated/services/discovery.js +3 -3
  136. package/lib/generated/services/dlm.js +4 -4
  137. package/lib/generated/services/dms.js +4 -4
  138. package/lib/generated/services/docdb-elastic.js +4 -4
  139. package/lib/generated/services/drs.js +4 -4
  140. package/lib/generated/services/ds-data.js +4 -4
  141. package/lib/generated/services/ds.js +4 -4
  142. package/lib/generated/services/dsql.js +4 -4
  143. package/lib/generated/services/dynamodb.js +4 -4
  144. package/lib/generated/services/ebs.js +4 -4
  145. package/lib/generated/services/ec2-instance-connect.js +4 -4
  146. package/lib/generated/services/ec2.js +4 -4
  147. package/lib/generated/services/ec2messages.js +2 -2
  148. package/lib/generated/services/ecr-public.js +4 -4
  149. package/lib/generated/services/ecr.js +4 -4
  150. package/lib/generated/services/ecs-mcp.js +1 -1
  151. package/lib/generated/services/ecs.js +4 -4
  152. package/lib/generated/services/eks-auth.js +4 -4
  153. package/lib/generated/services/eks-mcp.js +1 -1
  154. package/lib/generated/services/eks.js +4 -4
  155. package/lib/generated/services/elasticache.js +4 -4
  156. package/lib/generated/services/elasticbeanstalk.js +4 -4
  157. package/lib/generated/services/elasticfilesystem.js +4 -4
  158. package/lib/generated/services/elasticloadbalancing.js +4 -4
  159. package/lib/generated/services/elasticmapreduce.js +4 -4
  160. package/lib/generated/services/elastictranscoder.js +2 -2
  161. package/lib/generated/services/elemental-activations.js +1 -1
  162. package/lib/generated/services/elemental-appliances-software.js +2 -2
  163. package/lib/generated/services/elemental-inference.js +4 -4
  164. package/lib/generated/services/elemental-support-cases.js +3 -3
  165. package/lib/generated/services/elemental-support-content.js +1 -1
  166. package/lib/generated/services/emr-containers.js +4 -4
  167. package/lib/generated/services/emr-serverless.js +4 -4
  168. package/lib/generated/services/entityresolution.js +4 -4
  169. package/lib/generated/services/es.js +4 -4
  170. package/lib/generated/services/events.js +4 -4
  171. package/lib/generated/services/eventsbilltoaws.js +3 -3
  172. package/lib/generated/services/evidently.js +3 -3
  173. package/lib/generated/services/evs.js +4 -4
  174. package/lib/generated/services/execute-api.js +4 -4
  175. package/lib/generated/services/finops-agent.js +1 -1
  176. package/lib/generated/services/finspace-api.js +3 -3
  177. package/lib/generated/services/finspace.js +4 -4
  178. package/lib/generated/services/firehose.js +4 -4
  179. package/lib/generated/services/fis.js +4 -4
  180. package/lib/generated/services/fms.js +4 -4
  181. package/lib/generated/services/forecast.js +4 -4
  182. package/lib/generated/services/frauddetector.js +4 -4
  183. package/lib/generated/services/freertos.js +3 -3
  184. package/lib/generated/services/freetier.js +2 -2
  185. package/lib/generated/services/fsx.js +4 -4
  186. package/lib/generated/services/gamelift.js +4 -4
  187. package/lib/generated/services/gameliftstreams.js +10 -6
  188. package/lib/generated/services/geo-maps.js +3 -3
  189. package/lib/generated/services/geo-places.js +3 -3
  190. package/lib/generated/services/geo-routes.js +3 -3
  191. package/lib/generated/services/geo.js +4 -4
  192. package/lib/generated/services/glacier.js +4 -4
  193. package/lib/generated/services/globalaccelerator.js +4 -4
  194. package/lib/generated/services/glue.js +4 -4
  195. package/lib/generated/services/grafana.js +4 -4
  196. package/lib/generated/services/greengrass.js +4 -4
  197. package/lib/generated/services/groundstation.js +4 -4
  198. package/lib/generated/services/groundtruthlabeling.js +1 -1
  199. package/lib/generated/services/guardduty.js +4 -4
  200. package/lib/generated/services/health-agent.js +4 -4
  201. package/lib/generated/services/health.js +4 -4
  202. package/lib/generated/services/healthlake.d.ts +4 -0
  203. package/lib/generated/services/healthlake.js +11 -5
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.js +4 -4
  206. package/lib/generated/services/identity-sync.js +2 -2
  207. package/lib/generated/services/identitystore-auth.js +1 -1
  208. package/lib/generated/services/identitystore.js +4 -4
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.js +4 -4
  237. package/lib/generated/services/kendra-ranking.js +4 -4
  238. package/lib/generated/services/kendra.js +4 -4
  239. package/lib/generated/services/kinesis.js +4 -4
  240. package/lib/generated/services/kinesisanalytics.js +4 -4
  241. package/lib/generated/services/kinesisvideo.js +4 -4
  242. package/lib/generated/services/kms.js +4 -4
  243. package/lib/generated/services/lakeformation.js +3 -3
  244. package/lib/generated/services/lambda.js +4 -4
  245. package/lib/generated/services/launchwizard.js +4 -4
  246. package/lib/generated/services/lex.js +4 -4
  247. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager.js +4 -4
  250. package/lib/generated/services/lightsail.js +4 -4
  251. package/lib/generated/services/logs.js +4 -4
  252. package/lib/generated/services/lookoutequipment.js +4 -4
  253. package/lib/generated/services/lookoutmetrics.js +3 -3
  254. package/lib/generated/services/lookoutvision.js +3 -3
  255. package/lib/generated/services/m2.js +4 -4
  256. package/lib/generated/services/machinelearning.js +3 -3
  257. package/lib/generated/services/macie2.js +4 -4
  258. package/lib/generated/services/managedblockchain-query.js +2 -2
  259. package/lib/generated/services/managedblockchain.js +4 -4
  260. package/lib/generated/services/mapcredits.js +2 -2
  261. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  262. package/lib/generated/services/mechanicalturk.js +2 -2
  263. package/lib/generated/services/mediaconnect.js +4 -4
  264. package/lib/generated/services/mediaconvert.js +4 -4
  265. package/lib/generated/services/mediaimport.js +1 -1
  266. package/lib/generated/services/medialive.js +4 -4
  267. package/lib/generated/services/mediapackage-vod.js +4 -4
  268. package/lib/generated/services/mediapackage.js +4 -4
  269. package/lib/generated/services/mediapackagev2.js +4 -4
  270. package/lib/generated/services/mediastore.js +4 -4
  271. package/lib/generated/services/mediatailor.js +4 -4
  272. package/lib/generated/services/medical-imaging.js +4 -4
  273. package/lib/generated/services/memorydb.js +4 -4
  274. package/lib/generated/services/mgh.js +4 -4
  275. package/lib/generated/services/mgn.js +4 -4
  276. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  277. package/lib/generated/services/migrationhub-strategy.js +2 -2
  278. package/lib/generated/services/mobileanalytics.js +1 -1
  279. package/lib/generated/services/mobiletargeting.js +4 -4
  280. package/lib/generated/services/monitron.js +3 -3
  281. package/lib/generated/services/mpa.js +4 -4
  282. package/lib/generated/services/mq.js +4 -4
  283. package/lib/generated/services/neptune-db.js +4 -4
  284. package/lib/generated/services/neptune-graph.js +4 -4
  285. package/lib/generated/services/network-firewall.js +4 -4
  286. package/lib/generated/services/network-security-director.js +1 -1
  287. package/lib/generated/services/networkflowmonitor.js +4 -4
  288. package/lib/generated/services/networkmanager-chat.js +1 -1
  289. package/lib/generated/services/networkmanager.js +4 -4
  290. package/lib/generated/services/networkmonitor.js +4 -4
  291. package/lib/generated/services/nimble.js +3 -3
  292. package/lib/generated/services/notifications-contacts.js +4 -4
  293. package/lib/generated/services/notifications.d.ts +6 -0
  294. package/lib/generated/services/notifications.js +18 -5
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +4 -4
  299. package/lib/generated/services/omics.js +4 -4
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.d.ts +2 -0
  323. package/lib/generated/services/profile.js +7 -5
  324. package/lib/generated/services/proton.js +4 -4
  325. package/lib/generated/services/purchase-orders.js +3 -3
  326. package/lib/generated/services/q.js +3 -3
  327. package/lib/generated/services/qapps.js +4 -4
  328. package/lib/generated/services/qbusiness.js +4 -4
  329. package/lib/generated/services/qdeveloper.js +3 -3
  330. package/lib/generated/services/qldb.js +3 -3
  331. package/lib/generated/services/quicksight.js +4 -4
  332. package/lib/generated/services/ram.js +4 -4
  333. package/lib/generated/services/rbin.js +4 -4
  334. package/lib/generated/services/rds-data.js +4 -4
  335. package/lib/generated/services/rds-db.js +2 -2
  336. package/lib/generated/services/rds.js +4 -4
  337. package/lib/generated/services/redshift-data.js +4 -4
  338. package/lib/generated/services/redshift-serverless.js +4 -4
  339. package/lib/generated/services/redshift.js +4 -4
  340. package/lib/generated/services/refactor-spaces.js +4 -4
  341. package/lib/generated/services/rekognition.js +4 -4
  342. package/lib/generated/services/repostspace.js +4 -4
  343. package/lib/generated/services/researchstudio.js +1 -1
  344. package/lib/generated/services/resiliencehub.d.ts +6 -0
  345. package/lib/generated/services/resiliencehub.js +11 -5
  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.d.ts +38 -0
  390. package/lib/generated/services/ses.js +82 -9
  391. package/lib/generated/services/shield.js +4 -4
  392. package/lib/generated/services/signer.js +4 -4
  393. package/lib/generated/services/signin.js +4 -4
  394. package/lib/generated/services/simspaceweaver.js +3 -3
  395. package/lib/generated/services/sms-voice.js +4 -4
  396. package/lib/generated/services/sms.js +1 -1
  397. package/lib/generated/services/snow-device-management.js +4 -4
  398. package/lib/generated/services/snowball.js +2 -2
  399. package/lib/generated/services/sns.js +4 -4
  400. package/lib/generated/services/social-messaging.js +4 -4
  401. package/lib/generated/services/sqlworkbench.js +3 -3
  402. package/lib/generated/services/sqs.js +4 -4
  403. package/lib/generated/services/ssm-contacts.js +4 -4
  404. package/lib/generated/services/ssm-guiconnect.js +2 -2
  405. package/lib/generated/services/ssm-incidents.js +4 -4
  406. package/lib/generated/services/ssm-quicksetup.js +4 -4
  407. package/lib/generated/services/ssm-sap.js +4 -4
  408. package/lib/generated/services/ssm.js +4 -4
  409. package/lib/generated/services/ssmmessages.js +2 -2
  410. package/lib/generated/services/sso-directory.js +1 -1
  411. package/lib/generated/services/sso-oauth.js +3 -3
  412. package/lib/generated/services/sso.js +4 -4
  413. package/lib/generated/services/states.js +4 -4
  414. package/lib/generated/services/storagegateway.js +4 -4
  415. package/lib/generated/services/sts.js +4 -4
  416. package/lib/generated/services/support-console.js +1 -1
  417. package/lib/generated/services/support.js +2 -2
  418. package/lib/generated/services/supportapp.js +2 -2
  419. package/lib/generated/services/supportauthz.js +4 -4
  420. package/lib/generated/services/supportplans.js +1 -1
  421. package/lib/generated/services/sustainability.js +2 -2
  422. package/lib/generated/services/swf.js +4 -4
  423. package/lib/generated/services/synthetics.js +4 -4
  424. package/lib/generated/services/tag.js +2 -2
  425. package/lib/generated/services/tax.js +2 -2
  426. package/lib/generated/services/textract.js +4 -4
  427. package/lib/generated/services/thinclient.js +4 -4
  428. package/lib/generated/services/timestream-influxdb.js +4 -4
  429. package/lib/generated/services/timestream.js +4 -4
  430. package/lib/generated/services/tiros.js +1 -1
  431. package/lib/generated/services/tnb.js +4 -4
  432. package/lib/generated/services/transcribe.js +4 -4
  433. package/lib/generated/services/transfer.js +4 -4
  434. package/lib/generated/services/transform-custom.js +3 -3
  435. package/lib/generated/services/transform.js +3 -3
  436. package/lib/generated/services/translate.js +4 -4
  437. package/lib/generated/services/trustedadvisor.js +3 -3
  438. package/lib/generated/services/ts.js +3 -3
  439. package/lib/generated/services/user-subscriptions.d.ts +12 -0
  440. package/lib/generated/services/user-subscriptions.js +21 -3
  441. package/lib/generated/services/uxc.js +2 -2
  442. package/lib/generated/services/vendor-insights.js +3 -3
  443. package/lib/generated/services/verified-access.js +1 -1
  444. package/lib/generated/services/verifiedpermissions.js +4 -4
  445. package/lib/generated/services/voiceid.js +4 -4
  446. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  447. package/lib/generated/services/vpc-lattice.js +4 -4
  448. package/lib/generated/services/vpce.js +2 -2
  449. package/lib/generated/services/waf-regional.js +4 -4
  450. package/lib/generated/services/waf.js +4 -4
  451. package/lib/generated/services/wafv2.js +4 -4
  452. package/lib/generated/services/wam.js +1 -1
  453. package/lib/generated/services/wellarchitected.js +4 -4
  454. package/lib/generated/services/wickr.js +4 -4
  455. package/lib/generated/services/wisdom.js +4 -4
  456. package/lib/generated/services/workdocs.js +3 -3
  457. package/lib/generated/services/worklink.js +3 -3
  458. package/lib/generated/services/workmail.js +4 -4
  459. package/lib/generated/services/workmailmessageflow.js +3 -3
  460. package/lib/generated/services/workspaces-instances.js +4 -4
  461. package/lib/generated/services/workspaces-web.js +4 -4
  462. package/lib/generated/services/workspaces.js +4 -4
  463. package/lib/generated/services/xray.js +4 -4
  464. package/package.json +1 -1
@@ -16,9 +16,11 @@ class NotificationsActions {
16
16
  }
17
17
  exports.NotificationsActions = NotificationsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- NotificationsActions[_a] = { fqn: "@cdk_utils/iam.notifications.NotificationsActions", version: "1.23.0" };
19
+ NotificationsActions[_a] = { fqn: "@cdk_utils/iam.notifications.NotificationsActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  NotificationsActions.SERVICE_PREFIX = "notifications";
22
+ /** [Read] notifications:AccessSensitiveEvents */
23
+ NotificationsActions.AccessSensitiveEvents = "notifications:AccessSensitiveEvents";
22
24
  /** [Write] notifications:AssociateChannel */
23
25
  NotificationsActions.AssociateChannel = "notifications:AssociateChannel";
24
26
  /** [Write] notifications:AssociateManagedNotificationAccountContact */
@@ -93,16 +95,21 @@ NotificationsActions.ListTagsForResource = "notifications:ListTagsForResource";
93
95
  NotificationsActions.PutFeatureOptInStatus = "notifications:PutFeatureOptInStatus";
94
96
  /** [Write] notifications:RegisterNotificationHub */
95
97
  NotificationsActions.RegisterNotificationHub = "notifications:RegisterNotificationHub";
98
+ /** [Write] notifications:SubscribeSensitiveEvents */
99
+ NotificationsActions.SubscribeSensitiveEvents = "notifications:SubscribeSensitiveEvents";
96
100
  /** [Tagging] notifications:TagResource */
97
101
  NotificationsActions.TagResource = "notifications:TagResource";
98
102
  /** [Tagging] notifications:UntagResource */
99
103
  NotificationsActions.UntagResource = "notifications:UntagResource";
100
104
  /** [Write] notifications:UpdateEventRule */
101
105
  NotificationsActions.UpdateEventRule = "notifications:UpdateEventRule";
106
+ /** [Write] notifications:UpdateManagedNotificationChannelAssociation */
107
+ NotificationsActions.UpdateManagedNotificationChannelAssociation = "notifications:UpdateManagedNotificationChannelAssociation";
102
108
  /** [Write] notifications:UpdateNotificationConfiguration */
103
109
  NotificationsActions.UpdateNotificationConfiguration = "notifications:UpdateNotificationConfiguration";
104
110
  /** All read-level actions. */
105
111
  NotificationsActions.AllReadActions = [
112
+ NotificationsActions.AccessSensitiveEvents,
106
113
  NotificationsActions.actionGetEventRule,
107
114
  NotificationsActions.actionGetFeatureOptInStatus,
108
115
  NotificationsActions.actionGetManagedNotificationChildEvent,
@@ -129,7 +136,9 @@ NotificationsActions.AllWriteActions = [
129
136
  NotificationsActions.DisassociateOrganizationalUnit,
130
137
  NotificationsActions.PutFeatureOptInStatus,
131
138
  NotificationsActions.RegisterNotificationHub,
139
+ NotificationsActions.SubscribeSensitiveEvents,
132
140
  NotificationsActions.UpdateEventRule,
141
+ NotificationsActions.UpdateManagedNotificationChannelAssociation,
133
142
  NotificationsActions.UpdateNotificationConfiguration,
134
143
  ];
135
144
  /** All list-level actions. */
@@ -341,7 +350,7 @@ class NotificationsResources {
341
350
  }
342
351
  exports.NotificationsResources = NotificationsResources;
343
352
  _b = JSII_RTTI_SYMBOL_1;
344
- NotificationsResources[_b] = { fqn: "@cdk_utils/iam.notifications.NotificationsResources", version: "1.23.0" };
353
+ NotificationsResources[_b] = { fqn: "@cdk_utils/iam.notifications.NotificationsResources", version: "1.25.0" };
345
354
  /**
346
355
  * API operation to required IAM actions mapping for notifications.
347
356
  */
@@ -349,7 +358,7 @@ class NotificationsOperations {
349
358
  }
350
359
  exports.NotificationsOperations = NotificationsOperations;
351
360
  _c = JSII_RTTI_SYMBOL_1;
352
- NotificationsOperations[_c] = { fqn: "@cdk_utils/iam.notifications.NotificationsOperations", version: "1.23.0" };
361
+ NotificationsOperations[_c] = { fqn: "@cdk_utils/iam.notifications.NotificationsOperations", version: "1.25.0" };
353
362
  /** IAM actions required for the AssociateChannel API call. */
354
363
  NotificationsOperations.AssociateChannel = [
355
364
  "notifications:AssociateChannel",
@@ -357,10 +366,12 @@ NotificationsOperations.AssociateChannel = [
357
366
  /** IAM actions required for the AssociateManagedNotificationAccountContact API call. */
358
367
  NotificationsOperations.AssociateManagedNotificationAccountContact = [
359
368
  "notifications:AssociateManagedNotificationAccountContact",
369
+ "notifications:SubscribeSensitiveEvents",
360
370
  ];
361
371
  /** IAM actions required for the AssociateManagedNotificationAdditionalChannel API call. */
362
372
  NotificationsOperations.AssociateManagedNotificationAdditionalChannel = [
363
373
  "notifications:AssociateManagedNotificationAdditionalChannel",
374
+ "notifications:SubscribeSensitiveEvents",
364
375
  ];
365
376
  /** IAM actions required for the AssociateOrganizationalUnit API call. */
366
377
  NotificationsOperations.AssociateOrganizationalUnit = [
@@ -419,6 +430,7 @@ NotificationsOperations.opGetManagedNotificationConfiguration = [
419
430
  ];
420
431
  /** IAM actions required for the GetManagedNotificationEvent API call. */
421
432
  NotificationsOperations.opGetManagedNotificationEvent = [
433
+ "notifications:AccessSensitiveEvents",
422
434
  "notifications:GetManagedNotificationEvent",
423
435
  ];
424
436
  /** IAM actions required for the GetNotificationConfiguration API call. */
@@ -451,6 +463,7 @@ NotificationsOperations.ListManagedNotificationConfigurations = [
451
463
  ];
452
464
  /** IAM actions required for the ListManagedNotificationEvents API call. */
453
465
  NotificationsOperations.ListManagedNotificationEvents = [
466
+ "notifications:AccessSensitiveEvents",
454
467
  "notifications:ListManagedNotificationEvents",
455
468
  ];
456
469
  /** IAM actions required for the ListMemberAccounts API call. */
@@ -516,7 +529,7 @@ class NotificationsConditions {
516
529
  }
517
530
  exports.NotificationsConditions = NotificationsConditions;
518
531
  _d = JSII_RTTI_SYMBOL_1;
519
- NotificationsConditions[_d] = { fqn: "@cdk_utils/iam.notifications.NotificationsConditions", version: "1.23.0" };
532
+ NotificationsConditions[_d] = { fqn: "@cdk_utils/iam.notifications.NotificationsConditions", version: "1.25.0" };
520
533
  /** Condition keys applicable to the CreateNotificationConfiguration action. */
521
534
  NotificationsConditions.CreateNotificationConfigurationConditionKeys = [
522
535
  "aws:RequestTag/${TagKey}",
@@ -535,4 +548,4 @@ NotificationsConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
535
548
  NotificationsConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
536
549
  /** Condition key: aws:TagKeys (ArrayOfString) */
537
550
  NotificationsConditions.AWS_TAG_KEYS = "aws:TagKeys";
538
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvbm90aWZpY2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQTBLQzs7O0FBektBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELDZDQUE2QztBQUM3QixxQ0FBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNwRSx1RUFBdUU7QUFDdkQsK0RBQTBDLEdBQ3pELDBEQUEwRCxDQUFDO0FBQzVELDBFQUEwRTtBQUMxRCxrRUFBNkMsR0FDNUQsNkRBQTZELENBQUM7QUFDL0Qsd0RBQXdEO0FBQ3hDLGdEQUEyQixHQUMxQywyQ0FBMkMsQ0FBQztBQUM3Qyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw0REFBNEQ7QUFDNUMsb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELDRDQUE0QztBQUM1QixvQ0FBZSxHQUFHLCtCQUErQixDQUFDO0FBQ2xFLDREQUE0RDtBQUM1QyxvREFBK0IsR0FDOUMsK0NBQStDLENBQUM7QUFDakQsc0RBQXNEO0FBQ3RDLDhDQUF5QixHQUN4Qyx5Q0FBeUMsQ0FBQztBQUMzQyxxRkFBcUY7QUFDckUsOERBQXlDLEdBQ3hELHlEQUF5RCxDQUFDO0FBQzNELGdEQUFnRDtBQUNoQyx3Q0FBbUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUMxRSwwRUFBMEU7QUFDMUQsa0VBQTZDLEdBQzVELDZEQUE2RCxDQUFDO0FBQy9ELDZFQUE2RTtBQUM3RCxxRUFBZ0QsR0FDL0QsZ0VBQWdFLENBQUM7QUFDbEUsMkRBQTJEO0FBQzNDLG1EQUE4QixH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PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL25vdGlmaWNhdGlvbnMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIG5vdGlmaWNhdGlvbnMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwibm90aWZpY2F0aW9uc1wiO1xuXG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQ2hhbm5lbCA9IFwibm90aWZpY2F0aW9uczpBc3NvY2lhdGVDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFjY291bnRDb250YWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3QgPVxuXHRcdFwibm90aWZpY2F0aW9uczpBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3RcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbCA9XG5cdFx0XCJub3RpZmljYXRpb25zOkFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbFwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkFzc29jaWF0ZU9yZ2FuaXphdGlvbmFsVW5pdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0ID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0XCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6Q3JlYXRlRXZlbnRSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudFJ1bGUgPSBcIm5vdGlmaWNhdGlvbnM6Q3JlYXRlRXZlbnRSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6Q3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJub3RpZmljYXRpb25zOkNyZWF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpEZWxldGVFdmVudFJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50UnVsZSA9IFwibm90aWZpY2F0aW9uczpEZWxldGVFdmVudFJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpEZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6RGVsZXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkRlcmVnaXN0ZXJOb3RpZmljYXRpb25IdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJOb3RpZmljYXRpb25IdWIgPVxuXHRcdFwibm90aWZpY2F0aW9uczpEZXJlZ2lzdGVyTm90aWZpY2F0aW9uSHViXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIG5vdGlmaWNhdGlvbnM6RGlzYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVDaGFubmVsID0gXCJub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZUNoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCA9XG5cdFx0XCJub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdFwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFkZGl0aW9uYWxDaGFubmVsID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFkZGl0aW9uYWxDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXQgPVxuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXRcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gbm90aWZpY2F0aW9uczpFbmFibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6RW5hYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvblwiO1xuXHQvKiogW1JlYWRdIG5vdGlmaWNhdGlvbnM6R2V0RXZlbnRSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFdmVudFJ1bGUgPSBcIm5vdGlmaWNhdGlvbnM6R2V0RXZlbnRSdWxlXCI7XG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpHZXRGZWF0dXJlT3B0SW5TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZlYXR1cmVPcHRJblN0YXR1cyA9XG5cdFx0XCJub3RpZmljYXRpb25zOkdldEZlYXR1cmVPcHRJblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIG5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50ID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRcIjtcblx0LyoqIFtSZWFkXSBub3RpZmljYXRpb25zOkdldE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJub3RpZmljYXRpb25zOkdldE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpHZXRNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbmFnZWROb3RpZmljYXRpb25FdmVudCA9XG5cdFx0XCJub3RpZmljYXRpb25zOkdldE1hbmFnZWROb3RpZmljYXRpb25FdmVudFwiO1xuXHQvKiogW1JlYWRdIG5vdGlmaWNhdGlvbnM6R2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbkV2ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXROb3RpZmljYXRpb25FdmVudCA9XG5cdFx0XCJub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbkV2ZW50XCI7XG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpHZXROb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXROb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0Tm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvblwiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdENoYW5uZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbHMgPSBcIm5vdGlmaWNhdGlvbnM6TGlzdENoYW5uZWxzXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0RXZlbnRSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2ZW50UnVsZXMgPSBcIm5vdGlmaWNhdGlvbnM6TGlzdEV2ZW50UnVsZXNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hhbm5lbEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb25zID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRzID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9ucyA9XG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50cyA9XG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0TWVtYmVyQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1iZXJBY2NvdW50cyA9IFwibm90aWZpY2F0aW9uczpMaXN0TWVtYmVyQWNjb3VudHNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3ROb3RpZmljYXRpb25Db25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90aWZpY2F0aW9uRXZlbnRzID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkh1YnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZmljYXRpb25IdWJzID0gXCJub3RpZmljYXRpb25zOkxpc3ROb3RpZmljYXRpb25IdWJzXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0T3JnYW5pemF0aW9uYWxVbml0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9yZ2FuaXphdGlvbmFsVW5pdHMgPVxuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0T3JnYW5pemF0aW9uYWxVbml0c1wiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwibm90aWZpY2F0aW9uczpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6UHV0RmVhdHVyZU9wdEluU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRGZWF0dXJlT3B0SW5TdGF0dXMgPSBcIm5vdGlmaWNhdGlvbnM6UHV0RmVhdHVyZU9wdEluU3RhdHVzXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6UmVnaXN0ZXJOb3RpZmljYXRpb25IdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyTm90aWZpY2F0aW9uSHViID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6UmVnaXN0ZXJOb3RpZmljYXRpb25IdWJcIjtcblx0LyoqIFtUYWdnaW5nXSBub3RpZmljYXRpb25zOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwibm90aWZpY2F0aW9uczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIG5vdGlmaWNhdGlvbnM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwibm90aWZpY2F0aW9uczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6VXBkYXRlRXZlbnRSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudFJ1bGUgPSBcIm5vdGlmaWNhdGlvbnM6VXBkYXRlRXZlbnRSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6VXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJub3RpZmljYXRpb25zOlVwZGF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXRFdmVudFJ1bGUsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuYWN0aW9uR2V0RmVhdHVyZU9wdEluU3RhdHVzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLmFjdGlvbkdldE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50LFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLmFjdGlvbkdldE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLmFjdGlvbkdldE1hbmFnZWROb3RpZmljYXRpb25FdmVudCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLmFjdGlvbkdldE5vdGlmaWNhdGlvbkV2ZW50LFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLmFjdGlvbkdldE5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24sXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuQXNzb2NpYXRlQ2hhbm5lbCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5Bc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3QsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuQXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFkZGl0aW9uYWxDaGFubmVsLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkFzc29jaWF0ZU9yZ2FuaXphdGlvbmFsVW5pdCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5DcmVhdGVFdmVudFJ1bGUsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuQ3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5EZWxldGVFdmVudFJ1bGUsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRGVsZXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5EZXJlZ2lzdGVyTm90aWZpY2F0aW9uSHViLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkRpc2Fzc29jaWF0ZUNoYW5uZWwsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRGlzYXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFjY291bnRDb250YWN0LFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5EaXNhc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXQsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuUHV0RmVhdHVyZU9wdEluU3RhdHVzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLlJlZ2lzdGVyTm90aWZpY2F0aW9uSHViLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLlVwZGF0ZUV2ZW50UnVsZSxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5VcGRhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5MaXN0Q2hhbm5lbHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdEV2ZW50UnVsZXMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb25zLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9ucyxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5MaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50cyxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5MaXN0TWVtYmVyQWNjb3VudHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3ROb3RpZmljYXRpb25FdmVudHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE5vdGlmaWNhdGlvbkh1YnMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbmFsVW5pdHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRGlzYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24sXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRW5hYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvbixcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEV2ZW50UnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc0V2ZW50UnVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50UnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudFJ1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRXZlbnRSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zRXZlbnRSdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBldmVudFJ1bGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRlZ29yeSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBTdWJjYXRlZ29yeSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3ViY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZmljYXRpb25FdmVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25FdmVudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uQ2hpbGRFdmVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25DaGlsZEV2ZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3ViY2F0ZWdvcnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdWJjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkV2ZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25FdmVudElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uQ2hpbGRFdmVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uQ2hpbGRFdmVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGVnb3J5IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIFN1YmNhdGVnb3J5IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdWJjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGVnb3J5IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBTdWJjYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN1YmNhdGVnb3J5OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3ViY2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN1YmNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uRXZlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0ZWdvcnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIFN1YmNhdGVnb3J5IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3ViY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZmljYXRpb25FdmVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBOb3RpZmljYXRpb25FdmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkV2ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uRXZlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE5vdGlmaWNhdGlvbkV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTm90aWZpY2F0aW9uRXZlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkV2ZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25FdmVudElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEV2ZW50UnVsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpub3RpZmljYXRpb25zOjooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmF0aW9uXFwvKD88bm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkPlteOi8/XSspXFwvcnVsZVxcLyg/PGV2ZW50UnVsZUlkPlteOi8/XSspJC87XG5jb25zdCBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpub3RpZmljYXRpb25zOjooPzxhY2NvdW50PlteOl0qKTptYW5hZ2VkLW5vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uXFwvY2F0ZWdvcnlcXC8oPzxjYXRlZ29yeT5bXjovP10rKVxcL3N1Yi1jYXRlZ29yeVxcLyg/PHN1YmNhdGVnb3J5PlteOi8/XSspXFwvZXZlbnRcXC8oPzxub3RpZmljYXRpb25FdmVudElkPlteOi8/XSspXFwvY2hpbGQtZXZlbnRcXC8oPzxub3RpZmljYXRpb25DaGlsZEV2ZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm5vdGlmaWNhdGlvbnM6Oig/PGFjY291bnQ+W146XSopOm1hbmFnZWQtbm90aWZpY2F0aW9uLWNvbmZpZ3VyYXRpb25cXC9jYXRlZ29yeVxcLyg/PGNhdGVnb3J5PlteOi8/XSspXFwvc3ViLWNhdGVnb3J5XFwvKD88c3ViY2F0ZWdvcnk+W146Lz9dKykkLztcbmNvbnN0IE1hbmFnZWROb3RpZmljYXRpb25FdmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpub3RpZmljYXRpb25zOjooPzxhY2NvdW50PlteOl0qKTptYW5hZ2VkLW5vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uXFwvY2F0ZWdvcnlcXC8oPzxjYXRlZ29yeT5bXjovP10rKVxcL3N1Yi1jYXRlZ29yeVxcLyg/PHN1YmNhdGVnb3J5PlteOi8/XSspXFwvZXZlbnRcXC8oPzxub3RpZmljYXRpb25FdmVudElkPlteOi8/XSspJC87XG5jb25zdCBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm5vdGlmaWNhdGlvbnM6Oig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyYXRpb25cXC8oPzxub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IE5vdGlmaWNhdGlvbkV2ZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm5vdGlmaWNhdGlvbnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmF0aW9uXFwvKD88bm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkPlteOi8/XSspXFwvZXZlbnRcXC8oPzxub3RpZmljYXRpb25FdmVudElkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Igbm90aWZpY2F0aW9ucyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBFdmVudFJ1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZlbnRSdWxlKHByb3BzOiBOb3RpZmljYXRpb25zRXZlbnRSdWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om5vdGlmaWNhdGlvbnM6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uZmlndXJhdGlvbi8ke3Byb3BzLm5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZH0vcnVsZS8ke3Byb3BzLmV2ZW50UnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBFdmVudFJ1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV2ZW50UnVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmVudFJ1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRXZlbnRSdWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV2ZW50UnVsZUFybihhcm46IHN0cmluZyk6IE5vdGlmaWNhdGlvbnNFdmVudFJ1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV2ZW50UnVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBFdmVudFJ1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLm5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCxcblx0XHRcdGV2ZW50UnVsZUlkOiBtYXRjaC5ncm91cHMhLmV2ZW50UnVsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50KFxuXHRcdHByb3BzOiBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpub3RpZmljYXRpb25zOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hbmFnZWQtbm90aWZpY2F0aW9uLWNvbmZpZ3VyYXRpb24vY2F0ZWdvcnkvJHtwcm9wcy5jYXRlZ29yeX0vc3ViLWNhdGVnb3J5LyR7cHJvcHMuc3ViY2F0ZWdvcnl9L2V2ZW50LyR7cHJvcHMubm90aWZpY2F0aW9uRXZlbnRJZH0vY2hpbGQtZXZlbnQvJHtwcm9wcy5ub3RpZmljYXRpb25DaGlsZEV2ZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRlZ29yeTogbWF0Y2guZ3JvdXBzIS5jYXRlZ29yeSxcblx0XHRcdHN1YmNhdGVnb3J5OiBtYXRjaC5ncm91cHMhLnN1YmNhdGVnb3J5LFxuXHRcdFx0bm90aWZpY2F0aW9uRXZlbnRJZDogbWF0Y2guZ3JvdXBzIS5ub3RpZmljYXRpb25FdmVudElkLFxuXHRcdFx0bm90aWZpY2F0aW9uQ2hpbGRFdmVudElkOiBtYXRjaC5ncm91cHMhLm5vdGlmaWNhdGlvbkNoaWxkRXZlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbihcblx0XHRwcm9wczogTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bm90aWZpY2F0aW9uczo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYW5hZ2VkLW5vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uL2NhdGVnb3J5LyR7cHJvcHMuY2F0ZWdvcnl9L3N1Yi1jYXRlZ29yeS8ke3Byb3BzLnN1YmNhdGVnb3J5fWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuY2F0ZWdvcnksXG5cdFx0XHRzdWJjYXRlZ29yeTogbWF0Y2guZ3JvdXBzIS5zdWJjYXRlZ29yeSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50KFxuXHRcdHByb3BzOiBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bm90aWZpY2F0aW9uczo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYW5hZ2VkLW5vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uL2NhdGVnb3J5LyR7cHJvcHMuY2F0ZWdvcnl9L3N1Yi1jYXRlZ29yeS8ke3Byb3BzLnN1YmNhdGVnb3J5fS9ldmVudC8ke3Byb3BzLm5vdGlmaWNhdGlvbkV2ZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE1hbmFnZWROb3RpZmljYXRpb25FdmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hbmFnZWROb3RpZmljYXRpb25FdmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGVnb3J5OiBtYXRjaC5ncm91cHMhLmNhdGVnb3J5LFxuXHRcdFx0c3ViY2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuc3ViY2F0ZWdvcnksXG5cdFx0XHRub3RpZmljYXRpb25FdmVudElkOiBtYXRjaC5ncm91cHMhLm5vdGlmaWNhdGlvbkV2ZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RpZmljYXRpb25Db25maWd1cmF0aW9uKFxuXHRcdHByb3BzOiBOb3RpZmljYXRpb25zTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om5vdGlmaWNhdGlvbnM6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uZmlndXJhdGlvbi8ke3Byb3BzLm5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEubm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE5vdGlmaWNhdGlvbkV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGlmaWNhdGlvbkV2ZW50KFxuXHRcdHByb3BzOiBOb3RpZmljYXRpb25zTm90aWZpY2F0aW9uRXZlbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpub3RpZmljYXRpb25zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyYXRpb24vJHtwcm9wcy5ub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWR9L2V2ZW50LyR7cHJvcHMubm90aWZpY2F0aW9uRXZlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTm90aWZpY2F0aW9uRXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGlmaWNhdGlvbkV2ZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE5vdGlmaWNhdGlvbkV2ZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE5vdGlmaWNhdGlvbkV2ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGlmaWNhdGlvbkV2ZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBOb3RpZmljYXRpb25zTm90aWZpY2F0aW9uRXZlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGlmaWNhdGlvbkV2ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE5vdGlmaWNhdGlvbkV2ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5ub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQsXG5cdFx0XHRub3RpZmljYXRpb25FdmVudElkOiBtYXRjaC5ncm91cHMhLm5vdGlmaWNhdGlvbkV2ZW50SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igbm90aWZpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUNoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpBc3NvY2lhdGVDaGFubmVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkNyZWF0ZUV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpDcmVhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdFx0XCJub3RpZmljYXRpb25zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkRlbGV0ZUV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpEZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJOb3RpZmljYXRpb25IdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTm90aWZpY2F0aW9uSHViOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RGVyZWdpc3Rlck5vdGlmaWNhdGlvbkh1YlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVDaGFubmVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RW5hYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmVudFJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkdldEV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpHZXRNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Tm90aWZpY2F0aW9uRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE5vdGlmaWNhdGlvbkV2ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0Tm90aWZpY2F0aW9uRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Tm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Tm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENoYW5uZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxzOiBzdHJpbmdbXSA9IFtcIm5vdGlmaWNhdGlvbnM6TGlzdENoYW5uZWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudFJ1bGVzOiBzdHJpbmdbXSA9IFtcIm5vdGlmaWNhdGlvbnM6TGlzdEV2ZW50UnVsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hhbm5lbEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hhbm5lbEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hhbm5lbEFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbmFnZWROb3RpZmljYXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWVtYmVyQWNjb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWVtYmVyQWNjb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWVtYmVyQWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb3RpZmljYXRpb25FdmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90aWZpY2F0aW9uRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Tm90aWZpY2F0aW9uSHVicyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZmljYXRpb25IdWJzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkh1YnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9yZ2FuaXphdGlvbmFsVW5pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3JnYW5pemF0aW9uYWxVbml0czogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RPcmdhbml6YXRpb25hbFVuaXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3Rlck5vdGlmaWNhdGlvbkh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyTm90aWZpY2F0aW9uSHViOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6UmVnaXN0ZXJOb3RpZmljYXRpb25IdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2ZW50UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOlVwZGF0ZUV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpVcGRhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
551
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvbm90aWZpY2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXFMQzs7O0FBcExBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELGlEQUFpRDtBQUNqQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSw2Q0FBNkM7QUFDN0IscUNBQWdCLEdBQUcsZ0NBQWdDLENBQUM7QUFDcEUsdUVBQXVFO0FBQ3ZELCtEQUEwQyxHQUN6RCwwREFBMEQsQ0FBQztBQUM1RCwwRUFBMEU7QUFDMUQsa0VBQTZDLEdBQzVELDZEQUE2RCxDQUFDO0FBQy9ELHdEQUF3RDtBQUN4QyxnREFBMkIsR0FDMUMsMkNBQTJDLENBQUM7QUFDN0MsNENBQTRDO0FBQzVCLG9DQUFlLEdBQUcsK0JBQStCLENBQUM7QUFDbEUsNERBQTREO0FBQzVDLG9EQUErQixHQUM5QywrQ0FBK0MsQ0FBQztBQUNqRCw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw0REFBNEQ7QUFDNUMsb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELHNEQUFzRDtBQUN0Qyw4Q0FBeUIsR0FDeEMseUNBQXlDLENBQUM7QUFDM0MscUZBQXFGO0FBQ3JFLDhEQUF5QyxHQUN4RCx5REFBeUQsQ0FBQztBQUMzRCxnREFBZ0Q7QUFDaEMsd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsMEVBQTBFO0FBQzFELGtFQUE2QyxHQUM1RCw2REFBNkQsQ0FBQztBQUMvRCw2RUFBNkU7QUFDN0QscUVBQWdELEdB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SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGtEQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLHVDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxvQ0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL25vdGlmaWNhdGlvbnMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIG5vdGlmaWNhdGlvbnMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwibm90aWZpY2F0aW9uc1wiO1xuXG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpBY2Nlc3NTZW5zaXRpdmVFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2Vzc1NlbnNpdGl2ZUV2ZW50cyA9IFwibm90aWZpY2F0aW9uczpBY2Nlc3NTZW5zaXRpdmVFdmVudHNcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpBc3NvY2lhdGVDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVDaGFubmVsID0gXCJub3RpZmljYXRpb25zOkFzc29jaWF0ZUNoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCA9XG5cdFx0XCJub3RpZmljYXRpb25zOkFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdFwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFkZGl0aW9uYWxDaGFubmVsID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFkZGl0aW9uYWxDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXQgPVxuXHRcdFwibm90aWZpY2F0aW9uczpBc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXRcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpDcmVhdGVFdmVudFJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50UnVsZSA9IFwibm90aWZpY2F0aW9uczpDcmVhdGVFdmVudFJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpDcmVhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6Q3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkRlbGV0ZUV2ZW50UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnRSdWxlID0gXCJub3RpZmljYXRpb25zOkRlbGV0ZUV2ZW50UnVsZVwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkRlbGV0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwibm90aWZpY2F0aW9uczpEZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6RGVyZWdpc3Rlck5vdGlmaWNhdGlvbkh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck5vdGlmaWNhdGlvbkh1YiA9XG5cdFx0XCJub3RpZmljYXRpb25zOkRlcmVnaXN0ZXJOb3RpZmljYXRpb25IdWJcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gbm90aWZpY2F0aW9uczpEaXNhYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gPVxuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvblwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZUNoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNoYW5uZWwgPSBcIm5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlQ2hhbm5lbFwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFjY291bnRDb250YWN0ID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFjY291bnRDb250YWN0XCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFkZGl0aW9uYWxDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWwgPVxuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9yZ2FuaXphdGlvbmFsVW5pdCA9XG5cdFx0XCJub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZU9yZ2FuaXphdGlvbmFsVW5pdFwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBub3RpZmljYXRpb25zOkVuYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gPVxuXHRcdFwibm90aWZpY2F0aW9uczpFbmFibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpHZXRFdmVudFJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV2ZW50UnVsZSA9IFwibm90aWZpY2F0aW9uczpHZXRFdmVudFJ1bGVcIjtcblx0LyoqIFtSZWFkXSBub3RpZmljYXRpb25zOkdldEZlYXR1cmVPcHRJblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmVhdHVyZU9wdEluU3RhdHVzID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0RmVhdHVyZU9wdEluU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpHZXRNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgPVxuXHRcdFwibm90aWZpY2F0aW9uczpHZXRNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudFwiO1xuXHQvKiogW1JlYWRdIG5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBub3RpZmljYXRpb25zOkdldE1hbmFnZWROb3RpZmljYXRpb25FdmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50ID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50XCI7XG5cdC8qKiBbUmVhZF0gbm90aWZpY2F0aW9uczpHZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIG5vdGlmaWNhdGlvbnM6R2V0Tm90aWZpY2F0aW9uRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE5vdGlmaWNhdGlvbkV2ZW50ID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0Tm90aWZpY2F0aW9uRXZlbnRcIjtcblx0LyoqIFtSZWFkXSBub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gPVxuXHRcdFwibm90aWZpY2F0aW9uczpHZXROb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0Q2hhbm5lbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGFubmVscyA9IFwibm90aWZpY2F0aW9uczpMaXN0Q2hhbm5lbHNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3RFdmVudFJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRSdWxlcyA9IFwibm90aWZpY2F0aW9uczpMaXN0RXZlbnRSdWxlc1wiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoYW5uZWxBc3NvY2lhdGlvbnMgPVxuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoYW5uZWxBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudHMgPVxuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25FdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRzID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25FdmVudHNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3RNZW1iZXJBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlckFjY291bnRzID0gXCJub3RpZmljYXRpb25zOkxpc3RNZW1iZXJBY2NvdW50c1wiO1xuXHQvKiogW0xpc3RdIG5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3ROb3RpZmljYXRpb25FdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZmljYXRpb25FdmVudHMgPVxuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uSHVicyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGlmaWNhdGlvbkh1YnMgPSBcIm5vdGlmaWNhdGlvbnM6TGlzdE5vdGlmaWNhdGlvbkh1YnNcIjtcblx0LyoqIFtMaXN0XSBub3RpZmljYXRpb25zOkxpc3RPcmdhbml6YXRpb25hbFVuaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3JnYW5pemF0aW9uYWxVbml0cyA9XG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RPcmdhbml6YXRpb25hbFVuaXRzXCI7XG5cdC8qKiBbTGlzdF0gbm90aWZpY2F0aW9uczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJub3RpZmljYXRpb25zOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpQdXRGZWF0dXJlT3B0SW5TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEZlYXR1cmVPcHRJblN0YXR1cyA9IFwibm90aWZpY2F0aW9uczpQdXRGZWF0dXJlT3B0SW5TdGF0dXNcIjtcblx0LyoqIFtXcml0ZV0gbm90aWZpY2F0aW9uczpSZWdpc3Rlck5vdGlmaWNhdGlvbkh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJOb3RpZmljYXRpb25IdWIgPVxuXHRcdFwibm90aWZpY2F0aW9uczpSZWdpc3Rlck5vdGlmaWNhdGlvbkh1YlwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOlN1YnNjcmliZVNlbnNpdGl2ZUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3Vic2NyaWJlU2Vuc2l0aXZlRXZlbnRzID1cblx0XHRcIm5vdGlmaWNhdGlvbnM6U3Vic2NyaWJlU2Vuc2l0aXZlRXZlbnRzXCI7XG5cdC8qKiBbVGFnZ2luZ10gbm90aWZpY2F0aW9uczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcIm5vdGlmaWNhdGlvbnM6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBub3RpZmljYXRpb25zOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcIm5vdGlmaWNhdGlvbnM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOlVwZGF0ZUV2ZW50UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZlbnRSdWxlID0gXCJub3RpZmljYXRpb25zOlVwZGF0ZUV2ZW50UnVsZVwiO1xuXHQvKiogW1dyaXRlXSBub3RpZmljYXRpb25zOlVwZGF0ZU1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb24gPVxuXHRcdFwibm90aWZpY2F0aW9uczpVcGRhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQ2hhbm5lbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG5vdGlmaWNhdGlvbnM6VXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJub3RpZmljYXRpb25zOlVwZGF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5BY2Nlc3NTZW5zaXRpdmVFdmVudHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuYWN0aW9uR2V0RXZlbnRSdWxlLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLmFjdGlvbkdldEZlYXR1cmVPcHRJblN0YXR1cyxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXRNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXRNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXRNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuYWN0aW9uR2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXROb3RpZmljYXRpb25FdmVudCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5hY3Rpb25HZXROb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkFzc29jaWF0ZUNoYW5uZWwsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuQXNzb2NpYXRlTWFuYWdlZE5vdGlmaWNhdGlvbkFjY291bnRDb250YWN0LFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5Bc3NvY2lhdGVPcmdhbml6YXRpb25hbFVuaXQsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuQ3JlYXRlRXZlbnRSdWxlLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkNyZWF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRGVsZXRlRXZlbnRSdWxlLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkRlbGV0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRGVyZWdpc3Rlck5vdGlmaWNhdGlvbkh1Yixcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5EaXNhc3NvY2lhdGVDaGFubmVsLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5EaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWwsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuRGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0LFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLlB1dEZlYXR1cmVPcHRJblN0YXR1cyxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5SZWdpc3Rlck5vdGlmaWNhdGlvbkh1Yixcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5TdWJzY3JpYmVTZW5zaXRpdmVFdmVudHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuVXBkYXRlRXZlbnRSdWxlLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLlVwZGF0ZU1hbmFnZWROb3RpZmljYXRpb25DaGFubmVsQXNzb2NpYXRpb24sXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuVXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdENoYW5uZWxzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3RFdmVudFJ1bGVzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hhbm5lbEFzc29jaWF0aW9ucyxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5MaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE1hbmFnZWROb3RpZmljYXRpb25FdmVudHMsXG5cdFx0Tm90aWZpY2F0aW9uc0FjdGlvbnMuTGlzdE1lbWJlckFjY291bnRzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3ROb3RpZmljYXRpb25Db25maWd1cmF0aW9ucyxcblx0XHROb3RpZmljYXRpb25zQWN0aW9ucy5MaXN0Tm90aWZpY2F0aW9uRXZlbnRzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3ROb3RpZmljYXRpb25IdWJzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3RPcmdhbml6YXRpb25hbFVuaXRzLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkRpc2FibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLkVuYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24sXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdE5vdGlmaWNhdGlvbnNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBFdmVudFJ1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNFdmVudFJ1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudFJ1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXZlbnRSdWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEV2ZW50UnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc0V2ZW50UnVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogVGhlIEV2ZW50UnVsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXZlbnRSdWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3ViY2F0ZWdvcnkgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN1YmNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uRXZlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uQ2hpbGRFdmVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2F0ZWdvcnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIFN1YmNhdGVnb3J5IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3ViY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZmljYXRpb25FdmVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRJZDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNoaWxkRXZlbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDYXRlZ29yeSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBTdWJjYXRlZ29yeSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3ViY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3ViY2F0ZWdvcnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdWJjYXRlZ29yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENhdGVnb3J5IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIFN1YmNhdGVnb3J5IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdWJjYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkV2ZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1hbmFnZWROb3RpZmljYXRpb25FdmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25FdmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhdGVnb3J5IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBTdWJjYXRlZ29yeSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN1YmNhdGVnb3J5OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90aWZpY2F0aW9uRXZlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTm90aWZpY2F0aW9uRXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb25FdmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmaWNhdGlvbkV2ZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBOb3RpZmljYXRpb25FdmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZmljYXRpb25FdmVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRJZDogc3RyaW5nO1xufVxuXG5jb25zdCBFdmVudFJ1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bm90aWZpY2F0aW9uczo6KD88YWNjb3VudD5bXjpdKik6Y29uZmlndXJhdGlvblxcLyg/PG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZD5bXjovP10rKVxcL3J1bGVcXC8oPzxldmVudFJ1bGVJZD5bXjovP10rKSQvO1xuY29uc3QgTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bm90aWZpY2F0aW9uczo6KD88YWNjb3VudD5bXjpdKik6bWFuYWdlZC1ub3RpZmljYXRpb24tY29uZmlndXJhdGlvblxcL2NhdGVnb3J5XFwvKD88Y2F0ZWdvcnk+W146Lz9dKylcXC9zdWItY2F0ZWdvcnlcXC8oPzxzdWJjYXRlZ29yeT5bXjovP10rKVxcL2V2ZW50XFwvKD88bm90aWZpY2F0aW9uRXZlbnRJZD5bXjovP10rKVxcL2NoaWxkLWV2ZW50XFwvKD88bm90aWZpY2F0aW9uQ2hpbGRFdmVudElkPlteOi8/XSspJC87XG5jb25zdCBNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpub3RpZmljYXRpb25zOjooPzxhY2NvdW50PlteOl0qKTptYW5hZ2VkLW5vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uXFwvY2F0ZWdvcnlcXC8oPzxjYXRlZ29yeT5bXjovP10rKVxcL3N1Yi1jYXRlZ29yeVxcLyg/PHN1YmNhdGVnb3J5PlteOi8/XSspJC87XG5jb25zdCBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bm90aWZpY2F0aW9uczo6KD88YWNjb3VudD5bXjpdKik6bWFuYWdlZC1ub3RpZmljYXRpb24tY29uZmlndXJhdGlvblxcL2NhdGVnb3J5XFwvKD88Y2F0ZWdvcnk+W146Lz9dKylcXC9zdWItY2F0ZWdvcnlcXC8oPzxzdWJjYXRlZ29yeT5bXjovP10rKVxcL2V2ZW50XFwvKD88bm90aWZpY2F0aW9uRXZlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpub3RpZmljYXRpb25zOjooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmF0aW9uXFwvKD88bm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBOb3RpZmljYXRpb25FdmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpub3RpZmljYXRpb25zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZmlndXJhdGlvblxcLyg/PG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZD5bXjovP10rKVxcL2V2ZW50XFwvKD88bm90aWZpY2F0aW9uRXZlbnRJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIG5vdGlmaWNhdGlvbnMgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRXZlbnRSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50UnVsZShwcm9wczogTm90aWZpY2F0aW9uc0V2ZW50UnVsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpub3RpZmljYXRpb25zOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyYXRpb24vJHtwcm9wcy5ub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWR9L3J1bGUvJHtwcm9wcy5ldmVudFJ1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRXZlbnRSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFdmVudFJ1bGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXZlbnRSdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEV2ZW50UnVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmVudFJ1bGVBcm4oYXJuOiBzdHJpbmcpOiBOb3RpZmljYXRpb25zRXZlbnRSdWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudFJ1bGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRXZlbnRSdWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5ub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQsXG5cdFx0XHRldmVudFJ1bGVJZDogbWF0Y2guZ3JvdXBzIS5ldmVudFJ1bGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudChcblx0XHRwcm9wczogTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bm90aWZpY2F0aW9uczo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYW5hZ2VkLW5vdGlmaWNhdGlvbi1jb25maWd1cmF0aW9uL2NhdGVnb3J5LyR7cHJvcHMuY2F0ZWdvcnl9L3N1Yi1jYXRlZ29yeS8ke3Byb3BzLnN1YmNhdGVnb3J5fS9ldmVudC8ke3Byb3BzLm5vdGlmaWNhdGlvbkV2ZW50SWR9L2NoaWxkLWV2ZW50LyR7cHJvcHMubm90aWZpY2F0aW9uQ2hpbGRFdmVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuY2F0ZWdvcnksXG5cdFx0XHRzdWJjYXRlZ29yeTogbWF0Y2guZ3JvdXBzIS5zdWJjYXRlZ29yeSxcblx0XHRcdG5vdGlmaWNhdGlvbkV2ZW50SWQ6IG1hdGNoLmdyb3VwcyEubm90aWZpY2F0aW9uRXZlbnRJZCxcblx0XHRcdG5vdGlmaWNhdGlvbkNoaWxkRXZlbnRJZDogbWF0Y2guZ3JvdXBzIS5ub3RpZmljYXRpb25DaGlsZEV2ZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IE5vdGlmaWNhdGlvbnNNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om5vdGlmaWNhdGlvbnM6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWFuYWdlZC1ub3RpZmljYXRpb24tY29uZmlndXJhdGlvbi9jYXRlZ29yeS8ke3Byb3BzLmNhdGVnb3J5fS9zdWItY2F0ZWdvcnkvJHtwcm9wcy5zdWJjYXRlZ29yeX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBOb3RpZmljYXRpb25zTWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhdGVnb3J5OiBtYXRjaC5ncm91cHMhLmNhdGVnb3J5LFxuXHRcdFx0c3ViY2F0ZWdvcnk6IG1hdGNoLmdyb3VwcyEuc3ViY2F0ZWdvcnksXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hbmFnZWROb3RpZmljYXRpb25FdmVudChcblx0XHRwcm9wczogTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25FdmVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om5vdGlmaWNhdGlvbnM6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWFuYWdlZC1ub3RpZmljYXRpb24tY29uZmlndXJhdGlvbi9jYXRlZ29yeS8ke3Byb3BzLmNhdGVnb3J5fS9zdWItY2F0ZWdvcnkvJHtwcm9wcy5zdWJjYXRlZ29yeX0vZXZlbnQvJHtwcm9wcy5ub3RpZmljYXRpb25FdmVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1hbmFnZWROb3RpZmljYXRpb25FdmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1hbmFnZWROb3RpZmljYXRpb25FdmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTm90aWZpY2F0aW9uc01hbmFnZWROb3RpZmljYXRpb25FdmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1hbmFnZWROb3RpZmljYXRpb25FdmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXRlZ29yeTogbWF0Y2guZ3JvdXBzIS5jYXRlZ29yeSxcblx0XHRcdHN1YmNhdGVnb3J5OiBtYXRjaC5ncm91cHMhLnN1YmNhdGVnb3J5LFxuXHRcdFx0bm90aWZpY2F0aW9uRXZlbnRJZDogbWF0Y2guZ3JvdXBzIS5ub3RpZmljYXRpb25FdmVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbihcblx0XHRwcm9wczogTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpub3RpZmljYXRpb25zOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyYXRpb24vJHtwcm9wcy5ub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE5vdGlmaWNhdGlvbnNOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLm5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBOb3RpZmljYXRpb25FdmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RpZmljYXRpb25FdmVudChcblx0XHRwcm9wczogTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkV2ZW50QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bm90aWZpY2F0aW9uczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLyR7cHJvcHMubm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkfS9ldmVudC8ke3Byb3BzLm5vdGlmaWNhdGlvbkV2ZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE5vdGlmaWNhdGlvbkV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWROb3RpZmljYXRpb25FdmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RpZmljYXRpb25FdmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBOb3RpZmljYXRpb25FdmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VOb3RpZmljYXRpb25FdmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTm90aWZpY2F0aW9uc05vdGlmaWNhdGlvbkV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RpZmljYXRpb25FdmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBOb3RpZmljYXRpb25FdmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRub3RpZmljYXRpb25Db25maWd1cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEubm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbklkLFxuXHRcdFx0bm90aWZpY2F0aW9uRXZlbnRJZDogbWF0Y2guZ3JvdXBzIS5ub3RpZmljYXRpb25FdmVudElkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIG5vdGlmaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVDaGFubmVsOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlQ2hhbm5lbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpBc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWNjb3VudENvbnRhY3RcIixcblx0XHRcIm5vdGlmaWNhdGlvbnM6U3Vic2NyaWJlU2Vuc2l0aXZlRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbDogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkFzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BZGRpdGlvbmFsQ2hhbm5lbFwiLFxuXHRcdFwibm90aWZpY2F0aW9uczpTdWJzY3JpYmVTZW5zaXRpdmVFdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6QXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkNyZWF0ZUV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpDcmVhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdFx0XCJub3RpZmljYXRpb25zOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkRlbGV0ZUV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpEZWxldGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJOb3RpZmljYXRpb25IdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyTm90aWZpY2F0aW9uSHViOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RGVyZWdpc3Rlck5vdGlmaWNhdGlvbkh1YlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUNoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVDaGFubmVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkRpc2Fzc29jaWF0ZU1hbmFnZWROb3RpZmljYXRpb25BY2NvdW50Q29udGFjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpEaXNhc3NvY2lhdGVNYW5hZ2VkTm90aWZpY2F0aW9uQWRkaXRpb25hbENoYW5uZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RGlzYXNzb2NpYXRlT3JnYW5pemF0aW9uYWxVbml0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZU5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVOb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6RW5hYmxlTm90aWZpY2F0aW9uc0FjY2Vzc0Zvck9yZ2FuaXphdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFdmVudFJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV2ZW50UnVsZTogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkdldEV2ZW50UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpBY2Nlc3NTZW5zaXRpdmVFdmVudHNcIixcblx0XHRcIm5vdGlmaWNhdGlvbnM6R2V0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpHZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE5vdGlmaWNhdGlvbkV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXROb3RpZmljYXRpb25FdmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkdldE5vdGlmaWNhdGlvbkV2ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE5vdGlmaWNhdGlvbnNBY2Nlc3NGb3JPcmdhbml6YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpHZXROb3RpZmljYXRpb25zQWNjZXNzRm9yT3JnYW5pemF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDaGFubmVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGFubmVsczogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkxpc3RDaGFubmVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2ZW50UnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRSdWxlczogc3RyaW5nW10gPSBbXCJub3RpZmljYXRpb25zOkxpc3RFdmVudFJ1bGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoYW5uZWxBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoYW5uZWxBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoYW5uZWxBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hbmFnZWROb3RpZmljYXRpb25DaGlsZEV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ2hpbGRFdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNoaWxkRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE1hbmFnZWROb3RpZmljYXRpb25Db25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFuYWdlZE5vdGlmaWNhdGlvbkV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6QWNjZXNzU2Vuc2l0aXZlRXZlbnRzXCIsXG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RNYW5hZ2VkTm90aWZpY2F0aW9uRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1iZXJBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1iZXJBY2NvdW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOkxpc3RNZW1iZXJBY2NvdW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGlmaWNhdGlvbkV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZmljYXRpb25FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb3RpZmljYXRpb25IdWJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGlmaWNhdGlvbkh1YnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0Tm90aWZpY2F0aW9uSHVic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3JnYW5pemF0aW9uYWxVbml0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcmdhbml6YXRpb25hbFVuaXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm5vdGlmaWNhdGlvbnM6TGlzdE9yZ2FuaXphdGlvbmFsVW5pdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyTm90aWZpY2F0aW9uSHViIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJOb3RpZmljYXRpb25IdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwibm90aWZpY2F0aW9uczpSZWdpc3Rlck5vdGlmaWNhdGlvbkh1YlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcIm5vdGlmaWNhdGlvbnM6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcIm5vdGlmaWNhdGlvbnM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXZlbnRSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXZlbnRSdWxlOiBzdHJpbmdbXSA9IFtcIm5vdGlmaWNhdGlvbnM6VXBkYXRlRXZlbnRSdWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJub3RpZmljYXRpb25zOlVwZGF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIG5vdGlmaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cbn1cbiJdfQ==
@@ -16,7 +16,7 @@ class NovaActActions {
16
16
  }
17
17
  exports.NovaActActions = NovaActActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- NovaActActions[_a] = { fqn: "@cdk_utils/iam.nova_act.NovaActActions", version: "1.23.0" };
19
+ NovaActActions[_a] = { fqn: "@cdk_utils/iam.nova_act.NovaActActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  NovaActActions.SERVICE_PREFIX = "nova-act";
22
22
  /** [Write] nova-act:CreateAct */
@@ -146,7 +146,7 @@ class NovaActResources {
146
146
  }
147
147
  exports.NovaActResources = NovaActResources;
148
148
  _b = JSII_RTTI_SYMBOL_1;
149
- NovaActResources[_b] = { fqn: "@cdk_utils/iam.nova_act.NovaActResources", version: "1.23.0" };
149
+ NovaActResources[_b] = { fqn: "@cdk_utils/iam.nova_act.NovaActResources", version: "1.25.0" };
150
150
  /**
151
151
  * API operation to required IAM actions mapping for nova-act.
152
152
  */
@@ -154,7 +154,7 @@ class NovaActOperations {
154
154
  }
155
155
  exports.NovaActOperations = NovaActOperations;
156
156
  _c = JSII_RTTI_SYMBOL_1;
157
- NovaActOperations[_c] = { fqn: "@cdk_utils/iam.nova_act.NovaActOperations", version: "1.23.0" };
157
+ NovaActOperations[_c] = { fqn: "@cdk_utils/iam.nova_act.NovaActOperations", version: "1.25.0" };
158
158
  /** IAM actions required for the CreateAct API call. */
159
159
  NovaActOperations.CreateAct = ["nova-act:CreateAct"];
160
160
  /** IAM actions required for the CreateSession API call. */
@@ -16,7 +16,7 @@ class OamActions {
16
16
  }
17
17
  exports.OamActions = OamActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- OamActions[_a] = { fqn: "@cdk_utils/iam.oam.OamActions", version: "1.23.0" };
19
+ OamActions[_a] = { fqn: "@cdk_utils/iam.oam.OamActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  OamActions.SERVICE_PREFIX = "oam";
22
22
  /** [Write] oam:CreateLink */
@@ -142,7 +142,7 @@ class OamResources {
142
142
  }
143
143
  exports.OamResources = OamResources;
144
144
  _b = JSII_RTTI_SYMBOL_1;
145
- OamResources[_b] = { fqn: "@cdk_utils/iam.oam.OamResources", version: "1.23.0" };
145
+ OamResources[_b] = { fqn: "@cdk_utils/iam.oam.OamResources", version: "1.25.0" };
146
146
  /**
147
147
  * API operation to required IAM actions mapping for oam.
148
148
  */
@@ -150,7 +150,7 @@ class OamOperations {
150
150
  }
151
151
  exports.OamOperations = OamOperations;
152
152
  _c = JSII_RTTI_SYMBOL_1;
153
- OamOperations[_c] = { fqn: "@cdk_utils/iam.oam.OamOperations", version: "1.23.0" };
153
+ OamOperations[_c] = { fqn: "@cdk_utils/iam.oam.OamOperations", version: "1.25.0" };
154
154
  /** IAM actions required for the CreateLink API call. */
155
155
  OamOperations.CreateLink = [];
156
156
  /** IAM actions required for the CreateSink API call. */
@@ -212,7 +212,7 @@ class OamConditions {
212
212
  }
213
213
  exports.OamConditions = OamConditions;
214
214
  _d = JSII_RTTI_SYMBOL_1;
215
- OamConditions[_d] = { fqn: "@cdk_utils/iam.oam.OamConditions", version: "1.23.0" };
215
+ OamConditions[_d] = { fqn: "@cdk_utils/iam.oam.OamConditions", version: "1.25.0" };
216
216
  /** Condition keys applicable to the CreateLink action. */
217
217
  OamConditions.CreateLinkConditionKeys = [
218
218
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class ObservabilityadminActions {
16
16
  }
17
17
  exports.ObservabilityadminActions = ObservabilityadminActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ObservabilityadminActions[_a] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminActions", version: "1.23.0" };
19
+ ObservabilityadminActions[_a] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  ObservabilityadminActions.SERVICE_PREFIX = "observabilityadmin";
22
22
  /** [Write] observabilityadmin:CreateCentralizationRuleForOrganization */
@@ -305,7 +305,7 @@ class ObservabilityadminResources {
305
305
  }
306
306
  exports.ObservabilityadminResources = ObservabilityadminResources;
307
307
  _b = JSII_RTTI_SYMBOL_1;
308
- ObservabilityadminResources[_b] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminResources", version: "1.23.0" };
308
+ ObservabilityadminResources[_b] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminResources", version: "1.25.0" };
309
309
  /**
310
310
  * API operation to required IAM actions mapping for observabilityadmin.
311
311
  */
@@ -313,7 +313,7 @@ class ObservabilityadminOperations {
313
313
  }
314
314
  exports.ObservabilityadminOperations = ObservabilityadminOperations;
315
315
  _c = JSII_RTTI_SYMBOL_1;
316
- ObservabilityadminOperations[_c] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminOperations", version: "1.23.0" };
316
+ ObservabilityadminOperations[_c] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminOperations", version: "1.25.0" };
317
317
  /** IAM actions required for the CreateCentralizationRuleForOrganization API call. */
318
318
  ObservabilityadminOperations.CreateCentralizationRuleForOrganization = [
319
319
  "observabilityadmin:CreateCentralizationRuleForOrganization",
@@ -576,7 +576,7 @@ class ObservabilityadminConditions {
576
576
  }
577
577
  exports.ObservabilityadminConditions = ObservabilityadminConditions;
578
578
  _d = JSII_RTTI_SYMBOL_1;
579
- ObservabilityadminConditions[_d] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminConditions", version: "1.23.0" };
579
+ ObservabilityadminConditions[_d] = { fqn: "@cdk_utils/iam.observabilityadmin.ObservabilityadminConditions", version: "1.25.0" };
580
580
  /** Condition keys applicable to the CreateCentralizationRuleForOrganization action. */
581
581
  ObservabilityadminConditions.CreateCentralizationRuleForOrganizationConditionKeys = [
582
582
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class OdbActions {
16
16
  }
17
17
  exports.OdbActions = OdbActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- OdbActions[_a] = { fqn: "@cdk_utils/iam.odb.OdbActions", version: "1.23.0" };
19
+ OdbActions[_a] = { fqn: "@cdk_utils/iam.odb.OdbActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  OdbActions.SERVICE_PREFIX = "odb";
22
22
  /** [Write] odb:AcceptMarketplaceRegistration */
@@ -600,7 +600,7 @@ class OdbResources {
600
600
  }
601
601
  exports.OdbResources = OdbResources;
602
602
  _b = JSII_RTTI_SYMBOL_1;
603
- OdbResources[_b] = { fqn: "@cdk_utils/iam.odb.OdbResources", version: "1.23.0" };
603
+ OdbResources[_b] = { fqn: "@cdk_utils/iam.odb.OdbResources", version: "1.25.0" };
604
604
  /**
605
605
  * API operation to required IAM actions mapping for odb.
606
606
  */
@@ -608,7 +608,7 @@ class OdbOperations {
608
608
  }
609
609
  exports.OdbOperations = OdbOperations;
610
610
  _c = JSII_RTTI_SYMBOL_1;
611
- OdbOperations[_c] = { fqn: "@cdk_utils/iam.odb.OdbOperations", version: "1.23.0" };
611
+ OdbOperations[_c] = { fqn: "@cdk_utils/iam.odb.OdbOperations", version: "1.25.0" };
612
612
  /** IAM actions required for the AcceptMarketplaceRegistration API call. */
613
613
  OdbOperations.AcceptMarketplaceRegistration = [
614
614
  "odb:AcceptMarketplaceRegistration",
@@ -912,7 +912,7 @@ class OdbConditions {
912
912
  }
913
913
  exports.OdbConditions = OdbConditions;
914
914
  _d = JSII_RTTI_SYMBOL_1;
915
- OdbConditions[_d] = { fqn: "@cdk_utils/iam.odb.OdbConditions", version: "1.23.0" };
915
+ OdbConditions[_d] = { fqn: "@cdk_utils/iam.odb.OdbConditions", version: "1.25.0" };
916
916
  /** Condition keys applicable to the CreateAutonomousDatabase action. */
917
917
  OdbConditions.CreateAutonomousDatabaseConditionKeys = [
918
918
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class OmicsActions {
16
16
  }
17
17
  exports.OmicsActions = OmicsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- OmicsActions[_a] = { fqn: "@cdk_utils/iam.omics.OmicsActions", version: "1.23.0" };
19
+ OmicsActions[_a] = { fqn: "@cdk_utils/iam.omics.OmicsActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  OmicsActions.SERVICE_PREFIX = "omics";
22
22
  /** [Write] omics:AbortMultipartReadSetUpload */
@@ -800,7 +800,7 @@ class OmicsResources {
800
800
  }
801
801
  exports.OmicsResources = OmicsResources;
802
802
  _b = JSII_RTTI_SYMBOL_1;
803
- OmicsResources[_b] = { fqn: "@cdk_utils/iam.omics.OmicsResources", version: "1.23.0" };
803
+ OmicsResources[_b] = { fqn: "@cdk_utils/iam.omics.OmicsResources", version: "1.25.0" };
804
804
  /**
805
805
  * API operation to required IAM actions mapping for omics.
806
806
  */
@@ -808,7 +808,7 @@ class OmicsOperations {
808
808
  }
809
809
  exports.OmicsOperations = OmicsOperations;
810
810
  _c = JSII_RTTI_SYMBOL_1;
811
- OmicsOperations[_c] = { fqn: "@cdk_utils/iam.omics.OmicsOperations", version: "1.23.0" };
811
+ OmicsOperations[_c] = { fqn: "@cdk_utils/iam.omics.OmicsOperations", version: "1.25.0" };
812
812
  /** IAM actions required for the AbortMultipartReadSetUpload API call. */
813
813
  OmicsOperations.AbortMultipartReadSetUpload = [
814
814
  "omics:AbortMultipartReadSetUpload",
@@ -1177,7 +1177,7 @@ class OmicsConditions {
1177
1177
  }
1178
1178
  exports.OmicsConditions = OmicsConditions;
1179
1179
  _d = JSII_RTTI_SYMBOL_1;
1180
- OmicsConditions[_d] = { fqn: "@cdk_utils/iam.omics.OmicsConditions", version: "1.23.0" };
1180
+ OmicsConditions[_d] = { fqn: "@cdk_utils/iam.omics.OmicsConditions", version: "1.25.0" };
1181
1181
  /** Condition keys applicable to the CreateAnnotationStore action. */
1182
1182
  OmicsConditions.CreateAnnotationStoreConditionKeys = [
1183
1183
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class OneActions {
16
16
  }
17
17
  exports.OneActions = OneActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- OneActions[_a] = { fqn: "@cdk_utils/iam.one.OneActions", version: "1.23.0" };
19
+ OneActions[_a] = { fqn: "@cdk_utils/iam.one.OneActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  OneActions.SERVICE_PREFIX = "one";
22
22
  /** [Write] one:CreateDeviceActivationQrCode */
@@ -270,7 +270,7 @@ class OneResources {
270
270
  }
271
271
  exports.OneResources = OneResources;
272
272
  _b = JSII_RTTI_SYMBOL_1;
273
- OneResources[_b] = { fqn: "@cdk_utils/iam.one.OneResources", version: "1.23.0" };
273
+ OneResources[_b] = { fqn: "@cdk_utils/iam.one.OneResources", version: "1.25.0" };
274
274
  /**
275
275
  * Condition key constants and builders for one.
276
276
  */
@@ -296,7 +296,7 @@ class OneConditions {
296
296
  }
297
297
  exports.OneConditions = OneConditions;
298
298
  _c = JSII_RTTI_SYMBOL_1;
299
- OneConditions[_c] = { fqn: "@cdk_utils/iam.one.OneConditions", version: "1.23.0" };
299
+ OneConditions[_c] = { fqn: "@cdk_utils/iam.one.OneConditions", version: "1.25.0" };
300
300
  /** Condition keys applicable to the CreateDeviceActivationQrCode action. */
301
301
  OneConditions.CreateDeviceActivationQrCodeConditionKeys = [
302
302
  "aws:ResourceTag/${TagKey}",
@@ -16,7 +16,7 @@ class OpenSearchActions {
16
16
  }
17
17
  exports.OpenSearchActions = OpenSearchActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- OpenSearchActions[_a] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchActions", version: "1.23.0" };
19
+ OpenSearchActions[_a] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  OpenSearchActions.SERVICE_PREFIX = "opensearch";
22
22
  /** [PermissionManagement] opensearch:ApplicationAccessAll */
@@ -131,7 +131,7 @@ class OpenSearchResources {
131
131
  }
132
132
  exports.OpenSearchResources = OpenSearchResources;
133
133
  _b = JSII_RTTI_SYMBOL_1;
134
- OpenSearchResources[_b] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchResources", version: "1.23.0" };
134
+ OpenSearchResources[_b] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchResources", version: "1.25.0" };
135
135
  /**
136
136
  * API operation to required IAM actions mapping for opensearch.
137
137
  */
@@ -139,7 +139,7 @@ class OpenSearchOperations {
139
139
  }
140
140
  exports.OpenSearchOperations = OpenSearchOperations;
141
141
  _c = JSII_RTTI_SYMBOL_1;
142
- OpenSearchOperations[_c] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchOperations", version: "1.23.0" };
142
+ OpenSearchOperations[_c] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchOperations", version: "1.25.0" };
143
143
  /** IAM actions required for the AcceptInboundConnection API call. */
144
144
  OpenSearchOperations.AcceptInboundConnection = [
145
145
  "es:AcceptInboundConnection",