@cdk_utils/iam 1.5.0 → 1.7.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 (465) hide show
  1. package/.jsii +9280 -7917
  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.d.ts +4 -0
  51. package/lib/generated/services/aws-marketplace.js +13 -5
  52. package/lib/generated/services/aws-portal.js +1 -1
  53. package/lib/generated/services/awsconnector.js +1 -1
  54. package/lib/generated/services/b2bi.js +4 -4
  55. package/lib/generated/services/backup-gateway.js +4 -4
  56. package/lib/generated/services/backup-search.js +4 -4
  57. package/lib/generated/services/backup-storage.js +1 -1
  58. package/lib/generated/services/backup.js +4 -4
  59. package/lib/generated/services/batch.js +4 -4
  60. package/lib/generated/services/bcm-dashboards.js +4 -4
  61. package/lib/generated/services/bcm-data-exports.js +4 -4
  62. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  63. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  64. package/lib/generated/services/bedrock-agentcore.js +4 -4
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.d.ts +4 -0
  68. package/lib/generated/services/bedrock.js +11 -5
  69. package/lib/generated/services/billing.js +4 -4
  70. package/lib/generated/services/billingconductor.js +4 -4
  71. package/lib/generated/services/braket.js +4 -4
  72. package/lib/generated/services/budgets.js +4 -4
  73. package/lib/generated/services/bugbust.js +3 -3
  74. package/lib/generated/services/cases.js +4 -4
  75. package/lib/generated/services/cassandra.js +4 -4
  76. package/lib/generated/services/ce.js +4 -4
  77. package/lib/generated/services/chatbot.js +4 -4
  78. package/lib/generated/services/chime.js +4 -4
  79. package/lib/generated/services/cleanrooms-ml.js +4 -4
  80. package/lib/generated/services/cleanrooms.js +4 -4
  81. package/lib/generated/services/cloud9.js +4 -4
  82. package/lib/generated/services/clouddirectory.js +3 -3
  83. package/lib/generated/services/cloudformation.js +4 -4
  84. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  85. package/lib/generated/services/cloudfront.js +4 -4
  86. package/lib/generated/services/cloudhsm.js +4 -4
  87. package/lib/generated/services/cloudsearch.js +3 -3
  88. package/lib/generated/services/cloudshell.js +3 -3
  89. package/lib/generated/services/cloudtrail-data.js +4 -4
  90. package/lib/generated/services/cloudtrail.js +4 -4
  91. package/lib/generated/services/cloudwatch.js +4 -4
  92. package/lib/generated/services/codeartifact.js +4 -4
  93. package/lib/generated/services/codebuild.js +4 -4
  94. package/lib/generated/services/codecatalyst.js +4 -4
  95. package/lib/generated/services/codecommit.js +4 -4
  96. package/lib/generated/services/codeconnections.js +4 -4
  97. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  98. package/lib/generated/services/codedeploy.js +4 -4
  99. package/lib/generated/services/codeguru-profiler.js +4 -4
  100. package/lib/generated/services/codeguru-reviewer.js +4 -4
  101. package/lib/generated/services/codeguru-security.js +4 -4
  102. package/lib/generated/services/codeguru.js +1 -1
  103. package/lib/generated/services/codepipeline.js +4 -4
  104. package/lib/generated/services/codestar-connections.js +4 -4
  105. package/lib/generated/services/codestar-notifications.js +4 -4
  106. package/lib/generated/services/codestar.js +3 -3
  107. package/lib/generated/services/codewhisperer.js +3 -3
  108. package/lib/generated/services/cognito-identity.js +4 -4
  109. package/lib/generated/services/cognito-idp.js +4 -4
  110. package/lib/generated/services/cognito-sync.js +3 -3
  111. package/lib/generated/services/comprehend.js +4 -4
  112. package/lib/generated/services/comprehendmedical.js +3 -3
  113. package/lib/generated/services/compute-optimizer.js +3 -3
  114. package/lib/generated/services/config.js +4 -4
  115. package/lib/generated/services/connect-campaigns.js +4 -4
  116. package/lib/generated/services/connect.js +9 -6
  117. package/lib/generated/services/consoleapp.js +2 -2
  118. package/lib/generated/services/consolidatedbilling.js +1 -1
  119. package/lib/generated/services/controlcatalog.js +3 -3
  120. package/lib/generated/services/controltower.js +4 -4
  121. package/lib/generated/services/cost-optimization-hub.js +2 -2
  122. package/lib/generated/services/cur.js +4 -4
  123. package/lib/generated/services/customer-verification.js +1 -1
  124. package/lib/generated/services/databrew.js +4 -4
  125. package/lib/generated/services/dataexchange.js +11 -6
  126. package/lib/generated/services/datapipeline.js +4 -4
  127. package/lib/generated/services/datasync.js +4 -4
  128. package/lib/generated/services/datazone.js +4 -4
  129. package/lib/generated/services/dax.js +4 -4
  130. package/lib/generated/services/dbqms.js +1 -1
  131. package/lib/generated/services/deadline.js +4 -4
  132. package/lib/generated/services/detective.js +4 -4
  133. package/lib/generated/services/devicefarm.js +4 -4
  134. package/lib/generated/services/devops-guru.js +4 -4
  135. package/lib/generated/services/directconnect.js +4 -4
  136. package/lib/generated/services/discovery.js +3 -3
  137. package/lib/generated/services/dlm.js +4 -4
  138. package/lib/generated/services/dms.js +4 -4
  139. package/lib/generated/services/docdb-elastic.js +4 -4
  140. package/lib/generated/services/drs.js +17 -9
  141. package/lib/generated/services/ds-data.js +4 -4
  142. package/lib/generated/services/ds.js +4 -4
  143. package/lib/generated/services/dsql.js +4 -4
  144. package/lib/generated/services/dynamodb.js +4 -4
  145. package/lib/generated/services/ebs.js +4 -4
  146. package/lib/generated/services/ec2-instance-connect.js +4 -4
  147. package/lib/generated/services/ec2.d.ts +95 -0
  148. package/lib/generated/services/ec2.js +161 -19
  149. package/lib/generated/services/ec2messages.js +2 -2
  150. package/lib/generated/services/ecr-public.js +4 -4
  151. package/lib/generated/services/ecr.js +4 -4
  152. package/lib/generated/services/ecs-mcp.js +1 -1
  153. package/lib/generated/services/ecs.js +4 -4
  154. package/lib/generated/services/eks-auth.js +4 -4
  155. package/lib/generated/services/eks-mcp.js +1 -1
  156. package/lib/generated/services/eks.d.ts +20 -0
  157. package/lib/generated/services/eks.js +40 -5
  158. package/lib/generated/services/elasticache.js +4 -4
  159. package/lib/generated/services/elasticbeanstalk.js +4 -4
  160. package/lib/generated/services/elasticfilesystem.js +4 -4
  161. package/lib/generated/services/elasticloadbalancing.js +4 -4
  162. package/lib/generated/services/elasticmapreduce.js +4 -4
  163. package/lib/generated/services/elastictranscoder.js +2 -2
  164. package/lib/generated/services/elemental-activations.js +1 -1
  165. package/lib/generated/services/elemental-appliances-software.js +2 -2
  166. package/lib/generated/services/elemental-inference.js +4 -4
  167. package/lib/generated/services/elemental-support-cases.js +3 -3
  168. package/lib/generated/services/elemental-support-content.js +1 -1
  169. package/lib/generated/services/emr-containers.js +4 -4
  170. package/lib/generated/services/emr-serverless.js +4 -4
  171. package/lib/generated/services/entityresolution.js +4 -4
  172. package/lib/generated/services/es.js +4 -4
  173. package/lib/generated/services/events.js +4 -4
  174. package/lib/generated/services/eventsbilltoaws.js +3 -3
  175. package/lib/generated/services/evidently.js +3 -3
  176. package/lib/generated/services/evs.js +4 -4
  177. package/lib/generated/services/execute-api.js +4 -4
  178. package/lib/generated/services/finops-agent.js +1 -1
  179. package/lib/generated/services/finspace-api.js +3 -3
  180. package/lib/generated/services/finspace.js +4 -4
  181. package/lib/generated/services/firehose.js +4 -4
  182. package/lib/generated/services/fis.js +4 -4
  183. package/lib/generated/services/fms.js +4 -4
  184. package/lib/generated/services/forecast.js +4 -4
  185. package/lib/generated/services/frauddetector.js +4 -4
  186. package/lib/generated/services/freertos.js +3 -3
  187. package/lib/generated/services/freetier.js +2 -2
  188. package/lib/generated/services/fsx.js +4 -4
  189. package/lib/generated/services/gamelift.js +4 -4
  190. package/lib/generated/services/gameliftstreams.js +4 -4
  191. package/lib/generated/services/geo-maps.js +3 -3
  192. package/lib/generated/services/geo-places.js +3 -3
  193. package/lib/generated/services/geo-routes.js +3 -3
  194. package/lib/generated/services/geo.js +4 -4
  195. package/lib/generated/services/glacier.js +4 -4
  196. package/lib/generated/services/globalaccelerator.js +4 -4
  197. package/lib/generated/services/glue.js +4 -4
  198. package/lib/generated/services/grafana.js +4 -4
  199. package/lib/generated/services/greengrass.js +4 -4
  200. package/lib/generated/services/groundstation.js +4 -4
  201. package/lib/generated/services/groundtruthlabeling.js +1 -1
  202. package/lib/generated/services/guardduty.js +4 -4
  203. package/lib/generated/services/health-agent.js +4 -4
  204. package/lib/generated/services/health.js +4 -4
  205. package/lib/generated/services/healthlake.d.ts +4 -0
  206. package/lib/generated/services/healthlake.js +11 -5
  207. package/lib/generated/services/honeycode.js +2 -2
  208. package/lib/generated/services/iam.js +4 -4
  209. package/lib/generated/services/identity-sync.js +2 -2
  210. package/lib/generated/services/identitystore-auth.js +1 -1
  211. package/lib/generated/services/identitystore.js +4 -4
  212. package/lib/generated/services/imagebuilder.js +4 -4
  213. package/lib/generated/services/importexport.js +2 -2
  214. package/lib/generated/services/inspector-scan.js +2 -2
  215. package/lib/generated/services/inspector.js +2 -2
  216. package/lib/generated/services/inspector2-telemetry.js +1 -1
  217. package/lib/generated/services/inspector2.js +4 -4
  218. package/lib/generated/services/interconnect.js +4 -4
  219. package/lib/generated/services/internetmonitor.js +4 -4
  220. package/lib/generated/services/invoicing.js +4 -4
  221. package/lib/generated/services/iot-device-tester.js +1 -1
  222. package/lib/generated/services/iot.js +4 -4
  223. package/lib/generated/services/iotanalytics.js +3 -3
  224. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  225. package/lib/generated/services/iotevents.js +3 -3
  226. package/lib/generated/services/iotfleethub.js +3 -3
  227. package/lib/generated/services/iotfleetwise.js +4 -4
  228. package/lib/generated/services/iotjobsdata.js +4 -4
  229. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  230. package/lib/generated/services/iotsitewise.js +4 -4
  231. package/lib/generated/services/iottwinmaker.js +4 -4
  232. package/lib/generated/services/iotwireless.js +4 -4
  233. package/lib/generated/services/iq-permission.js +2 -2
  234. package/lib/generated/services/iq.js +2 -2
  235. package/lib/generated/services/ivs.js +4 -4
  236. package/lib/generated/services/ivschat.js +4 -4
  237. package/lib/generated/services/kafka-cluster.js +3 -3
  238. package/lib/generated/services/kafka.js +4 -4
  239. package/lib/generated/services/kafkaconnect.js +4 -4
  240. package/lib/generated/services/kendra-ranking.js +4 -4
  241. package/lib/generated/services/kendra.js +4 -4
  242. package/lib/generated/services/kinesis.js +4 -4
  243. package/lib/generated/services/kinesisanalytics.js +4 -4
  244. package/lib/generated/services/kinesisvideo.js +4 -4
  245. package/lib/generated/services/kms.js +4 -4
  246. package/lib/generated/services/lakeformation.js +3 -3
  247. package/lib/generated/services/lambda.js +4 -4
  248. package/lib/generated/services/launchwizard.js +4 -4
  249. package/lib/generated/services/lex.js +4 -4
  250. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  252. package/lib/generated/services/license-manager.js +4 -4
  253. package/lib/generated/services/lightsail.js +4 -4
  254. package/lib/generated/services/logs.js +4 -4
  255. package/lib/generated/services/lookoutequipment.js +4 -4
  256. package/lib/generated/services/lookoutmetrics.js +3 -3
  257. package/lib/generated/services/lookoutvision.js +3 -3
  258. package/lib/generated/services/m2.js +4 -4
  259. package/lib/generated/services/machinelearning.js +3 -3
  260. package/lib/generated/services/macie2.js +4 -4
  261. package/lib/generated/services/managedblockchain-query.js +2 -2
  262. package/lib/generated/services/managedblockchain.js +4 -4
  263. package/lib/generated/services/mapcredits.js +2 -2
  264. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  265. package/lib/generated/services/mechanicalturk.js +2 -2
  266. package/lib/generated/services/mediaconnect.js +4 -4
  267. package/lib/generated/services/mediaconvert.js +4 -4
  268. package/lib/generated/services/mediaimport.js +1 -1
  269. package/lib/generated/services/medialive.js +4 -4
  270. package/lib/generated/services/mediapackage-vod.js +4 -4
  271. package/lib/generated/services/mediapackage.js +4 -4
  272. package/lib/generated/services/mediapackagev2.js +4 -4
  273. package/lib/generated/services/mediastore.js +4 -4
  274. package/lib/generated/services/mediatailor.js +4 -4
  275. package/lib/generated/services/medical-imaging.js +4 -4
  276. package/lib/generated/services/memorydb.js +4 -4
  277. package/lib/generated/services/mgh.js +4 -4
  278. package/lib/generated/services/mgn.js +4 -4
  279. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  280. package/lib/generated/services/migrationhub-strategy.js +2 -2
  281. package/lib/generated/services/mobileanalytics.js +1 -1
  282. package/lib/generated/services/mobiletargeting.js +4 -4
  283. package/lib/generated/services/monitron.js +3 -3
  284. package/lib/generated/services/mpa.js +4 -4
  285. package/lib/generated/services/mq.js +4 -4
  286. package/lib/generated/services/neptune-db.js +4 -4
  287. package/lib/generated/services/neptune-graph.js +4 -4
  288. package/lib/generated/services/network-firewall.js +4 -4
  289. package/lib/generated/services/network-security-director.js +1 -1
  290. package/lib/generated/services/networkflowmonitor.js +4 -4
  291. package/lib/generated/services/networkmanager-chat.js +1 -1
  292. package/lib/generated/services/networkmanager.js +4 -4
  293. package/lib/generated/services/networkmonitor.js +4 -4
  294. package/lib/generated/services/nimble.js +3 -3
  295. package/lib/generated/services/notifications-contacts.js +4 -4
  296. package/lib/generated/services/notifications.js +4 -4
  297. package/lib/generated/services/nova-act.js +3 -3
  298. package/lib/generated/services/oam.js +4 -4
  299. package/lib/generated/services/observabilityadmin.js +4 -4
  300. package/lib/generated/services/odb.js +4 -4
  301. package/lib/generated/services/omics.js +4 -4
  302. package/lib/generated/services/one.js +3 -3
  303. package/lib/generated/services/opensearch.js +3 -3
  304. package/lib/generated/services/opsworks-cm.js +2 -2
  305. package/lib/generated/services/opsworks.js +2 -2
  306. package/lib/generated/services/organizations.js +4 -4
  307. package/lib/generated/services/osis.js +4 -4
  308. package/lib/generated/services/outposts.d.ts +4 -0
  309. package/lib/generated/services/outposts.js +13 -5
  310. package/lib/generated/services/panorama.js +3 -3
  311. package/lib/generated/services/partnercentral-account-management.js +2 -2
  312. package/lib/generated/services/partnercentral.js +4 -4
  313. package/lib/generated/services/payment-cryptography.js +4 -4
  314. package/lib/generated/services/payments.js +3 -3
  315. package/lib/generated/services/pca-connector-ad.js +4 -4
  316. package/lib/generated/services/pca-connector-scep.js +4 -4
  317. package/lib/generated/services/pcs.js +4 -4
  318. package/lib/generated/services/personalize.js +4 -4
  319. package/lib/generated/services/pi.js +4 -4
  320. package/lib/generated/services/pipes.js +4 -4
  321. package/lib/generated/services/polly.js +3 -3
  322. package/lib/generated/services/pricing.js +2 -2
  323. package/lib/generated/services/pricingplanmanager.js +3 -3
  324. package/lib/generated/services/private-networks.js +3 -3
  325. package/lib/generated/services/profile.js +4 -4
  326. package/lib/generated/services/proton.js +4 -4
  327. package/lib/generated/services/purchase-orders.js +3 -3
  328. package/lib/generated/services/q.js +3 -3
  329. package/lib/generated/services/qapps.js +4 -4
  330. package/lib/generated/services/qbusiness.js +4 -4
  331. package/lib/generated/services/qdeveloper.js +3 -3
  332. package/lib/generated/services/qldb.js +3 -3
  333. package/lib/generated/services/quicksight.js +9 -6
  334. package/lib/generated/services/ram.js +4 -4
  335. package/lib/generated/services/rbin.js +4 -4
  336. package/lib/generated/services/rds-data.js +4 -4
  337. package/lib/generated/services/rds-db.js +2 -2
  338. package/lib/generated/services/rds.js +4 -4
  339. package/lib/generated/services/redshift-data.js +4 -4
  340. package/lib/generated/services/redshift-serverless.js +4 -4
  341. package/lib/generated/services/redshift.js +4 -4
  342. package/lib/generated/services/refactor-spaces.js +4 -4
  343. package/lib/generated/services/rekognition.js +4 -4
  344. package/lib/generated/services/repostspace.js +4 -4
  345. package/lib/generated/services/researchstudio.js +1 -1
  346. package/lib/generated/services/resiliencehub.js +4 -4
  347. package/lib/generated/services/resource-explorer-2.js +4 -4
  348. package/lib/generated/services/resource-explorer.js +1 -1
  349. package/lib/generated/services/resource-groups.js +4 -4
  350. package/lib/generated/services/rhelkb.js +1 -1
  351. package/lib/generated/services/robomaker.js +3 -3
  352. package/lib/generated/services/rolesanywhere.js +4 -4
  353. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  354. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  355. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  356. package/lib/generated/services/route53.js +4 -4
  357. package/lib/generated/services/route53domains.js +2 -2
  358. package/lib/generated/services/route53globalresolver.js +4 -4
  359. package/lib/generated/services/route53profiles.js +4 -4
  360. package/lib/generated/services/route53resolver.js +4 -4
  361. package/lib/generated/services/rtbfabric.js +4 -4
  362. package/lib/generated/services/rum.js +4 -4
  363. package/lib/generated/services/s3-object-lambda.js +3 -3
  364. package/lib/generated/services/s3-outposts.js +4 -4
  365. package/lib/generated/services/s3.js +4 -4
  366. package/lib/generated/services/s3express.js +3 -3
  367. package/lib/generated/services/s3files.js +4 -4
  368. package/lib/generated/services/s3tables.js +4 -4
  369. package/lib/generated/services/s3vectors.js +4 -4
  370. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  371. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  372. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  373. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  374. package/lib/generated/services/sagemaker.js +4 -4
  375. package/lib/generated/services/savingsplans.js +4 -4
  376. package/lib/generated/services/scheduler.js +4 -4
  377. package/lib/generated/services/schemas.js +4 -4
  378. package/lib/generated/services/scn.js +4 -4
  379. package/lib/generated/services/sdb.js +3 -3
  380. package/lib/generated/services/secretsmanager.js +4 -4
  381. package/lib/generated/services/security-ir.js +4 -4
  382. package/lib/generated/services/securityagent.js +4 -4
  383. package/lib/generated/services/securityhub.js +4 -4
  384. package/lib/generated/services/securitylake.js +4 -4
  385. package/lib/generated/services/serverlessrepo.js +4 -4
  386. package/lib/generated/services/servicecatalog.js +4 -4
  387. package/lib/generated/services/servicediscovery.js +4 -4
  388. package/lib/generated/services/serviceextract.js +1 -1
  389. package/lib/generated/services/servicequotas.js +4 -4
  390. package/lib/generated/services/ses.js +4 -4
  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.d.ts +20 -0
  409. package/lib/generated/services/ssm.js +39 -5
  410. package/lib/generated/services/ssmmessages.js +2 -2
  411. package/lib/generated/services/sso-directory.js +1 -1
  412. package/lib/generated/services/sso-oauth.js +3 -3
  413. package/lib/generated/services/sso.js +4 -4
  414. package/lib/generated/services/states.js +4 -4
  415. package/lib/generated/services/storagegateway.js +4 -4
  416. package/lib/generated/services/sts.js +4 -4
  417. package/lib/generated/services/support-console.js +1 -1
  418. package/lib/generated/services/support.js +2 -2
  419. package/lib/generated/services/supportapp.js +2 -2
  420. package/lib/generated/services/supportauthz.js +4 -4
  421. package/lib/generated/services/supportplans.js +1 -1
  422. package/lib/generated/services/sustainability.js +2 -2
  423. package/lib/generated/services/swf.js +4 -4
  424. package/lib/generated/services/synthetics.js +4 -4
  425. package/lib/generated/services/tag.js +2 -2
  426. package/lib/generated/services/tax.js +2 -2
  427. package/lib/generated/services/textract.js +4 -4
  428. package/lib/generated/services/thinclient.js +4 -4
  429. package/lib/generated/services/timestream-influxdb.js +4 -4
  430. package/lib/generated/services/timestream.js +4 -4
  431. package/lib/generated/services/tiros.js +1 -1
  432. package/lib/generated/services/tnb.js +4 -4
  433. package/lib/generated/services/transcribe.js +4 -4
  434. package/lib/generated/services/transfer.js +4 -4
  435. package/lib/generated/services/transform-custom.js +3 -3
  436. package/lib/generated/services/transform.js +3 -3
  437. package/lib/generated/services/translate.js +4 -4
  438. package/lib/generated/services/trustedadvisor.js +3 -3
  439. package/lib/generated/services/ts.js +3 -3
  440. package/lib/generated/services/user-subscriptions.js +2 -2
  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.d.ts +4 -0
  463. package/lib/generated/services/workspaces.js +11 -5
  464. package/lib/generated/services/xray.js +4 -4
  465. package/package.json +1 -1
@@ -16,7 +16,7 @@ class GlacierActions {
16
16
  }
17
17
  exports.GlacierActions = GlacierActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GlacierActions[_a] = { fqn: "@cdk_utils/iam.glacier.GlacierActions", version: "1.5.0" };
19
+ GlacierActions[_a] = { fqn: "@cdk_utils/iam.glacier.GlacierActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GlacierActions.SERVICE_PREFIX = "glacier";
22
22
  /** [Write] glacier:AbortMultipartUpload */
@@ -169,7 +169,7 @@ class GlacierResources {
169
169
  }
170
170
  exports.GlacierResources = GlacierResources;
171
171
  _b = JSII_RTTI_SYMBOL_1;
172
- GlacierResources[_b] = { fqn: "@cdk_utils/iam.glacier.GlacierResources", version: "1.5.0" };
172
+ GlacierResources[_b] = { fqn: "@cdk_utils/iam.glacier.GlacierResources", version: "1.7.0" };
173
173
  /**
174
174
  * API operation to required IAM actions mapping for glacier.
175
175
  */
@@ -177,7 +177,7 @@ class GlacierOperations {
177
177
  }
178
178
  exports.GlacierOperations = GlacierOperations;
179
179
  _c = JSII_RTTI_SYMBOL_1;
180
- GlacierOperations[_c] = { fqn: "@cdk_utils/iam.glacier.GlacierOperations", version: "1.5.0" };
180
+ GlacierOperations[_c] = { fqn: "@cdk_utils/iam.glacier.GlacierOperations", version: "1.7.0" };
181
181
  /** IAM actions required for the AbortMultipartUpload API call. */
182
182
  GlacierOperations.AbortMultipartUpload = [
183
183
  "glacier:AbortMultipartUpload",
@@ -298,7 +298,7 @@ class GlacierConditions {
298
298
  }
299
299
  exports.GlacierConditions = GlacierConditions;
300
300
  _d = JSII_RTTI_SYMBOL_1;
301
- GlacierConditions[_d] = { fqn: "@cdk_utils/iam.glacier.GlacierConditions", version: "1.5.0" };
301
+ GlacierConditions[_d] = { fqn: "@cdk_utils/iam.glacier.GlacierConditions", version: "1.7.0" };
302
302
  /** Condition keys applicable to the DeleteArchive action. */
303
303
  GlacierConditions.DeleteArchiveConditionKeys = [
304
304
  "glacier:ArchiveAgeInDays",
@@ -16,7 +16,7 @@ class GlobalAcceleratorActions {
16
16
  }
17
17
  exports.GlobalAcceleratorActions = GlobalAcceleratorActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GlobalAcceleratorActions[_a] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorActions", version: "1.5.0" };
19
+ GlobalAcceleratorActions[_a] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GlobalAcceleratorActions.SERVICE_PREFIX = "globalaccelerator";
22
22
  /** [Write] globalaccelerator:AddCustomRoutingEndpoints */
@@ -323,7 +323,7 @@ class GlobalAcceleratorResources {
323
323
  }
324
324
  exports.GlobalAcceleratorResources = GlobalAcceleratorResources;
325
325
  _b = JSII_RTTI_SYMBOL_1;
326
- GlobalAcceleratorResources[_b] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorResources", version: "1.5.0" };
326
+ GlobalAcceleratorResources[_b] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorResources", version: "1.7.0" };
327
327
  /**
328
328
  * API operation to required IAM actions mapping for globalaccelerator.
329
329
  */
@@ -331,7 +331,7 @@ class GlobalAcceleratorOperations {
331
331
  }
332
332
  exports.GlobalAcceleratorOperations = GlobalAcceleratorOperations;
333
333
  _c = JSII_RTTI_SYMBOL_1;
334
- GlobalAcceleratorOperations[_c] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorOperations", version: "1.5.0" };
334
+ GlobalAcceleratorOperations[_c] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorOperations", version: "1.7.0" };
335
335
  /** IAM actions required for the AddCustomRoutingEndpoints API call. */
336
336
  GlobalAcceleratorOperations.AddCustomRoutingEndpoints = [
337
337
  "globalaccelerator:AddCustomRoutingEndpoints",
@@ -580,7 +580,7 @@ class GlobalAcceleratorConditions {
580
580
  }
581
581
  exports.GlobalAcceleratorConditions = GlobalAcceleratorConditions;
582
582
  _d = JSII_RTTI_SYMBOL_1;
583
- GlobalAcceleratorConditions[_d] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorConditions", version: "1.5.0" };
583
+ GlobalAcceleratorConditions[_d] = { fqn: "@cdk_utils/iam.globalaccelerator.GlobalAcceleratorConditions", version: "1.7.0" };
584
584
  /** Condition keys applicable to the CreateAccelerator action. */
585
585
  GlobalAcceleratorConditions.CreateAcceleratorConditionKeys = [
586
586
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class GlueActions {
16
16
  }
17
17
  exports.GlueActions = GlueActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GlueActions[_a] = { fqn: "@cdk_utils/iam.glue.GlueActions", version: "1.5.0" };
19
+ GlueActions[_a] = { fqn: "@cdk_utils/iam.glue.GlueActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GlueActions.SERVICE_PREFIX = "glue";
22
22
  /** [Read] glue:AccessDataQualityRuntimeConfiguration */
@@ -1653,7 +1653,7 @@ class GlueResources {
1653
1653
  }
1654
1654
  exports.GlueResources = GlueResources;
1655
1655
  _b = JSII_RTTI_SYMBOL_1;
1656
- GlueResources[_b] = { fqn: "@cdk_utils/iam.glue.GlueResources", version: "1.5.0" };
1656
+ GlueResources[_b] = { fqn: "@cdk_utils/iam.glue.GlueResources", version: "1.7.0" };
1657
1657
  /**
1658
1658
  * API operation to required IAM actions mapping for glue.
1659
1659
  */
@@ -1661,7 +1661,7 @@ class GlueOperations {
1661
1661
  }
1662
1662
  exports.GlueOperations = GlueOperations;
1663
1663
  _c = JSII_RTTI_SYMBOL_1;
1664
- GlueOperations[_c] = { fqn: "@cdk_utils/iam.glue.GlueOperations", version: "1.5.0" };
1664
+ GlueOperations[_c] = { fqn: "@cdk_utils/iam.glue.GlueOperations", version: "1.7.0" };
1665
1665
  /** IAM actions required for the AssociateGlossaryTerms API call. */
1666
1666
  GlueOperations.AssociateGlossaryTerms = [];
1667
1667
  /** IAM actions required for the BatchCreatePartition API call. */
@@ -2656,7 +2656,7 @@ class GlueConditions {
2656
2656
  }
2657
2657
  exports.GlueConditions = GlueConditions;
2658
2658
  _d = JSII_RTTI_SYMBOL_1;
2659
- GlueConditions[_d] = { fqn: "@cdk_utils/iam.glue.GlueConditions", version: "1.5.0" };
2659
+ GlueConditions[_d] = { fqn: "@cdk_utils/iam.glue.GlueConditions", version: "1.7.0" };
2660
2660
  /** Condition keys applicable to the BatchCreatePartition action. */
2661
2661
  GlueConditions.BatchCreatePartitionConditionKeys = [
2662
2662
  "glue:LakeFormationPermissions",
@@ -16,7 +16,7 @@ class GrafanaActions {
16
16
  }
17
17
  exports.GrafanaActions = GrafanaActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GrafanaActions[_a] = { fqn: "@cdk_utils/iam.grafana.GrafanaActions", version: "1.5.0" };
19
+ GrafanaActions[_a] = { fqn: "@cdk_utils/iam.grafana.GrafanaActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GrafanaActions.SERVICE_PREFIX = "grafana";
22
22
  /** [Write] grafana:AssociateLicense */
@@ -145,7 +145,7 @@ class GrafanaResources {
145
145
  }
146
146
  exports.GrafanaResources = GrafanaResources;
147
147
  _b = JSII_RTTI_SYMBOL_1;
148
- GrafanaResources[_b] = { fqn: "@cdk_utils/iam.grafana.GrafanaResources", version: "1.5.0" };
148
+ GrafanaResources[_b] = { fqn: "@cdk_utils/iam.grafana.GrafanaResources", version: "1.7.0" };
149
149
  /**
150
150
  * API operation to required IAM actions mapping for grafana.
151
151
  */
@@ -153,7 +153,7 @@ class GrafanaOperations {
153
153
  }
154
154
  exports.GrafanaOperations = GrafanaOperations;
155
155
  _c = JSII_RTTI_SYMBOL_1;
156
- GrafanaOperations[_c] = { fqn: "@cdk_utils/iam.grafana.GrafanaOperations", version: "1.5.0" };
156
+ GrafanaOperations[_c] = { fqn: "@cdk_utils/iam.grafana.GrafanaOperations", version: "1.7.0" };
157
157
  /** IAM actions required for the AssociateLicense API call. */
158
158
  GrafanaOperations.AssociateLicense = ["grafana:AssociateLicense"];
159
159
  /** IAM actions required for the CreateWorkspace API call. */
@@ -267,7 +267,7 @@ class GrafanaConditions {
267
267
  }
268
268
  exports.GrafanaConditions = GrafanaConditions;
269
269
  _d = JSII_RTTI_SYMBOL_1;
270
- GrafanaConditions[_d] = { fqn: "@cdk_utils/iam.grafana.GrafanaConditions", version: "1.5.0" };
270
+ GrafanaConditions[_d] = { fqn: "@cdk_utils/iam.grafana.GrafanaConditions", version: "1.7.0" };
271
271
  /** Condition keys applicable to the CreateWorkspace action. */
272
272
  GrafanaConditions.CreateWorkspaceConditionKeys = [
273
273
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class GreengrassActions {
16
16
  }
17
17
  exports.GreengrassActions = GreengrassActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GreengrassActions[_a] = { fqn: "@cdk_utils/iam.greengrass.GreengrassActions", version: "1.5.0" };
19
+ GreengrassActions[_a] = { fqn: "@cdk_utils/iam.greengrass.GreengrassActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GreengrassActions.SERVICE_PREFIX = "greengrass";
22
22
  /** [Write] greengrass:AssociateRoleToGroup */
@@ -1120,7 +1120,7 @@ class GreengrassResources {
1120
1120
  }
1121
1121
  exports.GreengrassResources = GreengrassResources;
1122
1122
  _b = JSII_RTTI_SYMBOL_1;
1123
- GreengrassResources[_b] = { fqn: "@cdk_utils/iam.greengrass.GreengrassResources", version: "1.5.0" };
1123
+ GreengrassResources[_b] = { fqn: "@cdk_utils/iam.greengrass.GreengrassResources", version: "1.7.0" };
1124
1124
  /**
1125
1125
  * API operation to required IAM actions mapping for greengrass.
1126
1126
  */
@@ -1128,7 +1128,7 @@ class GreengrassOperations {
1128
1128
  }
1129
1129
  exports.GreengrassOperations = GreengrassOperations;
1130
1130
  _c = JSII_RTTI_SYMBOL_1;
1131
- GreengrassOperations[_c] = { fqn: "@cdk_utils/iam.greengrass.GreengrassOperations", version: "1.5.0" };
1131
+ GreengrassOperations[_c] = { fqn: "@cdk_utils/iam.greengrass.GreengrassOperations", version: "1.7.0" };
1132
1132
  /** IAM actions required for the AssociateRoleToGroup API call. */
1133
1133
  GreengrassOperations.AssociateRoleToGroup = [
1134
1134
  "greengrass:AssociateRoleToGroup",
@@ -1575,7 +1575,7 @@ class GreengrassConditions {
1575
1575
  }
1576
1576
  exports.GreengrassConditions = GreengrassConditions;
1577
1577
  _d = JSII_RTTI_SYMBOL_1;
1578
- GreengrassConditions[_d] = { fqn: "@cdk_utils/iam.greengrass.GreengrassConditions", version: "1.5.0" };
1578
+ GreengrassConditions[_d] = { fqn: "@cdk_utils/iam.greengrass.GreengrassConditions", version: "1.7.0" };
1579
1579
  /** Condition keys applicable to the CreateComponentVersion action. */
1580
1580
  GreengrassConditions.CreateComponentVersionConditionKeys = [
1581
1581
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class GroundStationActions {
16
16
  }
17
17
  exports.GroundStationActions = GroundStationActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GroundStationActions[_a] = { fqn: "@cdk_utils/iam.groundstation.GroundStationActions", version: "1.5.0" };
19
+ GroundStationActions[_a] = { fqn: "@cdk_utils/iam.groundstation.GroundStationActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GroundStationActions.SERVICE_PREFIX = "groundstation";
22
22
  /** [Write] groundstation:CancelContact */
@@ -393,7 +393,7 @@ class GroundStationResources {
393
393
  }
394
394
  exports.GroundStationResources = GroundStationResources;
395
395
  _b = JSII_RTTI_SYMBOL_1;
396
- GroundStationResources[_b] = { fqn: "@cdk_utils/iam.groundstation.GroundStationResources", version: "1.5.0" };
396
+ GroundStationResources[_b] = { fqn: "@cdk_utils/iam.groundstation.GroundStationResources", version: "1.7.0" };
397
397
  /**
398
398
  * API operation to required IAM actions mapping for groundstation.
399
399
  */
@@ -401,7 +401,7 @@ class GroundStationOperations {
401
401
  }
402
402
  exports.GroundStationOperations = GroundStationOperations;
403
403
  _c = JSII_RTTI_SYMBOL_1;
404
- GroundStationOperations[_c] = { fqn: "@cdk_utils/iam.groundstation.GroundStationOperations", version: "1.5.0" };
404
+ GroundStationOperations[_c] = { fqn: "@cdk_utils/iam.groundstation.GroundStationOperations", version: "1.7.0" };
405
405
  /** IAM actions required for the CancelContact API call. */
406
406
  GroundStationOperations.CancelContact = ["groundstation:CancelContact"];
407
407
  /** IAM actions required for the CreateConfig API call. */
@@ -618,7 +618,7 @@ class GroundStationConditions {
618
618
  }
619
619
  exports.GroundStationConditions = GroundStationConditions;
620
620
  _d = JSII_RTTI_SYMBOL_1;
621
- GroundStationConditions[_d] = { fqn: "@cdk_utils/iam.groundstation.GroundStationConditions", version: "1.5.0" };
621
+ GroundStationConditions[_d] = { fqn: "@cdk_utils/iam.groundstation.GroundStationConditions", version: "1.7.0" };
622
622
  /** Condition keys applicable to the CreateConfig action. */
623
623
  GroundStationConditions.CreateConfigConditionKeys = [
624
624
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class GroundtruthlabelingActions {
16
16
  }
17
17
  exports.GroundtruthlabelingActions = GroundtruthlabelingActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GroundtruthlabelingActions[_a] = { fqn: "@cdk_utils/iam.groundtruthlabeling.GroundtruthlabelingActions", version: "1.5.0" };
19
+ GroundtruthlabelingActions[_a] = { fqn: "@cdk_utils/iam.groundtruthlabeling.GroundtruthlabelingActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GroundtruthlabelingActions.SERVICE_PREFIX = "groundtruthlabeling";
22
22
  /** [Write] groundtruthlabeling:AssociatePatchToManifestJob */
@@ -16,7 +16,7 @@ class GuardDutyActions {
16
16
  }
17
17
  exports.GuardDutyActions = GuardDutyActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- GuardDutyActions[_a] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyActions", version: "1.5.0" };
19
+ GuardDutyActions[_a] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  GuardDutyActions.SERVICE_PREFIX = "guardduty";
22
22
  /** [Write] guardduty:AcceptAdministratorInvitation */
@@ -551,7 +551,7 @@ class GuardDutyResources {
551
551
  }
552
552
  exports.GuardDutyResources = GuardDutyResources;
553
553
  _b = JSII_RTTI_SYMBOL_1;
554
- GuardDutyResources[_b] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyResources", version: "1.5.0" };
554
+ GuardDutyResources[_b] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyResources", version: "1.7.0" };
555
555
  /**
556
556
  * API operation to required IAM actions mapping for guardduty.
557
557
  */
@@ -559,7 +559,7 @@ class GuardDutyOperations {
559
559
  }
560
560
  exports.GuardDutyOperations = GuardDutyOperations;
561
561
  _c = JSII_RTTI_SYMBOL_1;
562
- GuardDutyOperations[_c] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyOperations", version: "1.5.0" };
562
+ GuardDutyOperations[_c] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyOperations", version: "1.7.0" };
563
563
  /** IAM actions required for the AcceptAdministratorInvitation API call. */
564
564
  GuardDutyOperations.AcceptAdministratorInvitation = [
565
565
  "guardduty:AcceptAdministratorInvitation",
@@ -894,7 +894,7 @@ class GuardDutyConditions {
894
894
  }
895
895
  exports.GuardDutyConditions = GuardDutyConditions;
896
896
  _d = JSII_RTTI_SYMBOL_1;
897
- GuardDutyConditions[_d] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyConditions", version: "1.5.0" };
897
+ GuardDutyConditions[_d] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyConditions", version: "1.7.0" };
898
898
  /** Condition keys applicable to the CreateDetector action. */
899
899
  GuardDutyConditions.CreateDetectorConditionKeys = [
900
900
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class HealthAgentActions {
16
16
  }
17
17
  exports.HealthAgentActions = HealthAgentActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- HealthAgentActions[_a] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentActions", version: "1.5.0" };
19
+ HealthAgentActions[_a] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  HealthAgentActions.SERVICE_PREFIX = "health-agent";
22
22
  /** [Write] health-agent:ActivateSubscription */
@@ -360,7 +360,7 @@ class HealthAgentResources {
360
360
  }
361
361
  exports.HealthAgentResources = HealthAgentResources;
362
362
  _b = JSII_RTTI_SYMBOL_1;
363
- HealthAgentResources[_b] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentResources", version: "1.5.0" };
363
+ HealthAgentResources[_b] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentResources", version: "1.7.0" };
364
364
  /**
365
365
  * API operation to required IAM actions mapping for health-agent.
366
366
  */
@@ -368,7 +368,7 @@ class HealthAgentOperations {
368
368
  }
369
369
  exports.HealthAgentOperations = HealthAgentOperations;
370
370
  _c = JSII_RTTI_SYMBOL_1;
371
- HealthAgentOperations[_c] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentOperations", version: "1.5.0" };
371
+ HealthAgentOperations[_c] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentOperations", version: "1.7.0" };
372
372
  /** IAM actions required for the ActivateSubscription API call. */
373
373
  HealthAgentOperations.ActivateSubscription = [
374
374
  "health-agent:ActivateSubscription",
@@ -450,7 +450,7 @@ class HealthAgentConditions {
450
450
  }
451
451
  exports.HealthAgentConditions = HealthAgentConditions;
452
452
  _d = JSII_RTTI_SYMBOL_1;
453
- HealthAgentConditions[_d] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentConditions", version: "1.5.0" };
453
+ HealthAgentConditions[_d] = { fqn: "@cdk_utils/iam.health_agent.HealthAgentConditions", version: "1.7.0" };
454
454
  /** Condition keys applicable to the CreateDomain action. */
455
455
  HealthAgentConditions.CreateDomainConditionKeys = [
456
456
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class HealthActions {
16
16
  }
17
17
  exports.HealthActions = HealthActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- HealthActions[_a] = { fqn: "@cdk_utils/iam.health.HealthActions", version: "1.5.0" };
19
+ HealthActions[_a] = { fqn: "@cdk_utils/iam.health.HealthActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  HealthActions.SERVICE_PREFIX = "health";
22
22
  /** [Read] health:DescribeAffectedAccountsForOrganization */
@@ -110,7 +110,7 @@ class HealthResources {
110
110
  }
111
111
  exports.HealthResources = HealthResources;
112
112
  _b = JSII_RTTI_SYMBOL_1;
113
- HealthResources[_b] = { fqn: "@cdk_utils/iam.health.HealthResources", version: "1.5.0" };
113
+ HealthResources[_b] = { fqn: "@cdk_utils/iam.health.HealthResources", version: "1.7.0" };
114
114
  /**
115
115
  * API operation to required IAM actions mapping for health.
116
116
  */
@@ -118,7 +118,7 @@ class HealthOperations {
118
118
  }
119
119
  exports.HealthOperations = HealthOperations;
120
120
  _c = JSII_RTTI_SYMBOL_1;
121
- HealthOperations[_c] = { fqn: "@cdk_utils/iam.health.HealthOperations", version: "1.5.0" };
121
+ HealthOperations[_c] = { fqn: "@cdk_utils/iam.health.HealthOperations", version: "1.7.0" };
122
122
  /** IAM actions required for the DescribeAffectedAccountsForOrganization API call. */
123
123
  HealthOperations.DescribeAffectedAccountsForOrganization = [
124
124
  "health:DescribeAffectedAccountsForOrganization",
@@ -201,7 +201,7 @@ class HealthConditions {
201
201
  }
202
202
  exports.HealthConditions = HealthConditions;
203
203
  _d = JSII_RTTI_SYMBOL_1;
204
- HealthConditions[_d] = { fqn: "@cdk_utils/iam.health.HealthConditions", version: "1.5.0" };
204
+ HealthConditions[_d] = { fqn: "@cdk_utils/iam.health.HealthConditions", version: "1.7.0" };
205
205
  /** Condition keys applicable to the DescribeAffectedEntities action. */
206
206
  HealthConditions.DescribeAffectedEntitiesConditionKeys = [
207
207
  "health:eventTypeCode",
@@ -114,6 +114,10 @@ export declare class HealthLakeActions {
114
114
  static readonly TagResource = "healthlake:TagResource";
115
115
  /** [Write] healthlake:TransformData */
116
116
  static readonly TransformData = "healthlake:TransformData";
117
+ /** [Read] healthlake:TranslateConceptMapWithGet */
118
+ static readonly TranslateConceptMapWithGet = "healthlake:TranslateConceptMapWithGet";
119
+ /** [Read] healthlake:TranslateConceptMapWithPost */
120
+ static readonly TranslateConceptMapWithPost = "healthlake:TranslateConceptMapWithPost";
117
121
  /** [Tagging] healthlake:UntagResource */
118
122
  static readonly UntagResource = "healthlake:UntagResource";
119
123
  /** [Write] healthlake:UpdateDataTransformationProfile */
@@ -16,7 +16,7 @@ class HealthLakeActions {
16
16
  }
17
17
  exports.HealthLakeActions = HealthLakeActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- HealthLakeActions[_a] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeActions", version: "1.5.0" };
19
+ HealthLakeActions[_a] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeActions", version: "1.7.0" };
20
20
  /** The IAM service prefix. */
21
21
  HealthLakeActions.SERVICE_PREFIX = "healthlake";
22
22
  /** [Write] healthlake:CancelFHIRExportJobWithDelete */
@@ -129,6 +129,10 @@ HealthLakeActions.SubmitPreAuthClaim = "healthlake:SubmitPreAuthClaim";
129
129
  HealthLakeActions.TagResource = "healthlake:TagResource";
130
130
  /** [Write] healthlake:TransformData */
131
131
  HealthLakeActions.TransformData = "healthlake:TransformData";
132
+ /** [Read] healthlake:TranslateConceptMapWithGet */
133
+ HealthLakeActions.TranslateConceptMapWithGet = "healthlake:TranslateConceptMapWithGet";
134
+ /** [Read] healthlake:TranslateConceptMapWithPost */
135
+ HealthLakeActions.TranslateConceptMapWithPost = "healthlake:TranslateConceptMapWithPost";
132
136
  /** [Tagging] healthlake:UntagResource */
133
137
  HealthLakeActions.UntagResource = "healthlake:UntagResource";
134
138
  /** [Write] healthlake:UpdateDataTransformationProfile */
@@ -168,6 +172,8 @@ HealthLakeActions.AllReadActions = [
168
172
  HealthLakeActions.SearchEverything,
169
173
  HealthLakeActions.SearchWithGet,
170
174
  HealthLakeActions.SearchWithPost,
175
+ HealthLakeActions.TranslateConceptMapWithGet,
176
+ HealthLakeActions.TranslateConceptMapWithPost,
171
177
  HealthLakeActions.ValidateResource,
172
178
  HealthLakeActions.ValidateSource,
173
179
  HealthLakeActions.VersionReadResource,
@@ -287,7 +293,7 @@ class HealthLakeResources {
287
293
  }
288
294
  exports.HealthLakeResources = HealthLakeResources;
289
295
  _b = JSII_RTTI_SYMBOL_1;
290
- HealthLakeResources[_b] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeResources", version: "1.5.0" };
296
+ HealthLakeResources[_b] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeResources", version: "1.7.0" };
291
297
  /**
292
298
  * API operation to required IAM actions mapping for healthlake.
293
299
  */
@@ -295,7 +301,7 @@ class HealthLakeOperations {
295
301
  }
296
302
  exports.HealthLakeOperations = HealthLakeOperations;
297
303
  _c = JSII_RTTI_SYMBOL_1;
298
- HealthLakeOperations[_c] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeOperations", version: "1.5.0" };
304
+ HealthLakeOperations[_c] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeOperations", version: "1.7.0" };
299
305
  /** IAM actions required for the CreateDataTransformationProfile API call. */
300
306
  HealthLakeOperations.CreateDataTransformationProfile = [
301
307
  "healthlake:CreateDataTransformationProfile",
@@ -422,7 +428,7 @@ class HealthLakeConditions {
422
428
  }
423
429
  exports.HealthLakeConditions = HealthLakeConditions;
424
430
  _d = JSII_RTTI_SYMBOL_1;
425
- HealthLakeConditions[_d] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeConditions", version: "1.5.0" };
431
+ HealthLakeConditions[_d] = { fqn: "@cdk_utils/iam.healthlake.HealthLakeConditions", version: "1.7.0" };
426
432
  /** Condition keys applicable to the CreateDataTransformationProfile action. */
427
433
  HealthLakeConditions.CreateDataTransformationProfileConditionKeys = [
428
434
  "aws:RequestTag/${TagKey}",
@@ -449,4 +455,4 @@ HealthLakeConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
449
455
  HealthLakeConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
450
456
  /** Condition key: aws:TagKeys (ArrayOfString) */
451
457
  HealthLakeConditions.AWS_TAG_KEYS = "aws:TagKeys";
452
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRobGFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvaGVhbHRobGFrZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQXVPQzs7O0FBdE9BLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLHVEQUF1RDtBQUN2QywrQ0FBNkIsR0FDNUMsMENBQTBDLENBQUM7QUFDNUMsZ0RBQWdEO0FBQ2hDLHdDQUFzQixHQUFHLG1DQUFtQyxDQUFDO0FBQzdFLHlEQUF5RDtBQUN6QyxpREFBK0IsR0FDOUMsNENBQTRDLENBQUM7QUFDOUMsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLHdDQUF3QztBQUN4QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELHlEQUF5RDtBQUN6QyxpREFBK0IsR0FDOUMsNENBQTRDLENBQUM7QUFDOUMsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLHdDQUF3QztBQUN4QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELHNEQUFzRDtBQUN0QywrQ0FBNkIsR0FDNUMsMENBQTBDLENBQUM7QUFDNUMsa0RBQWtEO0FBQ2xDLDJDQUF5QixHQUN4QyxzQ0FBc0MsQ0FBQztBQUN4Qyx1REFBdUQ7QUFDdkMsZ0RBQThCLEdBQzdDLDJDQUEyQyxDQUFDO0FBQzdDLDhDQUE4QztBQUM5Qix1Q0FBcUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUMzRSw4Q0FBOEM7QUFDOUIsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UscURBQXFEO0FBQ3JDLDhDQUE0QixHQUMzQyx5Q0FB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O0FBaERBLCtFQUErRTtBQUMvRCxpRUFBNEMsR0FBYTtJQUN4RSwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELHFEQUFnQyxHQUFhO0lBQzVELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsNkNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QywrQ0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxvQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxxQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsaUNBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9oZWFsdGhsYWtlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBoZWFsdGhsYWtlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFsdGhMYWtlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImhlYWx0aGxha2VcIjtcblxuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOkNhbmNlbEZISVJFeHBvcnRKb2JXaXRoRGVsZXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxGSElSRXhwb3J0Sm9iV2l0aERlbGV0ZSA9XG5cdFx0XCJoZWFsdGhsYWtlOkNhbmNlbEZISVJFeHBvcnRKb2JXaXRoRGVsZXRlXCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6Q29uZmlybUF0dHJpYnV0aW9uTGlzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29uZmlybUF0dHJpYnV0aW9uTGlzdCA9IFwiaGVhbHRobGFrZTpDb25maXJtQXR0cmlidXRpb25MaXN0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6Q3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSA9XG5cdFx0XCJoZWFsdGhsYWtlOkNyZWF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpDcmVhdGVGSElSRGF0YXN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGSElSRGF0YXN0b3JlID0gXCJoZWFsdGhsYWtlOkNyZWF0ZUZISVJEYXRhc3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpDcmVhdGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6Q3JlYXRlUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpEZWxldGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlID1cblx0XHRcImhlYWx0aGxha2U6RGVsZXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOkRlbGV0ZUZISVJEYXRhc3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZISVJEYXRhc3RvcmUgPSBcImhlYWx0aGxha2U6RGVsZXRlRkhJUkRhdGFzdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOkRlbGV0ZVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpEZWxldGVSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6RGVzY3JpYmVEYXRhVHJhbnNmb3JtYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVRyYW5zZm9ybWF0aW9uSm9iID1cblx0XHRcImhlYWx0aGxha2U6RGVzY3JpYmVEYXRhVHJhbnNmb3JtYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkJ1bGtEZWxldGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkJ1bGtEZWxldGVKb2IgPVxuXHRcdFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJCdWxrRGVsZXRlSm9iXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpEZXNjcmliZUZISVJCdWxrTWVtYmVyTWF0Y2hKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkJ1bGtNZW1iZXJNYXRjaEpvYiA9XG5cdFx0XCJoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkJ1bGtNZW1iZXJNYXRjaEpvYlwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6RGVzY3JpYmVGSElSRGF0YXN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZISVJEYXRhc3RvcmUgPSBcImhlYWx0aGxha2U6RGVzY3JpYmVGSElSRGF0YXN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpEZXNjcmliZUZISVJFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkV4cG9ydEpvYiA9IFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJFeHBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkV4cG9ydEpvYldpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkV4cG9ydEpvYldpdGhHZXQgPVxuXHRcdFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJFeHBvcnRKb2JXaXRoR2V0XCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpEZXNjcmliZUZISVJJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkltcG9ydEpvYiA9IFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJJbXBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkV4cGFuZFZhbHVlU2V0V2l0aEdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwYW5kVmFsdWVTZXRXaXRoR2V0ID0gXCJoZWFsdGhsYWtlOkV4cGFuZFZhbHVlU2V0V2l0aEdldFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6RXhwYW5kVmFsdWVTZXRXaXRoUG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwYW5kVmFsdWVTZXRXaXRoUG9zdCA9IFwiaGVhbHRobGFrZTpFeHBhbmRWYWx1ZVNldFdpdGhQb3N0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6R2VuZXJhdGVEb2N1bWVudFdpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlRG9jdW1lbnRXaXRoR2V0ID1cblx0XHRcImhlYWx0aGxha2U6R2VuZXJhdGVEb2N1bWVudFdpdGhHZXRcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpHZW5lcmF0ZURvY3VtZW50V2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlRG9jdW1lbnRXaXRoUG9zdCA9XG5cdFx0XCJoZWFsdGhsYWtlOkdlbmVyYXRlRG9jdW1lbnRXaXRoUG9zdFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6R2V0Q2FwYWJpbGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYXBhYmlsaXRpZXMgPSBcImhlYWx0aGxha2U6R2V0Q2FwYWJpbGl0aWVzXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpHZXREYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlID1cblx0XHRcImhlYWx0aGxha2U6R2V0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6R2V0RXhwb3J0ZWRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFeHBvcnRlZEZpbGUgPSBcImhlYWx0aGxha2U6R2V0RXhwb3J0ZWRGaWxlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpHZXRIaXN0b3J5QnlSZXNvdXJjZUlkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRIaXN0b3J5QnlSZXNvdXJjZUlkID1cblx0XHRcImhlYWx0aGxha2U6R2V0SGlzdG9yeUJ5UmVzb3VyY2VJZFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6SW5xdWlyZVByZUF1dGhDbGFpbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5xdWlyZVByZUF1dGhDbGFpbSA9IFwiaGVhbHRobGFrZTpJbnF1aXJlUHJlQXV0aENsYWltXCI7XG5cdC8qKiBbTGlzdF0gaGVhbHRobGFrZTpMaXN0RGF0YVRyYW5zZm9ybWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFUcmFuc2Zvcm1hdGlvbkpvYnMgPVxuXHRcdFwiaGVhbHRobGFrZTpMaXN0RGF0YVRyYW5zZm9ybWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGhlYWx0aGxha2U6TGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVWZXJzaW9ucyA9XG5cdFx0XCJoZWFsdGhsYWtlOkxpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBoZWFsdGhsYWtlOkxpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVzID1cblx0XHRcImhlYWx0aGxha2U6TGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVzXCI7XG5cdC8qKiBbTGlzdF0gaGVhbHRobGFrZTpMaXN0RkhJUkRhdGFzdG9yZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGSElSRGF0YXN0b3JlcyA9IFwiaGVhbHRobGFrZTpMaXN0RkhJUkRhdGFzdG9yZXNcIjtcblx0LyoqIFtMaXN0XSBoZWFsdGhsYWtlOkxpc3RGSElSRXhwb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZISVJFeHBvcnRKb2JzID0gXCJoZWFsdGhsYWtlOkxpc3RGSElSRXhwb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGhlYWx0aGxha2U6TGlzdEZISVJJbXBvcnRKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RkhJUkltcG9ydEpvYnMgPSBcImhlYWx0aGxha2U6TGlzdEZISVJJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gaGVhbHRobGFrZTpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJoZWFsdGhsYWtlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkxvb2t1cENvZGVTeXN0ZW1XaXRoR2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBMb29rdXBDb2RlU3lzdGVtV2l0aEdldCA9XG5cdFx0XCJoZWFsdGhsYWtlOkxvb2t1cENvZGVTeXN0ZW1XaXRoR2V0XCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpMb29rdXBDb2RlU3lzdGVtV2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IExvb2t1cENvZGVTeXN0ZW1XaXRoUG9zdCA9XG5cdFx0XCJoZWFsdGhsYWtlOkxvb2t1cENvZGVTeXN0ZW1XaXRoUG9zdFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOk1lbWJlckFkZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVtYmVyQWRkID0gXCJoZWFsdGhsYWtlOk1lbWJlckFkZFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOk1lbWJlck1hdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBNZW1iZXJNYXRjaCA9IFwiaGVhbHRobGFrZTpNZW1iZXJNYXRjaFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOk1lbWJlclJlbW92ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVtYmVyUmVtb3ZlID0gXCJoZWFsdGhsYWtlOk1lbWJlclJlbW92ZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlBhdGNoUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhdGNoUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6UGF0Y2hSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlByb2Nlc3NCdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByb2Nlc3NCdW5kbGUgPSBcImhlYWx0aGxha2U6UHJvY2Vzc0J1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlB1Ymxpc2hEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBQdWJsaXNoRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSA9XG5cdFx0XCJoZWFsdGhsYWtlOlB1Ymxpc2hEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpRdWVzdGlvbm5haXJlUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlc3Rpb25uYWlyZVBhY2thZ2UgPSBcImhlYWx0aGxha2U6UXVlc3Rpb25uYWlyZVBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlJlYWRSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVhZFJlc291cmNlID0gXCJoZWFsdGhsYWtlOlJlYWRSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlJldHJpZXZlQXR0cmlidXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQXR0cmlidXRpb25TdGF0dXMgPVxuXHRcdFwiaGVhbHRobGFrZTpSZXRyaWV2ZUF0dHJpYnV0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpTZWFyY2hFdmVyeXRoaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hFdmVyeXRoaW5nID0gXCJoZWFsdGhsYWtlOlNlYXJjaEV2ZXJ5dGhpbmdcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlNlYXJjaFdpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFdpdGhHZXQgPSBcImhlYWx0aGxha2U6U2VhcmNoV2l0aEdldFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6U2VhcmNoV2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFdpdGhQb3N0ID0gXCJoZWFsdGhsYWtlOlNlYXJjaFdpdGhQb3N0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6U3RhcnREYXRhVHJhbnNmb3JtYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RGF0YVRyYW5zZm9ybWF0aW9uSm9iID1cblx0XHRcImhlYWx0aGxha2U6U3RhcnREYXRhVHJhbnNmb3JtYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdGFydEZISVJCdWxrRGVsZXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZISVJCdWxrRGVsZXRlSm9iID0gXCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkJ1bGtEZWxldGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdGFydEZISVJCdWxrTWVtYmVyTWF0Y2hKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkJ1bGtNZW1iZXJNYXRjaEpvYiA9XG5cdFx0XCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkJ1bGtNZW1iZXJNYXRjaEpvYlwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGSElSRXhwb3J0Sm9iID0gXCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYldpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkV4cG9ydEpvYldpdGhHZXQgPVxuXHRcdFwiaGVhbHRobGFrZTpTdGFydEZISVJFeHBvcnRKb2JXaXRoR2V0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6U3RhcnRGSElSRXhwb3J0Sm9iV2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkV4cG9ydEpvYldpdGhQb3N0ID1cblx0XHRcImhlYWx0aGxha2U6U3RhcnRGSElSRXhwb3J0Sm9iV2l0aFBvc3RcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdGFydEZISVJJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkltcG9ydEpvYiA9IFwiaGVhbHRobGFrZTpTdGFydEZISVJJbXBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdWJtaXRQcmVBdXRoQ2xhaW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFByZUF1dGhDbGFpbSA9IFwiaGVhbHRobGFrZTpTdWJtaXRQcmVBdXRoQ2xhaW1cIjtcblx0LyoqIFtUYWdnaW5nXSBoZWFsdGhsYWtlOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlRyYW5zZm9ybURhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zZm9ybURhdGEgPSBcImhlYWx0aGxha2U6VHJhbnNmb3JtRGF0YVwiO1xuXHQvKiogW1RhZ2dpbmddIGhlYWx0aGxha2U6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6VXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSA9XG5cdFx0XCJoZWFsdGhsYWtlOlVwZGF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpVcGRhdGVGSElSRGF0YXN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGSElSRGF0YXN0b3JlID0gXCJoZWFsdGhsYWtlOlVwZGF0ZUZISVJEYXRhc3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpVcGRhdGVQcm9maWxlV2l0aEFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9maWxlV2l0aEFnZW50ID0gXCJoZWFsdGhsYWtlOlVwZGF0ZVByb2ZpbGVXaXRoQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpVcGRhdGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6VXBkYXRlUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlZhbGlkYXRlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6VmFsaWRhdGVSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6VmFsaWRhdGVTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlU291cmNlID0gXCJoZWFsdGhsYWtlOlZhbGlkYXRlU291cmNlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpWZXJzaW9uUmVhZFJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJzaW9uUmVhZFJlc291cmNlID0gXCJoZWFsdGhsYWtlOlZlcnNpb25SZWFkUmVzb3VyY2VcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZXNjcmliZURhdGFUcmFuc2Zvcm1hdGlvbkpvYixcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZXNjcmliZUZISVJCdWxrRGVsZXRlSm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlc2NyaWJlRkhJUkJ1bGtNZW1iZXJNYXRjaEpvYixcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZXNjcmliZUZISVJEYXRhc3RvcmUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRGVzY3JpYmVGSElSRXhwb3J0Sm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlc2NyaWJlRkhJUkV4cG9ydEpvYldpdGhHZXQsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRGVzY3JpYmVGSElSSW1wb3J0Sm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkV4cGFuZFZhbHVlU2V0V2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5FeHBhbmRWYWx1ZVNldFdpdGhQb3N0LFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLmFjdGlvbkdldENhcGFiaWxpdGllcyxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5hY3Rpb25HZXREYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLmFjdGlvbkdldEV4cG9ydGVkRmlsZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5hY3Rpb25HZXRIaXN0b3J5QnlSZXNvdXJjZUlkLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLklucXVpcmVQcmVBdXRoQ2xhaW0sXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTG9va3VwQ29kZVN5c3RlbVdpdGhHZXQsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTG9va3VwQ29kZVN5c3RlbVdpdGhQb3N0LFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlF1ZXN0aW9ubmFpcmVQYWNrYWdlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlJlYWRSZXNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TZWFyY2hFdmVyeXRoaW5nLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlNlYXJjaFdpdGhHZXQsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuU2VhcmNoV2l0aFBvc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuVmFsaWRhdGVSZXNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5WYWxpZGF0ZVNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5WZXJzaW9uUmVhZFJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLkNhbmNlbEZISVJFeHBvcnRKb2JXaXRoRGVsZXRlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkNvbmZpcm1BdHRyaWJ1dGlvbkxpc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuQ3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5DcmVhdGVGSElSRGF0YXN0b3JlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkNyZWF0ZVJlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlbGV0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRGVsZXRlRkhJUkRhdGFzdG9yZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZWxldGVSZXNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5HZW5lcmF0ZURvY3VtZW50V2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5HZW5lcmF0ZURvY3VtZW50V2l0aFBvc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTWVtYmVyQWRkLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLk1lbWJlck1hdGNoLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLk1lbWJlclJlbW92ZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5QYXRjaFJlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlByb2Nlc3NCdW5kbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuUHVibGlzaERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuUmV0cmlldmVBdHRyaWJ1dGlvblN0YXR1cyxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydERhdGFUcmFuc2Zvcm1hdGlvbkpvYixcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJCdWxrRGVsZXRlSm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlN0YXJ0RkhJUkJ1bGtNZW1iZXJNYXRjaEpvYixcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJFeHBvcnRKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuU3RhcnRGSElSRXhwb3J0Sm9iV2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJFeHBvcnRKb2JXaXRoUG9zdCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJJbXBvcnRKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuU3VibWl0UHJlQXV0aENsYWltLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlRyYW5zZm9ybURhdGEsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuVXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5VcGRhdGVGSElSRGF0YXN0b3JlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlVwZGF0ZVByb2ZpbGVXaXRoQWdlbnQsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuVXBkYXRlUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3REYXRhVHJhbnNmb3JtYXRpb25Kb2JzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlVmVyc2lvbnMsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3RGSElSRGF0YXN0b3Jlcyxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5MaXN0RkhJUkV4cG9ydEpvYnMsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTGlzdEZISVJJbXBvcnRKb2JzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWFsdGhMYWtlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9maWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2ZpbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWx0aExha2VEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9maWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9maWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGFzdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVhbHRoTGFrZURhdGFzdG9yZUFyblByb3BzIHtcblx0LyoqIFRoZSBEYXRhc3RvcmVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGF0YXN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhc3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWx0aExha2VEYXRhc3RvcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFzdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YXN0b3JlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpoZWFsdGhsYWtlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVxcLyg/PHByb2ZpbGVJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YXN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmhlYWx0aGxha2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhc3RvcmVcXC9maGlyXFwvKD88ZGF0YXN0b3JlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBoZWFsdGhsYWtlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWx0aExha2VSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZShcblx0XHRwcm9wczogSGVhbHRoTGFrZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpoZWFsdGhsYWtlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUvJHtwcm9wcy5wcm9maWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEhlYWx0aExha2VEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvZmlsZUlkOiBtYXRjaC5ncm91cHMhLnByb2ZpbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhc3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YXN0b3JlKHByb3BzOiBIZWFsdGhMYWtlRGF0YXN0b3JlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmhlYWx0aGxha2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YXN0b3JlL2ZoaXIvJHtwcm9wcy5kYXRhc3RvcmVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YXN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhc3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YXN0b3JlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGFzdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhc3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBIZWFsdGhMYWtlRGF0YXN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhc3RvcmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YXN0b3JlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhdGFzdG9yZUlkOiBtYXRjaC5ncm91cHMhLmRhdGFzdG9yZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGhlYWx0aGxha2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFsdGhMYWtlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6Q3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiLFxuXHRcdFwiaGVhbHRobGFrZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGSElSRGF0YXN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRkhJUkRhdGFzdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkNyZWF0ZUZISVJEYXRhc3RvcmVcIixcblx0XHRcImhlYWx0aGxha2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpEZWxldGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZISVJEYXRhc3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGSElSRGF0YXN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6RGVsZXRlRkhJUkRhdGFzdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhdGFUcmFuc2Zvcm1hdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVRyYW5zZm9ybWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6RGVzY3JpYmVEYXRhVHJhbnNmb3JtYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGSElSRGF0YXN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGSElSRGF0YXN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6RGVzY3JpYmVGSElSRGF0YXN0b3JlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRkhJUkV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkV4cG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZISVJJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZISVJJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJJbXBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkdldERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFUcmFuc2Zvcm1hdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkxpc3REYXRhVHJhbnNmb3JtYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6TGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZISVJEYXRhc3RvcmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZISVJEYXRhc3RvcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6TGlzdEZISVJEYXRhc3RvcmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGSElSRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGSElSRXhwb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkxpc3RGSElSRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RkhJUkltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RkhJUkltcG9ydEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpMaXN0RkhJUkltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1Ymxpc2hEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpQdWJsaXNoRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydERhdGFUcmFuc2Zvcm1hdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RGF0YVRyYW5zZm9ybWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiaGVhbHRobGFrZTpTdGFydERhdGFUcmFuc2Zvcm1hdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZISVJFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZISVJFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZISVJJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZISVJJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImhlYWx0aGxha2U6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImhlYWx0aGxha2U6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpVcGRhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZISVJEYXRhc3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGSElSRGF0YXN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6VXBkYXRlRkhJUkRhdGFzdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9maWxlV2l0aEFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZmlsZVdpdGhBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOlVwZGF0ZVByb2ZpbGVXaXRoQWdlbnRcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGhlYWx0aGxha2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFsdGhMYWtlQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZISVJEYXRhc3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRkhJUkRhdGFzdG9yZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
458
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRobGFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvaGVhbHRobGFrZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQStPQzs7O0FBOU9BLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLHVEQUF1RDtBQUN2QywrQ0FBNkIsR0FDNUMsMENBQTBDLENBQUM7QUFDNUMsZ0RBQWdEO0FBQ2hDLHdDQUFzQixHQUFHLG1DQUFtQyxDQUFDO0FBQzdFLHlEQUF5RDtBQUN6QyxpREFBK0IsR0FDOUMsNENBQTRDLENBQUM7QUFDOUMsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLHdDQUF3QztBQUN4QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELHlEQUF5RDtBQUN6QyxpREFBK0IsR0FDOUMsNENBQTRDLENBQUM7QUFDOUMsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLHdDQUF3QztBQUN4QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELHNEQUFzRDtBQUN0QywrQ0FBNkIsR0FDNUMsMENBQTBDLENBQUM7QUFDNUMsa0RBQWtEO0FBQ2xDLDJDQUF5QixHQUN4QyxzQ0FBc0MsQ0FBQztBQUN4Qyx1REFBdUQ7QUFDdkMsZ0RBQThCLEdBQzdDLDJDQUEyQyxDQUFDO0FBQzdDLDhDQUE4QztBQUM5Qix1Q0FBcUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUMzRSw4Q0FBOEM7QUFDOUIsdUNBQXFCLEdBQUcsa0NBQWtDLENBQUM7QUFDM0UscURBQXFEO0FBQ3JDLDhDQUE0QixHQUMzQyx5Q0FB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RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWdCO1FBQzlCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ25FLENBQUM7O0FBaERGLG9EQWlEQzs7O0FBaERBLCtFQUErRTtBQUMvRCxpRUFBNEMsR0FBYTtJQUN4RSwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELHFEQUFnQyxHQUFhO0lBQzVELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsNkNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QywrQ0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxvQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxxQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsaUNBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9oZWFsdGhsYWtlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBoZWFsdGhsYWtlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFsdGhMYWtlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImhlYWx0aGxha2VcIjtcblxuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOkNhbmNlbEZISVJFeHBvcnRKb2JXaXRoRGVsZXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxGSElSRXhwb3J0Sm9iV2l0aERlbGV0ZSA9XG5cdFx0XCJoZWFsdGhsYWtlOkNhbmNlbEZISVJFeHBvcnRKb2JXaXRoRGVsZXRlXCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6Q29uZmlybUF0dHJpYnV0aW9uTGlzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29uZmlybUF0dHJpYnV0aW9uTGlzdCA9IFwiaGVhbHRobGFrZTpDb25maXJtQXR0cmlidXRpb25MaXN0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6Q3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSA9XG5cdFx0XCJoZWFsdGhsYWtlOkNyZWF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpDcmVhdGVGSElSRGF0YXN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGSElSRGF0YXN0b3JlID0gXCJoZWFsdGhsYWtlOkNyZWF0ZUZISVJEYXRhc3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpDcmVhdGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6Q3JlYXRlUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpEZWxldGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlID1cblx0XHRcImhlYWx0aGxha2U6RGVsZXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOkRlbGV0ZUZISVJEYXRhc3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZISVJEYXRhc3RvcmUgPSBcImhlYWx0aGxha2U6RGVsZXRlRkhJUkRhdGFzdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOkRlbGV0ZVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpEZWxldGVSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6RGVzY3JpYmVEYXRhVHJhbnNmb3JtYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVRyYW5zZm9ybWF0aW9uSm9iID1cblx0XHRcImhlYWx0aGxha2U6RGVzY3JpYmVEYXRhVHJhbnNmb3JtYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkJ1bGtEZWxldGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkJ1bGtEZWxldGVKb2IgPVxuXHRcdFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJCdWxrRGVsZXRlSm9iXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpEZXNjcmliZUZISVJCdWxrTWVtYmVyTWF0Y2hKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkJ1bGtNZW1iZXJNYXRjaEpvYiA9XG5cdFx0XCJoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkJ1bGtNZW1iZXJNYXRjaEpvYlwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6RGVzY3JpYmVGSElSRGF0YXN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZISVJEYXRhc3RvcmUgPSBcImhlYWx0aGxha2U6RGVzY3JpYmVGSElSRGF0YXN0b3JlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpEZXNjcmliZUZISVJFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkV4cG9ydEpvYiA9IFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJFeHBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkV4cG9ydEpvYldpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkV4cG9ydEpvYldpdGhHZXQgPVxuXHRcdFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJFeHBvcnRKb2JXaXRoR2V0XCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpEZXNjcmliZUZISVJJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkltcG9ydEpvYiA9IFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJJbXBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkV4cGFuZFZhbHVlU2V0V2l0aEdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwYW5kVmFsdWVTZXRXaXRoR2V0ID0gXCJoZWFsdGhsYWtlOkV4cGFuZFZhbHVlU2V0V2l0aEdldFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6RXhwYW5kVmFsdWVTZXRXaXRoUG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwYW5kVmFsdWVTZXRXaXRoUG9zdCA9IFwiaGVhbHRobGFrZTpFeHBhbmRWYWx1ZVNldFdpdGhQb3N0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6R2VuZXJhdGVEb2N1bWVudFdpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlRG9jdW1lbnRXaXRoR2V0ID1cblx0XHRcImhlYWx0aGxha2U6R2VuZXJhdGVEb2N1bWVudFdpdGhHZXRcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpHZW5lcmF0ZURvY3VtZW50V2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlRG9jdW1lbnRXaXRoUG9zdCA9XG5cdFx0XCJoZWFsdGhsYWtlOkdlbmVyYXRlRG9jdW1lbnRXaXRoUG9zdFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6R2V0Q2FwYWJpbGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYXBhYmlsaXRpZXMgPSBcImhlYWx0aGxha2U6R2V0Q2FwYWJpbGl0aWVzXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpHZXREYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlID1cblx0XHRcImhlYWx0aGxha2U6R2V0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6R2V0RXhwb3J0ZWRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFeHBvcnRlZEZpbGUgPSBcImhlYWx0aGxha2U6R2V0RXhwb3J0ZWRGaWxlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpHZXRIaXN0b3J5QnlSZXNvdXJjZUlkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRIaXN0b3J5QnlSZXNvdXJjZUlkID1cblx0XHRcImhlYWx0aGxha2U6R2V0SGlzdG9yeUJ5UmVzb3VyY2VJZFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6SW5xdWlyZVByZUF1dGhDbGFpbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5xdWlyZVByZUF1dGhDbGFpbSA9IFwiaGVhbHRobGFrZTpJbnF1aXJlUHJlQXV0aENsYWltXCI7XG5cdC8qKiBbTGlzdF0gaGVhbHRobGFrZTpMaXN0RGF0YVRyYW5zZm9ybWF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFUcmFuc2Zvcm1hdGlvbkpvYnMgPVxuXHRcdFwiaGVhbHRobGFrZTpMaXN0RGF0YVRyYW5zZm9ybWF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIGhlYWx0aGxha2U6TGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVWZXJzaW9ucyA9XG5cdFx0XCJoZWFsdGhsYWtlOkxpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBoZWFsdGhsYWtlOkxpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVzID1cblx0XHRcImhlYWx0aGxha2U6TGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVzXCI7XG5cdC8qKiBbTGlzdF0gaGVhbHRobGFrZTpMaXN0RkhJUkRhdGFzdG9yZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGSElSRGF0YXN0b3JlcyA9IFwiaGVhbHRobGFrZTpMaXN0RkhJUkRhdGFzdG9yZXNcIjtcblx0LyoqIFtMaXN0XSBoZWFsdGhsYWtlOkxpc3RGSElSRXhwb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZISVJFeHBvcnRKb2JzID0gXCJoZWFsdGhsYWtlOkxpc3RGSElSRXhwb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGhlYWx0aGxha2U6TGlzdEZISVJJbXBvcnRKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RkhJUkltcG9ydEpvYnMgPSBcImhlYWx0aGxha2U6TGlzdEZISVJJbXBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gaGVhbHRobGFrZTpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJoZWFsdGhsYWtlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOkxvb2t1cENvZGVTeXN0ZW1XaXRoR2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBMb29rdXBDb2RlU3lzdGVtV2l0aEdldCA9XG5cdFx0XCJoZWFsdGhsYWtlOkxvb2t1cENvZGVTeXN0ZW1XaXRoR2V0XCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpMb29rdXBDb2RlU3lzdGVtV2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IExvb2t1cENvZGVTeXN0ZW1XaXRoUG9zdCA9XG5cdFx0XCJoZWFsdGhsYWtlOkxvb2t1cENvZGVTeXN0ZW1XaXRoUG9zdFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOk1lbWJlckFkZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVtYmVyQWRkID0gXCJoZWFsdGhsYWtlOk1lbWJlckFkZFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOk1lbWJlck1hdGNoICovXG5cdHN0YXRpYyByZWFkb25seSBNZW1iZXJNYXRjaCA9IFwiaGVhbHRobGFrZTpNZW1iZXJNYXRjaFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOk1lbWJlclJlbW92ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVtYmVyUmVtb3ZlID0gXCJoZWFsdGhsYWtlOk1lbWJlclJlbW92ZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlBhdGNoUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhdGNoUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6UGF0Y2hSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlByb2Nlc3NCdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFByb2Nlc3NCdW5kbGUgPSBcImhlYWx0aGxha2U6UHJvY2Vzc0J1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlB1Ymxpc2hEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBQdWJsaXNoRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSA9XG5cdFx0XCJoZWFsdGhsYWtlOlB1Ymxpc2hEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpRdWVzdGlvbm5haXJlUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlc3Rpb25uYWlyZVBhY2thZ2UgPSBcImhlYWx0aGxha2U6UXVlc3Rpb25uYWlyZVBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlJlYWRSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVhZFJlc291cmNlID0gXCJoZWFsdGhsYWtlOlJlYWRSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlJldHJpZXZlQXR0cmlidXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJpZXZlQXR0cmlidXRpb25TdGF0dXMgPVxuXHRcdFwiaGVhbHRobGFrZTpSZXRyaWV2ZUF0dHJpYnV0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpTZWFyY2hFdmVyeXRoaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hFdmVyeXRoaW5nID0gXCJoZWFsdGhsYWtlOlNlYXJjaEV2ZXJ5dGhpbmdcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlNlYXJjaFdpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFdpdGhHZXQgPSBcImhlYWx0aGxha2U6U2VhcmNoV2l0aEdldFwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6U2VhcmNoV2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFdpdGhQb3N0ID0gXCJoZWFsdGhsYWtlOlNlYXJjaFdpdGhQb3N0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6U3RhcnREYXRhVHJhbnNmb3JtYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RGF0YVRyYW5zZm9ybWF0aW9uSm9iID1cblx0XHRcImhlYWx0aGxha2U6U3RhcnREYXRhVHJhbnNmb3JtYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdGFydEZISVJCdWxrRGVsZXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZISVJCdWxrRGVsZXRlSm9iID0gXCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkJ1bGtEZWxldGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdGFydEZISVJCdWxrTWVtYmVyTWF0Y2hKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkJ1bGtNZW1iZXJNYXRjaEpvYiA9XG5cdFx0XCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkJ1bGtNZW1iZXJNYXRjaEpvYlwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGSElSRXhwb3J0Sm9iID0gXCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYldpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkV4cG9ydEpvYldpdGhHZXQgPVxuXHRcdFwiaGVhbHRobGFrZTpTdGFydEZISVJFeHBvcnRKb2JXaXRoR2V0XCI7XG5cdC8qKiBbV3JpdGVdIGhlYWx0aGxha2U6U3RhcnRGSElSRXhwb3J0Sm9iV2l0aFBvc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkV4cG9ydEpvYldpdGhQb3N0ID1cblx0XHRcImhlYWx0aGxha2U6U3RhcnRGSElSRXhwb3J0Sm9iV2l0aFBvc3RcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdGFydEZISVJJbXBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RkhJUkltcG9ydEpvYiA9IFwiaGVhbHRobGFrZTpTdGFydEZISVJJbXBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpTdWJtaXRQcmVBdXRoQ2xhaW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFByZUF1dGhDbGFpbSA9IFwiaGVhbHRobGFrZTpTdWJtaXRQcmVBdXRoQ2xhaW1cIjtcblx0LyoqIFtUYWdnaW5nXSBoZWFsdGhsYWtlOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlRyYW5zZm9ybURhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zZm9ybURhdGEgPSBcImhlYWx0aGxha2U6VHJhbnNmb3JtRGF0YVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6VHJhbnNsYXRlQ29uY2VwdE1hcFdpdGhHZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zbGF0ZUNvbmNlcHRNYXBXaXRoR2V0ID1cblx0XHRcImhlYWx0aGxha2U6VHJhbnNsYXRlQ29uY2VwdE1hcFdpdGhHZXRcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlRyYW5zbGF0ZUNvbmNlcHRNYXBXaXRoUG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhbnNsYXRlQ29uY2VwdE1hcFdpdGhQb3N0ID1cblx0XHRcImhlYWx0aGxha2U6VHJhbnNsYXRlQ29uY2VwdE1hcFdpdGhQb3N0XCI7XG5cdC8qKiBbVGFnZ2luZ10gaGVhbHRobGFrZTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJoZWFsdGhsYWtlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gaGVhbHRobGFrZTpVcGRhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlID1cblx0XHRcImhlYWx0aGxha2U6VXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlVwZGF0ZUZISVJEYXRhc3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZISVJEYXRhc3RvcmUgPSBcImhlYWx0aGxha2U6VXBkYXRlRkhJUkRhdGFzdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlVwZGF0ZVByb2ZpbGVXaXRoQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2ZpbGVXaXRoQWdlbnQgPSBcImhlYWx0aGxha2U6VXBkYXRlUHJvZmlsZVdpdGhBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBoZWFsdGhsYWtlOlVwZGF0ZVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpVcGRhdGVSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGhlYWx0aGxha2U6VmFsaWRhdGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVSZXNvdXJjZSA9IFwiaGVhbHRobGFrZTpWYWxpZGF0ZVJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gaGVhbHRobGFrZTpWYWxpZGF0ZVNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmFsaWRhdGVTb3VyY2UgPSBcImhlYWx0aGxha2U6VmFsaWRhdGVTb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBoZWFsdGhsYWtlOlZlcnNpb25SZWFkUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcnNpb25SZWFkUmVzb3VyY2UgPSBcImhlYWx0aGxha2U6VmVyc2lvblJlYWRSZXNvdXJjZVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlc2NyaWJlRGF0YVRyYW5zZm9ybWF0aW9uSm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlc2NyaWJlRkhJUkJ1bGtEZWxldGVKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRGVzY3JpYmVGSElSQnVsa01lbWJlck1hdGNoSm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlc2NyaWJlRkhJUkRhdGFzdG9yZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZXNjcmliZUZISVJFeHBvcnRKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRGVzY3JpYmVGSElSRXhwb3J0Sm9iV2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZXNjcmliZUZISVJJbXBvcnRKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRXhwYW5kVmFsdWVTZXRXaXRoR2V0LFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkV4cGFuZFZhbHVlU2V0V2l0aFBvc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuYWN0aW9uR2V0Q2FwYWJpbGl0aWVzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLmFjdGlvbkdldERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuYWN0aW9uR2V0RXhwb3J0ZWRGaWxlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLmFjdGlvbkdldEhpc3RvcnlCeVJlc291cmNlSWQsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuSW5xdWlyZVByZUF1dGhDbGFpbSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5Mb29rdXBDb2RlU3lzdGVtV2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5Mb29rdXBDb2RlU3lzdGVtV2l0aFBvc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuUXVlc3Rpb25uYWlyZVBhY2thZ2UsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuUmVhZFJlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlNlYXJjaEV2ZXJ5dGhpbmcsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuU2VhcmNoV2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TZWFyY2hXaXRoUG9zdCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5UcmFuc2xhdGVDb25jZXB0TWFwV2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5UcmFuc2xhdGVDb25jZXB0TWFwV2l0aFBvc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuVmFsaWRhdGVSZXNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5WYWxpZGF0ZVNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5WZXJzaW9uUmVhZFJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLkNhbmNlbEZISVJFeHBvcnRKb2JXaXRoRGVsZXRlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkNvbmZpcm1BdHRyaWJ1dGlvbkxpc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuQ3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5DcmVhdGVGSElSRGF0YXN0b3JlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkNyZWF0ZVJlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkRlbGV0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuRGVsZXRlRkhJUkRhdGFzdG9yZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5EZWxldGVSZXNvdXJjZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5HZW5lcmF0ZURvY3VtZW50V2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5HZW5lcmF0ZURvY3VtZW50V2l0aFBvc3QsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTWVtYmVyQWRkLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLk1lbWJlck1hdGNoLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLk1lbWJlclJlbW92ZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5QYXRjaFJlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlByb2Nlc3NCdW5kbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuUHVibGlzaERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuUmV0cmlldmVBdHRyaWJ1dGlvblN0YXR1cyxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydERhdGFUcmFuc2Zvcm1hdGlvbkpvYixcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJCdWxrRGVsZXRlSm9iLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlN0YXJ0RkhJUkJ1bGtNZW1iZXJNYXRjaEpvYixcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJFeHBvcnRKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuU3RhcnRGSElSRXhwb3J0Sm9iV2l0aEdldCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJFeHBvcnRKb2JXaXRoUG9zdCxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5TdGFydEZISVJJbXBvcnRKb2IsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuU3VibWl0UHJlQXV0aENsYWltLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlRyYW5zZm9ybURhdGEsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuVXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5VcGRhdGVGSElSRGF0YXN0b3JlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlVwZGF0ZVByb2ZpbGVXaXRoQWdlbnQsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuVXBkYXRlUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3REYXRhVHJhbnNmb3JtYXRpb25Kb2JzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlVmVyc2lvbnMsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3RGSElSRGF0YXN0b3Jlcyxcblx0XHRIZWFsdGhMYWtlQWN0aW9ucy5MaXN0RkhJUkV4cG9ydEpvYnMsXG5cdFx0SGVhbHRoTGFrZUFjdGlvbnMuTGlzdEZISVJJbXBvcnRKb2JzLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEhlYWx0aExha2VBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEhlYWx0aExha2VBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWFsdGhMYWtlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZUFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9maWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb2ZpbGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWx0aExha2VEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9maWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9maWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhdGFzdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVhbHRoTGFrZURhdGFzdG9yZUFyblByb3BzIHtcblx0LyoqIFRoZSBEYXRhc3RvcmVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGF0YXN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYXRhc3RvcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWx0aExha2VEYXRhc3RvcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFzdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YXN0b3JlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpoZWFsdGhsYWtlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVxcLyg/PHByb2ZpbGVJZD5bXjovP10rKSQvO1xuY29uc3QgRGF0YXN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmhlYWx0aGxha2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhc3RvcmVcXC9maGlyXFwvKD88ZGF0YXN0b3JlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBoZWFsdGhsYWtlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWx0aExha2VSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZShcblx0XHRwcm9wczogSGVhbHRoTGFrZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpoZWFsdGhsYWtlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUvJHtwcm9wcy5wcm9maWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEhlYWx0aExha2VEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvZmlsZUlkOiBtYXRjaC5ncm91cHMhLnByb2ZpbGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYXRhc3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YXN0b3JlKHByb3BzOiBIZWFsdGhMYWtlRGF0YXN0b3JlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmhlYWx0aGxha2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGF0YXN0b3JlL2ZoaXIvJHtwcm9wcy5kYXRhc3RvcmVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGF0YXN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYXRhc3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGF0YXN0b3JlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhdGFzdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYXRhc3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBIZWFsdGhMYWtlRGF0YXN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhc3RvcmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YXN0b3JlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhdGFzdG9yZUlkOiBtYXRjaC5ncm91cHMhLmRhdGFzdG9yZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGhlYWx0aGxha2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFsdGhMYWtlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6Q3JlYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiLFxuXHRcdFwiaGVhbHRobGFrZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGSElSRGF0YXN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRkhJUkRhdGFzdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkNyZWF0ZUZISVJEYXRhc3RvcmVcIixcblx0XHRcImhlYWx0aGxha2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpEZWxldGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZISVJEYXRhc3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGSElSRGF0YXN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6RGVsZXRlRkhJUkRhdGFzdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhdGFUcmFuc2Zvcm1hdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVRyYW5zZm9ybWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6RGVzY3JpYmVEYXRhVHJhbnNmb3JtYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGSElSRGF0YXN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGSElSRGF0YXN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6RGVzY3JpYmVGSElSRGF0YXN0b3JlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRkhJUkV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRkhJUkV4cG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkRlc2NyaWJlRkhJUkV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZISVJJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZISVJJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpEZXNjcmliZUZISVJJbXBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkdldERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFUcmFuc2Zvcm1hdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkxpc3REYXRhVHJhbnNmb3JtYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6TGlzdERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpMaXN0RGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZISVJEYXRhc3RvcmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZISVJEYXRhc3RvcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6TGlzdEZISVJEYXRhc3RvcmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGSElSRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGSElSRXhwb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOkxpc3RGSElSRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RkhJUkltcG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RkhJUkltcG9ydEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpMaXN0RkhJUkltcG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1Ymxpc2hEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaERhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpQdWJsaXNoRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydERhdGFUcmFuc2Zvcm1hdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RGF0YVRyYW5zZm9ybWF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiaGVhbHRobGFrZTpTdGFydERhdGFUcmFuc2Zvcm1hdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZISVJFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZISVJFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZISVJJbXBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZISVJJbXBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJoZWFsdGhsYWtlOlN0YXJ0RkhJUkltcG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImhlYWx0aGxha2U6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImhlYWx0aGxha2U6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGF0YVRyYW5zZm9ybWF0aW9uUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaGVhbHRobGFrZTpVcGRhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZISVJEYXRhc3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGSElSRGF0YXN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImhlYWx0aGxha2U6VXBkYXRlRkhJUkRhdGFzdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9maWxlV2l0aEFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvZmlsZVdpdGhBZ2VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJoZWFsdGhsYWtlOlVwZGF0ZVByb2ZpbGVXaXRoQWdlbnRcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGhlYWx0aGxha2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIZWFsdGhMYWtlQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYXRhVHJhbnNmb3JtYXRpb25Qcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFUcmFuc2Zvcm1hdGlvblByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZISVJEYXRhc3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRkhJUkRhdGFzdG9yZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19