@cdk_utils/iam 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/.jsii +3402 -2323
  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.d.ts +6 -0
  13. package/lib/generated/services/agent-registry.js +13 -5
  14. package/lib/generated/services/agentaccess-mcp.js +2 -2
  15. package/lib/generated/services/aidevops.js +4 -4
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.js +3 -3
  50. package/lib/generated/services/aws-marketplace-management.js +1 -1
  51. package/lib/generated/services/aws-marketplace.js +4 -4
  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.js +4 -4
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +4 -4
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.js +4 -4
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +4 -4
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.d.ts +67 -0
  116. package/lib/generated/services/connect.js +92 -9
  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 +4 -4
  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 +4 -4
  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.js +4 -4
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.js +4 -4
  157. package/lib/generated/services/elasticbeanstalk.js +4 -4
  158. package/lib/generated/services/elasticfilesystem.js +4 -4
  159. package/lib/generated/services/elasticloadbalancing.js +4 -4
  160. package/lib/generated/services/elasticmapreduce.js +4 -4
  161. package/lib/generated/services/elastictranscoder.js +2 -2
  162. package/lib/generated/services/elemental-activations.js +1 -1
  163. package/lib/generated/services/elemental-appliances-software.js +2 -2
  164. package/lib/generated/services/elemental-inference.js +4 -4
  165. package/lib/generated/services/elemental-support-cases.js +3 -3
  166. package/lib/generated/services/elemental-support-content.js +1 -1
  167. package/lib/generated/services/emr-containers.js +4 -4
  168. package/lib/generated/services/emr-serverless.js +4 -4
  169. package/lib/generated/services/entityresolution.js +4 -4
  170. package/lib/generated/services/es.js +4 -4
  171. package/lib/generated/services/events.js +4 -4
  172. package/lib/generated/services/eventsbilltoaws.js +3 -3
  173. package/lib/generated/services/evidently.js +3 -3
  174. package/lib/generated/services/evs.js +4 -4
  175. package/lib/generated/services/execute-api.js +4 -4
  176. package/lib/generated/services/finops-agent.js +1 -1
  177. package/lib/generated/services/finspace-api.js +3 -3
  178. package/lib/generated/services/finspace.js +4 -4
  179. package/lib/generated/services/firehose.js +4 -4
  180. package/lib/generated/services/fis.js +4 -4
  181. package/lib/generated/services/fms.js +4 -4
  182. package/lib/generated/services/forecast.js +4 -4
  183. package/lib/generated/services/frauddetector.js +4 -4
  184. package/lib/generated/services/freertos.js +3 -3
  185. package/lib/generated/services/freetier.js +2 -2
  186. package/lib/generated/services/fsx.js +4 -4
  187. package/lib/generated/services/gamelift.js +4 -4
  188. package/lib/generated/services/gameliftstreams.js +4 -4
  189. package/lib/generated/services/geo-maps.js +3 -3
  190. package/lib/generated/services/geo-places.js +3 -3
  191. package/lib/generated/services/geo-routes.js +3 -3
  192. package/lib/generated/services/geo.js +4 -4
  193. package/lib/generated/services/glacier.js +4 -4
  194. package/lib/generated/services/globalaccelerator.js +4 -4
  195. package/lib/generated/services/glue.js +4 -4
  196. package/lib/generated/services/grafana.js +4 -4
  197. package/lib/generated/services/greengrass.js +4 -4
  198. package/lib/generated/services/groundstation.js +4 -4
  199. package/lib/generated/services/groundtruthlabeling.js +1 -1
  200. package/lib/generated/services/guardduty.js +4 -4
  201. package/lib/generated/services/health-agent.js +4 -4
  202. package/lib/generated/services/health.js +4 -4
  203. package/lib/generated/services/healthlake.js +4 -4
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.js +4 -4
  206. package/lib/generated/services/identity-sync.js +2 -2
  207. package/lib/generated/services/identitystore-auth.js +1 -1
  208. package/lib/generated/services/identitystore.js +4 -4
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.d.ts +2 -0
  237. package/lib/generated/services/kafkaconnect.js +7 -5
  238. package/lib/generated/services/kendra-ranking.js +4 -4
  239. package/lib/generated/services/kendra.js +4 -4
  240. package/lib/generated/services/kinesis.d.ts +10 -0
  241. package/lib/generated/services/kinesis.js +18 -5
  242. package/lib/generated/services/kinesisanalytics.js +4 -4
  243. package/lib/generated/services/kinesisvideo.js +4 -4
  244. package/lib/generated/services/kms.js +4 -4
  245. package/lib/generated/services/lakeformation.js +3 -3
  246. package/lib/generated/services/lambda.js +4 -4
  247. package/lib/generated/services/launchwizard.js +4 -4
  248. package/lib/generated/services/lex.js +4 -4
  249. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager.js +4 -4
  252. package/lib/generated/services/lightsail.js +4 -4
  253. package/lib/generated/services/logs.js +4 -4
  254. package/lib/generated/services/lookoutequipment.js +4 -4
  255. package/lib/generated/services/lookoutmetrics.js +3 -3
  256. package/lib/generated/services/lookoutvision.js +3 -3
  257. package/lib/generated/services/m2.js +4 -4
  258. package/lib/generated/services/machinelearning.js +3 -3
  259. package/lib/generated/services/macie2.js +4 -4
  260. package/lib/generated/services/managedblockchain-query.js +2 -2
  261. package/lib/generated/services/managedblockchain.js +4 -4
  262. package/lib/generated/services/mapcredits.js +2 -2
  263. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  264. package/lib/generated/services/mechanicalturk.js +2 -2
  265. package/lib/generated/services/mediaconnect.js +4 -4
  266. package/lib/generated/services/mediaconvert.js +4 -4
  267. package/lib/generated/services/mediaimport.js +1 -1
  268. package/lib/generated/services/medialive.js +4 -4
  269. package/lib/generated/services/mediapackage-vod.js +4 -4
  270. package/lib/generated/services/mediapackage.js +4 -4
  271. package/lib/generated/services/mediapackagev2.js +4 -4
  272. package/lib/generated/services/mediastore.js +4 -4
  273. package/lib/generated/services/mediatailor.js +4 -4
  274. package/lib/generated/services/medical-imaging.js +4 -4
  275. package/lib/generated/services/memorydb.js +4 -4
  276. package/lib/generated/services/mgh.js +4 -4
  277. package/lib/generated/services/mgn.js +4 -4
  278. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  279. package/lib/generated/services/migrationhub-strategy.js +2 -2
  280. package/lib/generated/services/mobileanalytics.js +1 -1
  281. package/lib/generated/services/mobiletargeting.js +4 -4
  282. package/lib/generated/services/monitron.js +3 -3
  283. package/lib/generated/services/mpa.js +4 -4
  284. package/lib/generated/services/mq.js +4 -4
  285. package/lib/generated/services/neptune-db.js +4 -4
  286. package/lib/generated/services/neptune-graph.js +4 -4
  287. package/lib/generated/services/network-firewall.js +4 -4
  288. package/lib/generated/services/network-security-director.js +1 -1
  289. package/lib/generated/services/networkflowmonitor.js +4 -4
  290. package/lib/generated/services/networkmanager-chat.js +1 -1
  291. package/lib/generated/services/networkmanager.js +4 -4
  292. package/lib/generated/services/networkmonitor.js +4 -4
  293. package/lib/generated/services/nimble.js +3 -3
  294. package/lib/generated/services/notifications-contacts.js +4 -4
  295. package/lib/generated/services/notifications.js +4 -4
  296. package/lib/generated/services/nova-act.js +3 -3
  297. package/lib/generated/services/oam.js +4 -4
  298. package/lib/generated/services/observabilityadmin.js +4 -4
  299. package/lib/generated/services/odb.js +4 -4
  300. package/lib/generated/services/omics.js +4 -4
  301. package/lib/generated/services/one.js +3 -3
  302. package/lib/generated/services/opensearch.js +3 -3
  303. package/lib/generated/services/opsworks-cm.js +2 -2
  304. package/lib/generated/services/opsworks.js +2 -2
  305. package/lib/generated/services/organizations.js +4 -4
  306. package/lib/generated/services/osis.js +4 -4
  307. package/lib/generated/services/outposts.js +4 -4
  308. package/lib/generated/services/panorama.js +3 -3
  309. package/lib/generated/services/partnercentral-account-management.js +2 -2
  310. package/lib/generated/services/partnercentral.js +4 -4
  311. package/lib/generated/services/payment-cryptography.js +4 -4
  312. package/lib/generated/services/payments.js +3 -3
  313. package/lib/generated/services/pca-connector-ad.js +4 -4
  314. package/lib/generated/services/pca-connector-scep.js +4 -4
  315. package/lib/generated/services/pcs.js +4 -4
  316. package/lib/generated/services/personalize.js +4 -4
  317. package/lib/generated/services/pi.js +4 -4
  318. package/lib/generated/services/pipes.js +4 -4
  319. package/lib/generated/services/polly.js +3 -3
  320. package/lib/generated/services/pricing.js +2 -2
  321. package/lib/generated/services/pricingplanmanager.js +3 -3
  322. package/lib/generated/services/private-networks.js +3 -3
  323. package/lib/generated/services/profile.d.ts +14 -0
  324. package/lib/generated/services/profile.js +33 -5
  325. package/lib/generated/services/proton.js +4 -4
  326. package/lib/generated/services/purchase-orders.js +3 -3
  327. package/lib/generated/services/q.js +3 -3
  328. package/lib/generated/services/qapps.js +4 -4
  329. package/lib/generated/services/qbusiness.js +4 -4
  330. package/lib/generated/services/qdeveloper.js +3 -3
  331. package/lib/generated/services/qldb.js +3 -3
  332. package/lib/generated/services/quicksight.d.ts +12 -0
  333. package/lib/generated/services/quicksight.js +21 -5
  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.js +4 -4
  409. package/lib/generated/services/ssmmessages.js +2 -2
  410. package/lib/generated/services/sso-directory.js +1 -1
  411. package/lib/generated/services/sso-oauth.js +3 -3
  412. package/lib/generated/services/sso.js +4 -4
  413. package/lib/generated/services/states.js +4 -4
  414. package/lib/generated/services/storagegateway.js +4 -4
  415. package/lib/generated/services/sts.js +4 -4
  416. package/lib/generated/services/support-console.js +1 -1
  417. package/lib/generated/services/support.d.ts +9 -1
  418. package/lib/generated/services/support.js +25 -5
  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.js +4 -4
  463. package/lib/generated/services/xray.js +4 -4
  464. package/package.json +1 -1
@@ -16,7 +16,7 @@ class KendraRankingActions {
16
16
  }
17
17
  exports.KendraRankingActions = KendraRankingActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- KendraRankingActions[_a] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingActions", version: "1.14.0" };
19
+ KendraRankingActions[_a] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  KendraRankingActions.SERVICE_PREFIX = "kendra-ranking";
22
22
  /** [Write] kendra-ranking:CreateRescoreExecutionPlan */
@@ -96,7 +96,7 @@ class KendraRankingResources {
96
96
  }
97
97
  exports.KendraRankingResources = KendraRankingResources;
98
98
  _b = JSII_RTTI_SYMBOL_1;
99
- KendraRankingResources[_b] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingResources", version: "1.14.0" };
99
+ KendraRankingResources[_b] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingResources", version: "1.15.0" };
100
100
  /**
101
101
  * API operation to required IAM actions mapping for kendra-ranking.
102
102
  */
@@ -104,7 +104,7 @@ class KendraRankingOperations {
104
104
  }
105
105
  exports.KendraRankingOperations = KendraRankingOperations;
106
106
  _c = JSII_RTTI_SYMBOL_1;
107
- KendraRankingOperations[_c] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingOperations", version: "1.14.0" };
107
+ KendraRankingOperations[_c] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingOperations", version: "1.15.0" };
108
108
  /** IAM actions required for the CreateRescoreExecutionPlan API call. */
109
109
  KendraRankingOperations.CreateRescoreExecutionPlan = [
110
110
  "kendra-ranking:CreateRescoreExecutionPlan",
@@ -161,7 +161,7 @@ class KendraRankingConditions {
161
161
  }
162
162
  exports.KendraRankingConditions = KendraRankingConditions;
163
163
  _d = JSII_RTTI_SYMBOL_1;
164
- KendraRankingConditions[_d] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingConditions", version: "1.14.0" };
164
+ KendraRankingConditions[_d] = { fqn: "@cdk_utils/iam.kendra_ranking.KendraRankingConditions", version: "1.15.0" };
165
165
  /** Condition keys applicable to the CreateRescoreExecutionPlan action. */
166
166
  KendraRankingConditions.CreateRescoreExecutionPlanConditionKeys = [
167
167
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class KendraActions {
16
16
  }
17
17
  exports.KendraActions = KendraActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- KendraActions[_a] = { fqn: "@cdk_utils/iam.kendra.KendraActions", version: "1.14.0" };
19
+ KendraActions[_a] = { fqn: "@cdk_utils/iam.kendra.KendraActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  KendraActions.SERVICE_PREFIX = "kendra";
22
22
  /** [Write] kendra:AssociateEntitiesToExperience */
@@ -477,7 +477,7 @@ class KendraResources {
477
477
  }
478
478
  exports.KendraResources = KendraResources;
479
479
  _b = JSII_RTTI_SYMBOL_1;
480
- KendraResources[_b] = { fqn: "@cdk_utils/iam.kendra.KendraResources", version: "1.14.0" };
480
+ KendraResources[_b] = { fqn: "@cdk_utils/iam.kendra.KendraResources", version: "1.15.0" };
481
481
  /**
482
482
  * API operation to required IAM actions mapping for kendra.
483
483
  */
@@ -485,7 +485,7 @@ class KendraOperations {
485
485
  }
486
486
  exports.KendraOperations = KendraOperations;
487
487
  _c = JSII_RTTI_SYMBOL_1;
488
- KendraOperations[_c] = { fqn: "@cdk_utils/iam.kendra.KendraOperations", version: "1.14.0" };
488
+ KendraOperations[_c] = { fqn: "@cdk_utils/iam.kendra.KendraOperations", version: "1.15.0" };
489
489
  /** IAM actions required for the AssociateEntitiesToExperience API call. */
490
490
  KendraOperations.AssociateEntitiesToExperience = [
491
491
  "kendra:AssociateEntitiesToExperience",
@@ -750,7 +750,7 @@ class KendraConditions {
750
750
  }
751
751
  exports.KendraConditions = KendraConditions;
752
752
  _d = JSII_RTTI_SYMBOL_1;
753
- KendraConditions[_d] = { fqn: "@cdk_utils/iam.kendra.KendraConditions", version: "1.14.0" };
753
+ KendraConditions[_d] = { fqn: "@cdk_utils/iam.kendra.KendraConditions", version: "1.15.0" };
754
754
  /** Condition keys applicable to the CreateDataSource action. */
755
755
  KendraConditions.CreateDataSourceConditionKeys = [
756
756
  "aws:RequestTag/${TagKey}",
@@ -235,10 +235,14 @@ export declare class KinesisResources {
235
235
  export declare class KinesisOperations {
236
236
  /** IAM actions required for the AddTagsToStream API call. */
237
237
  static readonly AddTagsToStream: string[];
238
+ /** IAM actions required for the CreateChannel API call. */
239
+ static readonly CreateChannel: string[];
238
240
  /** IAM actions required for the CreateStream API call. */
239
241
  static readonly CreateStream: string[];
240
242
  /** IAM actions required for the DecreaseStreamRetentionPeriod API call. */
241
243
  static readonly DecreaseStreamRetentionPeriod: string[];
244
+ /** IAM actions required for the DeleteChannel API call. */
245
+ static readonly DeleteChannel: string[];
242
246
  /** IAM actions required for the DeleteResourcePolicy API call. */
243
247
  static readonly DeleteResourcePolicy: string[];
244
248
  /** IAM actions required for the DeleteStream API call. */
@@ -247,6 +251,8 @@ export declare class KinesisOperations {
247
251
  static readonly DeregisterStreamConsumer: string[];
248
252
  /** IAM actions required for the DescribeAccountSettings API call. */
249
253
  static readonly DescribeAccountSettings: string[];
254
+ /** IAM actions required for the DescribeChannel API call. */
255
+ static readonly DescribeChannel: string[];
250
256
  /** IAM actions required for the DescribeLimits API call. */
251
257
  static readonly DescribeLimits: string[];
252
258
  /** IAM actions required for the DescribeStream API call. */
@@ -267,6 +273,8 @@ export declare class KinesisOperations {
267
273
  static readonly opGetShardIterator: string[];
268
274
  /** IAM actions required for the IncreaseStreamRetentionPeriod API call. */
269
275
  static readonly IncreaseStreamRetentionPeriod: string[];
276
+ /** IAM actions required for the ListChannels API call. */
277
+ static readonly ListChannels: string[];
270
278
  /** IAM actions required for the ListShards API call. */
271
279
  static readonly ListShards: string[];
272
280
  /** IAM actions required for the ListStreamConsumers API call. */
@@ -303,6 +311,8 @@ export declare class KinesisOperations {
303
311
  static readonly UntagResource: string[];
304
312
  /** IAM actions required for the UpdateAccountSettings API call. */
305
313
  static readonly UpdateAccountSettings: string[];
314
+ /** IAM actions required for the UpdateChannel API call. */
315
+ static readonly UpdateChannel: string[];
306
316
  /** IAM actions required for the UpdateMaxRecordSize API call. */
307
317
  static readonly UpdateMaxRecordSize: string[];
308
318
  /** IAM actions required for the UpdateShardCount API call. */
@@ -16,7 +16,7 @@ class KinesisActions {
16
16
  }
17
17
  exports.KinesisActions = KinesisActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- KinesisActions[_a] = { fqn: "@cdk_utils/iam.kinesis.KinesisActions", version: "1.14.0" };
19
+ KinesisActions[_a] = { fqn: "@cdk_utils/iam.kinesis.KinesisActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  KinesisActions.SERVICE_PREFIX = "kinesis";
22
22
  /** [Tagging] kinesis:AddTagsToStream */
@@ -250,7 +250,7 @@ class KinesisResources {
250
250
  }
251
251
  exports.KinesisResources = KinesisResources;
252
252
  _b = JSII_RTTI_SYMBOL_1;
253
- KinesisResources[_b] = { fqn: "@cdk_utils/iam.kinesis.KinesisResources", version: "1.14.0" };
253
+ KinesisResources[_b] = { fqn: "@cdk_utils/iam.kinesis.KinesisResources", version: "1.15.0" };
254
254
  /**
255
255
  * API operation to required IAM actions mapping for kinesis.
256
256
  */
@@ -258,9 +258,14 @@ class KinesisOperations {
258
258
  }
259
259
  exports.KinesisOperations = KinesisOperations;
260
260
  _c = JSII_RTTI_SYMBOL_1;
261
- KinesisOperations[_c] = { fqn: "@cdk_utils/iam.kinesis.KinesisOperations", version: "1.14.0" };
261
+ KinesisOperations[_c] = { fqn: "@cdk_utils/iam.kinesis.KinesisOperations", version: "1.15.0" };
262
262
  /** IAM actions required for the AddTagsToStream API call. */
263
263
  KinesisOperations.AddTagsToStream = ["kinesis:AddTagsToStream"];
264
+ /** IAM actions required for the CreateChannel API call. */
265
+ KinesisOperations.CreateChannel = [
266
+ "iam:PassRole",
267
+ "kinesis:TagResource",
268
+ ];
264
269
  /** IAM actions required for the CreateStream API call. */
265
270
  KinesisOperations.CreateStream = [
266
271
  "kinesis:AddTagsToStream",
@@ -270,6 +275,8 @@ KinesisOperations.CreateStream = [
270
275
  KinesisOperations.DecreaseStreamRetentionPeriod = [
271
276
  "kinesis:DecreaseStreamRetentionPeriod",
272
277
  ];
278
+ /** IAM actions required for the DeleteChannel API call. */
279
+ KinesisOperations.DeleteChannel = [];
273
280
  /** IAM actions required for the DeleteResourcePolicy API call. */
274
281
  KinesisOperations.DeleteResourcePolicy = [
275
282
  "kinesis:DeleteResourcePolicy",
@@ -284,6 +291,8 @@ KinesisOperations.DeregisterStreamConsumer = [
284
291
  KinesisOperations.DescribeAccountSettings = [
285
292
  "kinesis:DescribeAccountSettings",
286
293
  ];
294
+ /** IAM actions required for the DescribeChannel API call. */
295
+ KinesisOperations.DescribeChannel = [];
287
296
  /** IAM actions required for the DescribeLimits API call. */
288
297
  KinesisOperations.DescribeLimits = ["kinesis:DescribeLimits"];
289
298
  /** IAM actions required for the DescribeStream API call. */
@@ -314,6 +323,8 @@ KinesisOperations.opGetShardIterator = ["kinesis:GetShardIterator"];
314
323
  KinesisOperations.IncreaseStreamRetentionPeriod = [
315
324
  "kinesis:IncreaseStreamRetentionPeriod",
316
325
  ];
326
+ /** IAM actions required for the ListChannels API call. */
327
+ KinesisOperations.ListChannels = [];
317
328
  /** IAM actions required for the ListShards API call. */
318
329
  KinesisOperations.ListShards = ["kinesis:ListShards"];
319
330
  /** IAM actions required for the ListStreamConsumers API call. */
@@ -365,6 +376,8 @@ KinesisOperations.UntagResource = ["kinesis:UntagResource"];
365
376
  KinesisOperations.UpdateAccountSettings = [
366
377
  "kinesis:UpdateAccountSettings",
367
378
  ];
379
+ /** IAM actions required for the UpdateChannel API call. */
380
+ KinesisOperations.UpdateChannel = [];
368
381
  /** IAM actions required for the UpdateMaxRecordSize API call. */
369
382
  KinesisOperations.UpdateMaxRecordSize = [
370
383
  "kinesis:UpdateMaxRecordSize",
@@ -420,7 +433,7 @@ class KinesisConditions {
420
433
  }
421
434
  exports.KinesisConditions = KinesisConditions;
422
435
  _d = JSII_RTTI_SYMBOL_1;
423
- KinesisConditions[_d] = { fqn: "@cdk_utils/iam.kinesis.KinesisConditions", version: "1.14.0" };
436
+ KinesisConditions[_d] = { fqn: "@cdk_utils/iam.kinesis.KinesisConditions", version: "1.15.0" };
424
437
  /** Condition keys applicable to the InjectApiError action. */
425
438
  KinesisConditions.InjectApiErrorConditionKeys = [
426
439
  "kinesis:FisActionId",
@@ -439,4 +452,4 @@ KinesisConditions.FIS_ACTION_ID = "kinesis:FisActionId";
439
452
  KinesisConditions.FIS_INJECT_PERCENTAGE = "kinesis:FisInjectPercentage";
440
453
  /** Condition key: kinesis:FisTargetArns (ArrayOfARN) */
441
454
  KinesisConditions.FIS_TARGET_ARNS = "kinesis:FisTargetArns";
442
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMva2luZXNpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0ErSUM7OztBQTlJQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyx3Q0FBd0M7QUFDeEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCxvREFBb0Q7QUFDcEMsNENBQTZCLEdBQzVDLHVDQUF1QyxDQUFDO0FBQ3pDLDJDQUEyQztBQUMzQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCwrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsNkNBQTZDO0FBQzdCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELDRDQUE0QztBQUM1QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSwyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsZ0RBQWdEO0FBQ2hDLHdDQUF5QixHQUN4QyxtQ0FBbUMsQ0FBQztBQUNyQywrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsZ0NBQWdDO0FBQ2hCLCtCQUFnQixHQUFHLG9CQUFvQixDQUFDO0FBQ3hELHVDQUF1QztBQUN2QixzQ0FBdUIsR0FBRywyQkFBMkIsQ0FBQztBQUN0RSxzQ0FBc0M7QUFDdEIscUNBQXNCLEdBQUcsMEJBQTBCLENBQUM7QUFDcEUsb0RBQW9EO0FBQ3BDLDRDQUE2QixHQUM1Qyx1Q0FBdUMsQ0FBQztBQUN6QyxxQ0FBcUM7QUFDckIsNkJBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQUMxRCxnQ0FBZ0M7QUFDaEIseUJBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCx5Q0FBeUM7QUFDekIsa0NBQW1CLEdBQUcsNkJBQTZCLENBQUM7QUFDcEUsaUNBQWlDO0FBQ2pCLDBCQUFXLEdBQUcscUJBQXFCLENBQUM7QUFDcEQseUNBQXlDO0FBQ3pCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHVDQUF1QztBQUN2QixnQ0FBaUIsR0FBRywyQkFBMkIsQ0FBQztBQUNoRSxrQ0FBa0M7QUFDbEIsMEJBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUNwRCxnQ0FBZ0M7QUFDaEIsd0JBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUNoRCxpQ0FBaUM7QUFDakIseUJBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCx3Q0FBd0M7QUFDeEIsZ0NBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsNkNBQTZDO0FBQzdCLHFDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLDZDQUE2QztBQUM3QixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxpQ0FBaUM7QUFDakIseUJBQVUsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCw0Q0FBNEM7QUFDNUIsb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsMkNBQTJDO0FBQzNCLG1DQUFvQixHQUFHLDhCQUE4QixDQUFDO0FBQ3RFLHNDQUFzQztBQUN0QiwrQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCxvQ0FBb0M7QUFDcEIsMEJBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUNwRCxzQ0FBc0M7QUFDdEIsNEJBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCw0Q0FBNEM7QUFDNUIsb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsMENBQTBDO0FBQzFCLGtDQUFtQixHQUFHLDZCQUE2QixDQUFDO0FBQ3BFLHVDQUF1QztBQUN2QiwrQkFBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCx1Q0FBdUM7QUFDdkIsK0JBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsaURBQWlEO0FBQ2pDLHlDQUEwQixHQUN6QyxvQ0FBb0MsQ0FBQztBQUV0Qyw4QkFBOEI7QUFDZCw2QkFBYyxHQUFhO0lBQzFDLGNBQWMsQ0FBQyx1QkFBdUI7SUFDdEMsY0FBYyxDQUFDLGNBQWM7SUFDN0IsY0FBYyxDQUFDLGNBQWM7SUFDN0IsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLHVCQUF1QjtJQUN0QyxjQUFjLENBQUMsc0JBQXNCO0lBQ3JDLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLGlCQUFpQjtJQUNoQyxjQUFjLENBQUMsZ0JBQWdCO0NBQy9CLENBQUM7QUFDRiwrQkFBK0I7QUFDZiw4QkFBZSxHQUFhO0lBQzNDLGNBQWMsQ0FBQyxZQUFZO0lBQzNCLGNBQWMsQ0FBQyw2QkFBNkI7SUFDNUMsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsd0JBQXdCO0lBQ3ZDLGNBQWMsQ0FBQyx5QkFBeUI7SUFDeEMsY0FBYyxDQUFDLHdCQUF3QjtJQUN2QyxjQUFjLENBQUMsNkJBQTZCO0lBQzVDLGNBQWMsQ0FBQyxjQUFjO0lBQzdCLGNBQWMsQ0FBQyxXQUFXO0lBQzFCLGNBQWMsQ0FBQyxTQUFTO0lBQ3hCLGNBQWMsQ0FBQyxVQUFVO0lBQ3pCLGNBQWMsQ0FBQyxpQkFBaUI7SUFDaEMsY0FBYyxDQUFDLHNCQUFzQjtJQUNyQyxjQUFjLENBQUMsVUFBVTtJQUN6QixjQUFjLENBQUMscUJBQXFCO0lBQ3BDLGNBQWMsQ0FBQyxvQkFBb0I7SUFDbkMsY0FBYyxDQUFDLHFCQUFxQjtJQUNwQyxjQUFjLENBQUMsbUJBQW1CO0lBQ2xDLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsMEJBQTBCO0NBQ3pDLENBQUM7QUFDRiw4QkFBOEI7QUFDZCw2QkFBYyxHQUFhO0lBQzFDLGNBQWMsQ0FBQyxVQUFVO0lBQ3pCLGNBQWMsQ0FBQyxtQkFBbUI7SUFDbEMsY0FBYyxDQUFDLFdBQVc7Q0FDMUIsQ0FBQztBQUNGLCtDQUErQztBQUMvQiw2Q0FBOEIsR0FBYSxFQUFFLENBQUM7QUFDOUQsaUNBQWlDO0FBQ2pCLGdDQUFpQixHQUFhO0lBQzdDLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQyxvQkFBb0I7SUFDbkMsY0FBYyxDQUFDLFdBQVc7SUFDMUIsY0FBYyxDQUFDLGFBQWE7Q0FDNUIsQ0FBQztBQW1HSCxNQUFNLGdCQUFnQixHQUNyQiwrTEFBK0wsQ0FBQztBQUNqTSxNQUFNLGNBQWMsR0FDbkIseUZBQXlGLENBQUM7QUFDM0YsTUFBTSxjQUFjLEdBQ25CLHFHQUFxRyxDQUFDO0FBRXZHOztHQUVHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFDNUI7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQThCO1FBQzdDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLGFBQWEsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUMzTSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUNwQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7WUFDcEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtZQUNwQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxZQUFZO1lBQ3hDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMseUJBQXlCO1NBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQTRCO1FBQ3pDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssUUFBUSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsUUFBUSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDaEMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxLQUFLO1NBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQTRCO1FBQ3pDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsV0FBVyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDaEMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxVQUFVO1NBQ3BDLENBQUM7SUFDSCxDQUFDOztBQS9GRiw0Q0FnR0M7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQXVIQzs7O0FBdEhBLDZEQUE2RDtBQUM3QyxpQ0FBZSxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUN4RSwwREFBMEQ7QUFDMUMsOEJBQVksR0FBYTtJQUN4Qyx5QkFBeUI7SUFDekIsc0JBQXNCO0NBQ3RCLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsK0NBQTZCLEdBQWE7SUFDekQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsc0NBQW9CLEdBQWE7SUFDaEQsOEJBQThCO0NBQzlCLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsOEJBQVksR0FBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDbEUsc0VBQXNFO0FBQ3RELDBDQUF3QixHQUFhO0lBQ3BELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELHlDQUF1QixHQUFhO0lBQ25ELGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsNERBQTREO0FBQzVDLGdDQUFjLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3RFLDREQUE0RDtBQUM1QyxnQ0FBYyxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN0RSxvRUFBb0U7QUFDcEQsd0NBQXNCLEdBQWE7SUFDbEQsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsdUNBQXFCLEdBQWE7SUFDakQsK0JBQStCO0NBQy9CLENBQUM7QUFDRix1RUFBdUU7QUFDdkQsMkNBQXlCLEdBQWE7SUFDckQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsMENBQXdCLEdBQWE7SUFDcEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsOEJBQVksR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDaEUsK0RBQStEO0FBQy9DLHFDQUFtQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM5RSw4REFBOEQ7QUFDOUMsb0NBQWtCLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQzVFLDJFQUEyRTtBQUMzRCwrQ0FBNkIsR0FBYTtJQUN6RCx1Q0FBdUM7Q0FDdkMsQ0FBQztBQUNGLHdEQUF3RDtBQUN4Qyw0QkFBVSxHQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUM5RCxpRUFBaUU7QUFDakQscUNBQW1CLEdBQWE7SUFDL0MsNkJBQTZCO0NBQzdCLENBQUM7QUFDRix5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsaUVBQWlFO0FBQ2pELHFDQUFtQixHQUFhO0lBQy9DLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLG1DQUFpQixHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUM1RSx5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsdURBQXVEO0FBQ3ZDLDJCQUFTLEdBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzVELHdEQUF3RDtBQUN4Qyw0QkFBVSxHQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUM5RCwrREFBK0Q7QUFDL0MsbUNBQWlCLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQzVFLG9FQUFvRTtBQUNwRCx3Q0FBc0IsR0FBYTtJQUNsRCxnQ0FBZ0M7SUFDaEMscUJBQXFCO0NBQ3JCLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsc0NBQW9CLEdBQWE7SUFDaEQsOEJBQThCO0NBQzlCLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsNEJBQVUsR0FBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDOUQsbUVBQW1FO0FBQ25ELHVDQUFxQixHQUFhO0lBQ2pELCtCQUErQjtDQUMvQixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHNDQUFvQixHQUFhO0lBQ2hELDhCQUE4QjtDQUM5QixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSx5REFBeUQ7QUFDekMsNkJBQVcsR0FBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsMkRBQTJEO0FBQzNDLCtCQUFhLEdBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3BFLG1FQUFtRTtBQUNuRCx1Q0FBcUIsR0FBYTtJQUNqRCwrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxxQ0FBbUIsR0FBYTtJQUMvQyw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxrQ0FBZ0IsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDMUUsOERBQThEO0FBQzlDLGtDQUFnQixHQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUMxRSx3RUFBd0U7QUFDeEQsNENBQTBCLEdBQWE7SUFDdEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFHSDs7R0FFRztBQUNILE1BQWEsaUJBQWlCO0lBcUI3Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFnQjtRQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUN6QixLQUFhO1FBRWIsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDbkIsTUFBZ0I7UUFFaEIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUMxRSxDQUFDOztBQWpFRiw4Q0FrRUM7OztBQWpFQSw4REFBOEQ7QUFDOUMsNkNBQTJCLEdBQWE7SUFDdkQscUJBQXFCO0lBQ3JCLDZCQUE2QjtJQUM3Qix1QkFBdUI7Q0FDdkIsQ0FBQztBQUVGLHVEQUF1RDtBQUN2QyxpQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxrQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsOEJBQVksR0FBRyxhQUFhLENBQUM7QUFDN0Msa0RBQWtEO0FBQ2xDLCtCQUFhLEdBQUcscUJBQXFCLENBQUM7QUFDdEQsMkRBQTJEO0FBQzNDLHVDQUFxQixHQUFHLDZCQUE2QixDQUFDO0FBQ3RFLHdEQUF3RDtBQUN4QyxpQ0FBZSxHQUFHLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uva2luZXNpcy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUga2luZXNpcyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgS2luZXNpc0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJraW5lc2lzXCI7XG5cblx0LyoqIFtUYWdnaW5nXSBraW5lc2lzOkFkZFRhZ3NUb1N0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvU3RyZWFtID0gXCJraW5lc2lzOkFkZFRhZ3NUb1N0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkNyZWF0ZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3RyZWFtID0gXCJraW5lc2lzOkNyZWF0ZVN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCA9XG5cdFx0XCJraW5lc2lzOkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJraW5lc2lzOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVsZXRlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTdHJlYW0gPSBcImtpbmVzaXM6RGVsZXRlU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgPSBcImtpbmVzaXM6RGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZUFjY291bnRTZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgPSBcImtpbmVzaXM6RGVzY3JpYmVBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkRlc2NyaWJlTGltaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbWl0cyA9IFwia2luZXNpczpEZXNjcmliZUxpbWl0c1wiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtID0gXCJraW5lc2lzOkRlc2NyaWJlU3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZVN0cmVhbUNvbnN1bWVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbUNvbnN1bWVyID0gXCJraW5lc2lzOkRlc2NyaWJlU3RyZWFtQ29uc3VtZXJcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkRlc2NyaWJlU3RyZWFtU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHJlYW1TdW1tYXJ5ID0gXCJraW5lc2lzOkRlc2NyaWJlU3RyZWFtU3VtbWFyeVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRpc2FibGVFbmhhbmNlZE1vbml0b3JpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVFbmhhbmNlZE1vbml0b3JpbmcgPVxuXHRcdFwia2luZXNpczpEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RW5hYmxlRW5oYW5jZWRNb25pdG9yaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVFbmhhbmNlZE1vbml0b3JpbmcgPSBcImtpbmVzaXM6RW5hYmxlRW5oYW5jZWRNb25pdG9yaW5nXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpHZXRSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvcmRzID0gXCJraW5lc2lzOkdldFJlY29yZHNcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwia2luZXNpczpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6R2V0U2hhcmRJdGVyYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2hhcmRJdGVyYXRvciA9IFwia2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6SW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kID1cblx0XHRcImtpbmVzaXM6SW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2RcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpJbmplY3RBcGlFcnJvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5qZWN0QXBpRXJyb3IgPSBcImtpbmVzaXM6SW5qZWN0QXBpRXJyb3JcIjtcblx0LyoqIFtMaXN0XSBraW5lc2lzOkxpc3RTaGFyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZHMgPSBcImtpbmVzaXM6TGlzdFNoYXJkc1wiO1xuXHQvKiogW0xpc3RdIGtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0cmVhbUNvbnN1bWVycyA9IFwia2luZXNpczpMaXN0U3RyZWFtQ29uc3VtZXJzXCI7XG5cdC8qKiBbTGlzdF0ga2luZXNpczpMaXN0U3RyZWFtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0cmVhbXMgPSBcImtpbmVzaXM6TGlzdFN0cmVhbXNcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImtpbmVzaXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6TGlzdFRhZ3NGb3JTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yU3RyZWFtID0gXCJraW5lc2lzOkxpc3RUYWdzRm9yU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6TWVyZ2VTaGFyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1lcmdlU2hhcmRzID0gXCJraW5lc2lzOk1lcmdlU2hhcmRzXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6UHV0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQgPSBcImtpbmVzaXM6UHV0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6UHV0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkcyA9IFwia2luZXNpczpQdXRSZWNvcmRzXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJraW5lc2lzOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6UmVnaXN0ZXJTdHJlYW1Db25zdW1lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTdHJlYW1Db25zdW1lciA9IFwia2luZXNpczpSZWdpc3RlclN0cmVhbUNvbnN1bWVyXCI7XG5cdC8qKiBbVGFnZ2luZ10ga2luZXNpczpSZW1vdmVUYWdzRnJvbVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21TdHJlYW0gPSBcImtpbmVzaXM6UmVtb3ZlVGFnc0Zyb21TdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpTcGxpdFNoYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBTcGxpdFNoYXJkID0gXCJraW5lc2lzOlNwbGl0U2hhcmRcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpTdGFydFN0cmVhbUVuY3J5cHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U3RyZWFtRW5jcnlwdGlvbiA9IFwia2luZXNpczpTdGFydFN0cmVhbUVuY3J5cHRpb25cIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpTdG9wU3RyZWFtRW5jcnlwdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFN0cmVhbUVuY3J5cHRpb24gPSBcImtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb25cIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOlN1YnNjcmliZVRvU2hhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1YnNjcmliZVRvU2hhcmQgPSBcImtpbmVzaXM6U3Vic2NyaWJlVG9TaGFyZFwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJraW5lc2lzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10ga2luZXNpczpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJraW5lc2lzOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpVcGRhdGVBY2NvdW50U2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjY291bnRTZXR0aW5ncyA9IFwia2luZXNpczpVcGRhdGVBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpVcGRhdGVNYXhSZWNvcmRTaXplICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYXhSZWNvcmRTaXplID0gXCJraW5lc2lzOlVwZGF0ZU1heFJlY29yZFNpemVcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpVcGRhdGVTaGFyZENvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTaGFyZENvdW50ID0gXCJraW5lc2lzOlVwZGF0ZVNoYXJkQ291bnRcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpVcGRhdGVTdHJlYW1Nb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTdHJlYW1Nb2RlID0gXCJraW5lc2lzOlVwZGF0ZVN0cmVhbU1vZGVcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpVcGRhdGVTdHJlYW1XYXJtVGhyb3VnaHB1dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQgPVxuXHRcdFwia2luZXNpczpVcGRhdGVTdHJlYW1XYXJtVGhyb3VnaHB1dFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEtpbmVzaXNBY3Rpb25zLkRlc2NyaWJlQWNjb3VudFNldHRpbmdzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlc2NyaWJlTGltaXRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlc2NyaWJlU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlc2NyaWJlU3RyZWFtQ29uc3VtZXIsXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVzY3JpYmVTdHJlYW1TdW1tYXJ5LFxuXHRcdEtpbmVzaXNBY3Rpb25zLmFjdGlvbkdldFJlY29yZHMsXG5cdFx0S2luZXNpc0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0S2luZXNpc0FjdGlvbnMuYWN0aW9uR2V0U2hhcmRJdGVyYXRvcixcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkxpc3RUYWdzRm9yU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlN1YnNjcmliZVRvU2hhcmQsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0S2luZXNpc0FjdGlvbnMuQ3JlYXRlU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlbGV0ZVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIsXG5cdFx0S2luZXNpc0FjdGlvbnMuRGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZyxcblx0XHRLaW5lc2lzQWN0aW9ucy5FbmFibGVFbmhhbmNlZE1vbml0b3JpbmcsXG5cdFx0S2luZXNpc0FjdGlvbnMuSW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QsXG5cdFx0S2luZXNpc0FjdGlvbnMuSW5qZWN0QXBpRXJyb3IsXG5cdFx0S2luZXNpc0FjdGlvbnMuTWVyZ2VTaGFyZHMsXG5cdFx0S2luZXNpc0FjdGlvbnMuUHV0UmVjb3JkLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlB1dFJlY29yZHMsXG5cdFx0S2luZXNpc0FjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0S2luZXNpc0FjdGlvbnMuUmVnaXN0ZXJTdHJlYW1Db25zdW1lcixcblx0XHRLaW5lc2lzQWN0aW9ucy5TcGxpdFNoYXJkLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlN0YXJ0U3RyZWFtRW5jcnlwdGlvbixcblx0XHRLaW5lc2lzQWN0aW9ucy5TdG9wU3RyZWFtRW5jcnlwdGlvbixcblx0XHRLaW5lc2lzQWN0aW9ucy5VcGRhdGVBY2NvdW50U2V0dGluZ3MsXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlTWF4UmVjb3JkU2l6ZSxcblx0XHRLaW5lc2lzQWN0aW9ucy5VcGRhdGVTaGFyZENvdW50LFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZVN0cmVhbU1vZGUsXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEtpbmVzaXNBY3Rpb25zLkxpc3RTaGFyZHMsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFN0cmVhbUNvbnN1bWVycyxcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0U3RyZWFtcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0S2luZXNpc0FjdGlvbnMuQWRkVGFnc1RvU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlJlbW92ZVRhZ3NGcm9tU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25zdW1lciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0NvbnN1bWVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFN0cmVhbVR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0cmVhbVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBTdHJlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uc3VtZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25zdW1lck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1lckNyZWF0aW9uVGltcHN0YW1wIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25zdW1lckNyZWF0aW9uVGltcHN0YW1wOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29uc3VtZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNDb25zdW1lckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtVHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0cmVhbVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBTdHJlYW1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnN1bWVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnN1bWVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXAgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25zdW1lckNyZWF0aW9uVGltcHN0YW1wOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBrbXNLZXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNLTVNLZXlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgS2V5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga21zS2V5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzS01TS2V5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBLZXlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzdHJlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNTdHJlYW1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN0cmVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc1N0cmVhbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQ29uc3VtZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6a2luZXNpczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOig/PHN0cmVhbVR5cGU+W146Lz9dKylcXC8oPzxzdHJlYW1OYW1lPlteOi8/XSspXFwvY29uc3VtZXJcXC8oPzxjb25zdW1lck5hbWU+W146Lz9dKyk6KD88Y29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcD5bXjovP10rKSQvO1xuY29uc3QgS01TS2V5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmttczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmtleVxcLyg/PGtleUlkPlteOi8/XSspJC87XG5jb25zdCBTdHJlYW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6a2luZXNpczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN0cmVhbVxcLyg/PHN0cmVhbU5hbWU+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBraW5lc2lzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnN1bWVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnN1bWVyKHByb3BzOiBLaW5lc2lzQ29uc3VtZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2luZXNpczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifToke3Byb3BzLnN0cmVhbVR5cGV9LyR7cHJvcHMuc3RyZWFtTmFtZX0vY29uc3VtZXIvJHtwcm9wcy5jb25zdW1lck5hbWV9OiR7cHJvcHMuY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uc3VtZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnN1bWVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnN1bWVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnN1bWVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnN1bWVyQXJuKGFybjogc3RyaW5nKTogS2luZXNpc0NvbnN1bWVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25zdW1lckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25zdW1lciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdHJlYW1UeXBlOiBtYXRjaC5ncm91cHMhLnN0cmVhbVR5cGUsXG5cdFx0XHRzdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLnN0cmVhbU5hbWUsXG5cdFx0XHRjb25zdW1lck5hbWU6IG1hdGNoLmdyb3VwcyEuY29uc3VtZXJOYW1lLFxuXHRcdFx0Y29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcDogbWF0Y2guZ3JvdXBzIS5jb25zdW1lckNyZWF0aW9uVGltcHN0YW1wLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGttc0tleSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBrbXNLZXkocHJvcHM6IEtpbmVzaXNLTVNLZXlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmtleS8ke3Byb3BzLmtleUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBrbXNLZXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEtNU0tleUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBLTVNLZXlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga21zS2V5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtNU0tleUFybihhcm46IHN0cmluZyk6IEtpbmVzaXNLTVNLZXlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEtNU0tleUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBrbXNLZXkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0a2V5SWQ6IG1hdGNoLmdyb3VwcyEua2V5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3RyZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN0cmVhbShwcm9wczogS2luZXNpc1N0cmVhbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpraW5lc2lzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN0cmVhbS8ke3Byb3BzLnN0cmVhbU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN0cmVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3RyZWFtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN0cmVhbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzdHJlYW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3RyZWFtQXJuKGFybjogc3RyaW5nKTogS2luZXNpc1N0cmVhbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3RyZWFtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0cmVhbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLnN0cmVhbU5hbWUsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Iga2luZXNpcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFnc1RvU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6QWRkVGFnc1RvU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpBZGRUYWdzVG9TdHJlYW1cIixcblx0XHRcImtpbmVzaXM6Q3JlYXRlU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2Q6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVsZXRlU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRTZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlc2NyaWJlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGltaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW1pdHM6IHN0cmluZ1tdID0gW1wia2luZXNpczpEZXNjcmliZUxpbWl0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbTogc3RyaW5nW10gPSBbXCJraW5lc2lzOkRlc2NyaWJlU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbUNvbnN1bWVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHJlYW1Db25zdW1lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlc2NyaWJlU3RyZWFtQ29uc3VtZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTdHJlYW1TdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHJlYW1TdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1TdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVFbmhhbmNlZE1vbml0b3JpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVFbmhhbmNlZE1vbml0b3JpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVFbmhhbmNlZE1vbml0b3Jpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpFbmFibGVFbmhhbmNlZE1vbml0b3JpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOkdldFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJraW5lc2lzOkdldFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTaGFyZEl0ZXJhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTaGFyZEl0ZXJhdG9yOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0U2hhcmRJdGVyYXRvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZDogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTaGFyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmRzOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFNoYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0cmVhbUNvbnN1bWVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1Db25zdW1lcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpMaXN0U3RyZWFtQ29uc3VtZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdHJlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0cmVhbXM6IHN0cmluZ1tdID0gW1wia2luZXNpczpMaXN0U3RyZWFtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JTdHJlYW06IHN0cmluZ1tdID0gW1wia2luZXNpczpMaXN0VGFnc0ZvclN0cmVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTWVyZ2VTaGFyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVNoYXJkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOk1lcmdlU2hhcmRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wia2luZXNpczpQdXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmRzOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6UHV0UmVjb3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJraW5lc2lzOlB1dFJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlclN0cmVhbUNvbnN1bWVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTdHJlYW1Db25zdW1lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlJlZ2lzdGVyU3RyZWFtQ29uc3VtZXJcIixcblx0XHRcImtpbmVzaXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVGFnc0Zyb21TdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlJlbW92ZVRhZ3NGcm9tU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNwbGl0U2hhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTcGxpdFNoYXJkOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6U3BsaXRTaGFyZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTdHJlYW1FbmNyeXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTdHJlYW1FbmNyeXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BTdHJlYW1FbmNyeXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFN0cmVhbUVuY3J5cHRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpTdG9wU3RyZWFtRW5jcnlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJzY3JpYmVUb1NoYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3Vic2NyaWJlVG9TaGFyZDogc3RyaW5nW10gPSBbXCJraW5lc2lzOlN1YnNjcmliZVRvU2hhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wia2luZXNpczpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wia2luZXNpczpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY2NvdW50U2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY2NvdW50U2V0dGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpVcGRhdGVBY2NvdW50U2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWF4UmVjb3JkU2l6ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1heFJlY29yZFNpemU6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpVcGRhdGVNYXhSZWNvcmRTaXplXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNoYXJkQ291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTaGFyZENvdW50OiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VXBkYXRlU2hhcmRDb3VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3RyZWFtTW9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbU1vZGU6IHN0cmluZ1tdID0gW1wia2luZXNpczpVcGRhdGVTdHJlYW1Nb2RlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTdHJlYW1XYXJtVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXRcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGtpbmVzaXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbmplY3RBcGlFcnJvciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbmplY3RBcGlFcnJvckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpGaXNBY3Rpb25JZFwiLFxuXHRcdFwia2luZXNpczpGaXNJbmplY3RQZXJjZW50YWdlXCIsXG5cdFx0XCJraW5lc2lzOkZpc1RhcmdldEFybnNcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBraW5lc2lzOkZpc0FjdGlvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSVNfQUNUSU9OX0lEID0gXCJraW5lc2lzOkZpc0FjdGlvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2UgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBGSVNfSU5KRUNUX1BFUkNFTlRBR0UgPSBcImtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleToga2luZXNpczpGaXNUYXJnZXRBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklTX1RBUkdFVF9BUk5TID0gXCJraW5lc2lzOkZpc1RhcmdldEFybnNcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBga2luZXNpczpGaXNBY3Rpb25JZGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlzQWN0aW9uSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJraW5lc2lzOkZpc0FjdGlvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2VgLlxuXHQgKi9cblx0c3RhdGljIGZpc0luamVjdFBlcmNlbnRhZ2UoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGtpbmVzaXM6RmlzVGFyZ2V0QXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgZmlzVGFyZ2V0QXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcImtpbmVzaXM6RmlzVGFyZ2V0QXJuc1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
455
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMva2luZXNpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0ErSUM7OztBQTlJQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyx3Q0FBd0M7QUFDeEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCxvREFBb0Q7QUFDcEMsNENBQTZCLEdBQzVDLHVDQUF1QyxDQUFDO0FBQ3pDLDJDQUEyQztBQUMzQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCwrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsNkNBQTZDO0FBQzdCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELDRDQUE0QztBQUM1QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSwyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsZ0RBQWdEO0FBQ2hDLHdDQUF5QixHQUN4QyxtQ0FBbUMsQ0FBQztBQUNyQywrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsZ0NBQWdDO0FBQ2hCLCtCQUFnQixHQUFHLG9CQUFvQixDQUFDO0FBQ3hELHVD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Q2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0I7UUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBYTtRQUViLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQ25CLE1BQWdCO1FBRWhCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDMUUsQ0FBQzs7QUFqRUYsOENBa0VDOzs7QUFqRUEsOERBQThEO0FBQzlDLDZDQUEyQixHQUFhO0lBQ3ZELHFCQUFxQjtJQUNyQiw2QkFBNkI7SUFDN0IsdUJBQXVCO0NBQ3ZCLENBQUM7QUFFRix1REFBdUQ7QUFDdkMsaUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsa0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDhCQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLGtEQUFrRDtBQUNsQywrQkFBYSxHQUFHLHFCQUFxQixDQUFDO0FBQ3RELDJEQUEyRDtBQUMzQyx1Q0FBcUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN0RSx3REFBd0Q7QUFDeEMsaUNBQWUsR0FBRyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2tpbmVzaXMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGtpbmVzaXMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwia2luZXNpc1wiO1xuXG5cdC8qKiBbVGFnZ2luZ10ga2luZXNpczpBZGRUYWdzVG9TdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1N0cmVhbSA9IFwia2luZXNpczpBZGRUYWdzVG9TdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpDcmVhdGVTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0cmVhbSA9IFwia2luZXNpczpDcmVhdGVTdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgPVxuXHRcdFwia2luZXNpczpEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwia2luZXNpczpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlbGV0ZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RyZWFtID0gXCJraW5lc2lzOkRlbGV0ZVN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlcmVnaXN0ZXJTdHJlYW1Db25zdW1lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyID0gXCJraW5lc2lzOkRlcmVnaXN0ZXJTdHJlYW1Db25zdW1lclwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudFNldHRpbmdzID0gXCJraW5lc2lzOkRlc2NyaWJlQWNjb3VudFNldHRpbmdzXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZUxpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW1pdHMgPSBcImtpbmVzaXM6RGVzY3JpYmVMaW1pdHNcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkRlc2NyaWJlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbSA9IFwia2luZXNpczpEZXNjcmliZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVTdHJlYW1Db25zdW1lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHJlYW1Db25zdW1lciA9IFwia2luZXNpczpEZXNjcmliZVN0cmVhbUNvbnN1bWVyXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtU3VtbWFyeSA9IFwia2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnlcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nID1cblx0XHRcImtpbmVzaXM6RGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlRW5oYW5jZWRNb25pdG9yaW5nID0gXCJraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6R2V0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3JkcyA9IFwia2luZXNpczpHZXRSZWNvcmRzXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcImtpbmVzaXM6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkdldFNoYXJkSXRlcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNoYXJkSXRlcmF0b3IgPSBcImtpbmVzaXM6R2V0U2hhcmRJdGVyYXRvclwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCA9XG5cdFx0XCJraW5lc2lzOkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6SW5qZWN0QXBpRXJyb3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluamVjdEFwaUVycm9yID0gXCJraW5lc2lzOkluamVjdEFwaUVycm9yXCI7XG5cdC8qKiBbTGlzdF0ga2luZXNpczpMaXN0U2hhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmRzID0gXCJraW5lc2lzOkxpc3RTaGFyZHNcIjtcblx0LyoqIFtMaXN0XSBraW5lc2lzOkxpc3RTdHJlYW1Db25zdW1lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1Db25zdW1lcnMgPSBcImtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVyc1wiO1xuXHQvKiogW0xpc3RdIGtpbmVzaXM6TGlzdFN0cmVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1zID0gXCJraW5lc2lzOkxpc3RTdHJlYW1zXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJraW5lc2lzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkxpc3RUYWdzRm9yU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclN0cmVhbSA9IFwia2luZXNpczpMaXN0VGFnc0ZvclN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOk1lcmdlU2hhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVNoYXJkcyA9IFwia2luZXNpczpNZXJnZVNoYXJkc1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJraW5lc2lzOlB1dFJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlY29yZHMgPSBcImtpbmVzaXM6UHV0UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwia2luZXNpczpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgPSBcImtpbmVzaXM6UmVnaXN0ZXJTdHJlYW1Db25zdW1lclwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6UmVtb3ZlVGFnc0Zyb21TdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tU3RyZWFtID0gXCJraW5lc2lzOlJlbW92ZVRhZ3NGcm9tU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3BsaXRTaGFyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3BsaXRTaGFyZCA9IFwia2luZXNpczpTcGxpdFNoYXJkXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFN0cmVhbUVuY3J5cHRpb24gPSBcImtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTdHJlYW1FbmNyeXB0aW9uID0gXCJraW5lc2lzOlN0b3BTdHJlYW1FbmNyeXB0aW9uXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpTdWJzY3JpYmVUb1NoYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJzY3JpYmVUb1NoYXJkID0gXCJraW5lc2lzOlN1YnNjcmliZVRvU2hhcmRcIjtcblx0LyoqIFtUYWdnaW5nXSBraW5lc2lzOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwia2luZXNpczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwia2luZXNpczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY2NvdW50U2V0dGluZ3MgPSBcImtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlTWF4UmVjb3JkU2l6ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWF4UmVjb3JkU2l6ZSA9IFwia2luZXNpczpVcGRhdGVNYXhSZWNvcmRTaXplXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU2hhcmRDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmRDb3VudCA9IFwia2luZXNpczpVcGRhdGVTaGFyZENvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU3RyZWFtTW9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtTW9kZSA9IFwia2luZXNpczpVcGRhdGVTdHJlYW1Nb2RlXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0ID1cblx0XHRcImtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXRcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZUFjY291bnRTZXR0aW5ncyxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZUxpbWl0cyxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZVN0cmVhbUNvbnN1bWVyLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlc2NyaWJlU3RyZWFtU3VtbWFyeSxcblx0XHRLaW5lc2lzQWN0aW9ucy5hY3Rpb25HZXRSZWNvcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdEtpbmVzaXNBY3Rpb25zLmFjdGlvbkdldFNoYXJkSXRlcmF0b3IsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0VGFnc0ZvclN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5TdWJzY3JpYmVUb1NoYXJkLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEtpbmVzaXNBY3Rpb25zLkNyZWF0ZVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZWxldGVTdHJlYW0sXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRpc2FibGVFbmhhbmNlZE1vbml0b3JpbmcsXG5cdFx0S2luZXNpc0FjdGlvbnMuRW5hYmxlRW5oYW5jZWRNb25pdG9yaW5nLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkluamVjdEFwaUVycm9yLFxuXHRcdEtpbmVzaXNBY3Rpb25zLk1lcmdlU2hhcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlB1dFJlY29yZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5QdXRSZWNvcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdEtpbmVzaXNBY3Rpb25zLlJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIsXG5cdFx0S2luZXNpc0FjdGlvbnMuU3BsaXRTaGFyZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5TdGFydFN0cmVhbUVuY3J5cHRpb24sXG5cdFx0S2luZXNpc0FjdGlvbnMuU3RvcFN0cmVhbUVuY3J5cHRpb24sXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlQWNjb3VudFNldHRpbmdzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZU1heFJlY29yZFNpemUsXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlU2hhcmRDb3VudCxcblx0XHRLaW5lc2lzQWN0aW9ucy5VcGRhdGVTdHJlYW1Nb2RlLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0U2hhcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkxpc3RTdHJlYW1Db25zdW1lcnMsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFN0cmVhbXMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEtpbmVzaXNBY3Rpb25zLkFkZFRhZ3NUb1N0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5SZW1vdmVUYWdzRnJvbVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRLaW5lc2lzQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uc3VtZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNDb25zdW1lckFyblByb3BzIHtcblx0LyoqIFRoZSBTdHJlYW1UeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdHJlYW1UeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnN1bWVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uc3VtZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnN1bWVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzQ29uc3VtZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0cmVhbVR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHJlYW1UeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1lck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25zdW1lck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1lckNyZWF0aW9uVGltcHN0YW1wIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEga21zS2V5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzS01TS2V5QXJuUHJvcHMge1xuXHQvKiogVGhlIEtleUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBrZXlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGttc0tleSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0tNU0tleUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgS2V5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBrZXlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3RyZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzU3RyZWFtQXJuUHJvcHMge1xuXHQvKiogVGhlIFN0cmVhbU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzdHJlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNTdHJlYW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0cmVhbU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbnN1bWVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmtpbmVzaXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTooPzxzdHJlYW1UeXBlPlteOi8/XSspXFwvKD88c3RyZWFtTmFtZT5bXjovP10rKVxcL2NvbnN1bWVyXFwvKD88Y29uc3VtZXJOYW1lPlteOi8/XSspOig/PGNvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXA+W146Lz9dKykkLztcbmNvbnN0IEtNU0tleUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTprbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTprZXlcXC8oPzxrZXlJZD5bXjovP10rKSQvO1xuY29uc3QgU3RyZWFtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmtpbmVzaXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzdHJlYW1cXC8oPzxzdHJlYW1OYW1lPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Iga2luZXNpcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25zdW1lciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25zdW1lcihwcm9wczogS2luZXNpc0NvbnN1bWVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmtpbmVzaXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06JHtwcm9wcy5zdHJlYW1UeXBlfS8ke3Byb3BzLnN0cmVhbU5hbWV9L2NvbnN1bWVyLyR7cHJvcHMuY29uc3VtZXJOYW1lfToke3Byb3BzLmNvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXB9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnN1bWVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25zdW1lckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25zdW1lckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25zdW1lciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25zdW1lckFybihhcm46IHN0cmluZyk6IEtpbmVzaXNDb25zdW1lckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uc3VtZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uc3VtZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3RyZWFtVHlwZTogbWF0Y2guZ3JvdXBzIS5zdHJlYW1UeXBlLFxuXHRcdFx0c3RyZWFtTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHJlYW1OYW1lLFxuXHRcdFx0Y29uc3VtZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNvbnN1bWVyTmFtZSxcblx0XHRcdGNvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXA6IG1hdGNoLmdyb3VwcyEuY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBrbXNLZXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMga21zS2V5KHByb3BzOiBLaW5lc2lzS01TS2V5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omttczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTprZXkvJHtwcm9wcy5rZXlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUga21zS2V5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLTVNLZXlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gS01TS2V5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGttc0tleSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VLTVNLZXlBcm4oYXJuOiBzdHJpbmcpOiBLaW5lc2lzS01TS2V5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLTVNLZXlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQga21zS2V5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGtleUlkOiBtYXRjaC5ncm91cHMhLmtleUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN0cmVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdHJlYW0ocHJvcHM6IEtpbmVzaXNTdHJlYW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2luZXNpczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdHJlYW0vJHtwcm9wcy5zdHJlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzdHJlYW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN0cmVhbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdHJlYW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3RyZWFtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN0cmVhbUFybihhcm46IHN0cmluZyk6IEtpbmVzaXNTdHJlYW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN0cmVhbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdHJlYW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3RyZWFtTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHJlYW1OYW1lLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGtpbmVzaXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3NUb1N0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1N0cmVhbTogc3RyaW5nW10gPSBbXCJraW5lc2lzOkFkZFRhZ3NUb1N0cmVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJraW5lc2lzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkFkZFRhZ3NUb1N0cmVhbVwiLFxuXHRcdFwia2luZXNpczpDcmVhdGVTdHJlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZDogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDaGFubmVsOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVsZXRlU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRTZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlc2NyaWJlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2hhbm5lbDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbWl0czogc3RyaW5nW10gPSBbXCJraW5lc2lzOkRlc2NyaWJlTGltaXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbUNvbnN1bWVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1Db25zdW1lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVFbmhhbmNlZE1vbml0b3Jpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZzogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvcmRzOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0UmVjb3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNoYXJkSXRlcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNoYXJkSXRlcmF0b3I6IHN0cmluZ1tdID0gW1wia2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6SW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENoYW5uZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2hhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOkxpc3RTaGFyZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdHJlYW1Db25zdW1lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RyZWFtQ29uc3VtZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RyZWFtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1zOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFN0cmVhbXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFRhZ3NGb3JTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1lcmdlU2hhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVyZ2VTaGFyZHM6IHN0cmluZ1tdID0gW1wia2luZXNpczpNZXJnZVNoYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6UHV0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOlB1dFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1wia2luZXNpczpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJTdHJlYW1Db25zdW1lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpSZWdpc3RlclN0cmVhbUNvbnN1bWVyXCIsXG5cdFx0XCJraW5lc2lzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRhZ3NGcm9tU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21TdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpSZW1vdmVUYWdzRnJvbVN0cmVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTcGxpdFNoYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3BsaXRTaGFyZDogc3RyaW5nW10gPSBbXCJraW5lc2lzOlNwbGl0U2hhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0U3RyZWFtRW5jcnlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U3RyZWFtRW5jcnlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlN0YXJ0U3RyZWFtRW5jcnlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wU3RyZWFtRW5jcnlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTdHJlYW1FbmNyeXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3Vic2NyaWJlVG9TaGFyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1YnNjcmliZVRvU2hhcmQ6IHN0cmluZ1tdID0gW1wia2luZXNpczpTdWJzY3JpYmVUb1NoYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWNjb3VudFNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWNjb3VudFNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDaGFubmVsOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXhSZWNvcmRTaXplIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWF4UmVjb3JkU2l6ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlVwZGF0ZU1heFJlY29yZFNpemVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2hhcmRDb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNoYXJkQ291bnQ6IHN0cmluZ1tdID0gW1wia2luZXNpczpVcGRhdGVTaGFyZENvdW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTdHJlYW1Nb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtTW9kZTogc3RyaW5nW10gPSBbXCJraW5lc2lzOlVwZGF0ZVN0cmVhbU1vZGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpVcGRhdGVTdHJlYW1XYXJtVGhyb3VnaHB1dFwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Iga2luZXNpcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluamVjdEFwaUVycm9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluamVjdEFwaUVycm9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkZpc0FjdGlvbklkXCIsXG5cdFx0XCJraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2VcIixcblx0XHRcImtpbmVzaXM6RmlzVGFyZ2V0QXJuc1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGtpbmVzaXM6RmlzQWN0aW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJU19BQ1RJT05fSUQgPSBcImtpbmVzaXM6RmlzQWN0aW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJU19JTkpFQ1RfUEVSQ0VOVEFHRSA9IFwia2luZXNpczpGaXNJbmplY3RQZXJjZW50YWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBraW5lc2lzOkZpc1RhcmdldEFybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGSVNfVEFSR0VUX0FSTlMgPSBcImtpbmVzaXM6RmlzVGFyZ2V0QXJuc1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBraW5lc2lzOkZpc0FjdGlvbklkYC5cblx0ICovXG5cdHN0YXRpYyBmaXNBY3Rpb25JZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImtpbmVzaXM6RmlzQWN0aW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgZmlzSW5qZWN0UGVyY2VudGFnZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBga2luZXNpczpGaXNUYXJnZXRBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBmaXNUYXJnZXRBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwia2luZXNpczpGaXNUYXJnZXRBcm5zXCI6IHZhbHVlcyB9IH07XG5cdH1cbn1cbiJdfQ==
@@ -16,7 +16,7 @@ class KinesisanalyticsActions {
16
16
  }
17
17
  exports.KinesisanalyticsActions = KinesisanalyticsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- KinesisanalyticsActions[_a] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsActions", version: "1.14.0" };
19
+ KinesisanalyticsActions[_a] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  KinesisanalyticsActions.SERVICE_PREFIX = "kinesisanalytics";
22
22
  /** [Write] kinesisanalytics:AddApplicationCloudWatchLoggingOption */
@@ -171,7 +171,7 @@ class KinesisanalyticsResources {
171
171
  }
172
172
  exports.KinesisanalyticsResources = KinesisanalyticsResources;
173
173
  _b = JSII_RTTI_SYMBOL_1;
174
- KinesisanalyticsResources[_b] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsResources", version: "1.14.0" };
174
+ KinesisanalyticsResources[_b] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsResources", version: "1.15.0" };
175
175
  /**
176
176
  * API operation to required IAM actions mapping for kinesisanalytics.
177
177
  */
@@ -179,7 +179,7 @@ class KinesisanalyticsOperations {
179
179
  }
180
180
  exports.KinesisanalyticsOperations = KinesisanalyticsOperations;
181
181
  _c = JSII_RTTI_SYMBOL_1;
182
- KinesisanalyticsOperations[_c] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsOperations", version: "1.14.0" };
182
+ KinesisanalyticsOperations[_c] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsOperations", version: "1.15.0" };
183
183
  /** IAM actions required for the AddApplicationCloudWatchLoggingOption API call. */
184
184
  KinesisanalyticsOperations.AddApplicationCloudWatchLoggingOption = [
185
185
  "kinesisanalytics:AddApplicationCloudWatchLoggingOption",
@@ -339,7 +339,7 @@ class KinesisanalyticsConditions {
339
339
  }
340
340
  exports.KinesisanalyticsConditions = KinesisanalyticsConditions;
341
341
  _d = JSII_RTTI_SYMBOL_1;
342
- KinesisanalyticsConditions[_d] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsConditions", version: "1.14.0" };
342
+ KinesisanalyticsConditions[_d] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsConditions", version: "1.15.0" };
343
343
  /** Condition keys applicable to the CreateApplication action. */
344
344
  KinesisanalyticsConditions.CreateApplicationConditionKeys = [
345
345
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class KinesisvideoActions {
16
16
  }
17
17
  exports.KinesisvideoActions = KinesisvideoActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- KinesisvideoActions[_a] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoActions", version: "1.14.0" };
19
+ KinesisvideoActions[_a] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  KinesisvideoActions.SERVICE_PREFIX = "kinesisvideo";
22
22
  /** [Write] kinesisvideo:ConnectAsMaster */
@@ -238,7 +238,7 @@ class KinesisvideoResources {
238
238
  }
239
239
  exports.KinesisvideoResources = KinesisvideoResources;
240
240
  _b = JSII_RTTI_SYMBOL_1;
241
- KinesisvideoResources[_b] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoResources", version: "1.14.0" };
241
+ KinesisvideoResources[_b] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoResources", version: "1.15.0" };
242
242
  /**
243
243
  * API operation to required IAM actions mapping for kinesisvideo.
244
244
  */
@@ -246,7 +246,7 @@ class KinesisvideoOperations {
246
246
  }
247
247
  exports.KinesisvideoOperations = KinesisvideoOperations;
248
248
  _c = JSII_RTTI_SYMBOL_1;
249
- KinesisvideoOperations[_c] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoOperations", version: "1.14.0" };
249
+ KinesisvideoOperations[_c] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoOperations", version: "1.15.0" };
250
250
  /** IAM actions required for the CreateSignalingChannel API call. */
251
251
  KinesisvideoOperations.CreateSignalingChannel = [
252
252
  "kinesisvideo:CreateSignalingChannel",
@@ -422,7 +422,7 @@ class KinesisvideoConditions {
422
422
  }
423
423
  exports.KinesisvideoConditions = KinesisvideoConditions;
424
424
  _d = JSII_RTTI_SYMBOL_1;
425
- KinesisvideoConditions[_d] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoConditions", version: "1.14.0" };
425
+ KinesisvideoConditions[_d] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoConditions", version: "1.15.0" };
426
426
  /** Condition keys applicable to the CreateSignalingChannel action. */
427
427
  KinesisvideoConditions.CreateSignalingChannelConditionKeys = [
428
428
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class KMSActions {
16
16
  }
17
17
  exports.KMSActions = KMSActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- KMSActions[_a] = { fqn: "@cdk_utils/iam.kms.KMSActions", version: "1.14.0" };
19
+ KMSActions[_a] = { fqn: "@cdk_utils/iam.kms.KMSActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  KMSActions.SERVICE_PREFIX = "kms";
22
22
  /** [Write] kms:CancelKeyDeletion */
@@ -267,7 +267,7 @@ class KMSResources {
267
267
  }
268
268
  exports.KMSResources = KMSResources;
269
269
  _b = JSII_RTTI_SYMBOL_1;
270
- KMSResources[_b] = { fqn: "@cdk_utils/iam.kms.KMSResources", version: "1.14.0" };
270
+ KMSResources[_b] = { fqn: "@cdk_utils/iam.kms.KMSResources", version: "1.15.0" };
271
271
  /**
272
272
  * API operation to required IAM actions mapping for kms.
273
273
  */
@@ -275,7 +275,7 @@ class KMSOperations {
275
275
  }
276
276
  exports.KMSOperations = KMSOperations;
277
277
  _c = JSII_RTTI_SYMBOL_1;
278
- KMSOperations[_c] = { fqn: "@cdk_utils/iam.kms.KMSOperations", version: "1.14.0" };
278
+ KMSOperations[_c] = { fqn: "@cdk_utils/iam.kms.KMSOperations", version: "1.15.0" };
279
279
  /** IAM actions required for the CancelKeyDeletion API call. */
280
280
  KMSOperations.CancelKeyDeletion = ["kms:CancelKeyDeletion"];
281
281
  /** IAM actions required for the ConnectCustomKeyStore API call. */
@@ -1036,7 +1036,7 @@ class KMSConditions {
1036
1036
  }
1037
1037
  exports.KMSConditions = KMSConditions;
1038
1038
  _d = JSII_RTTI_SYMBOL_1;
1039
- KMSConditions[_d] = { fqn: "@cdk_utils/iam.kms.KMSConditions", version: "1.14.0" };
1039
+ KMSConditions[_d] = { fqn: "@cdk_utils/iam.kms.KMSConditions", version: "1.15.0" };
1040
1040
  /** Condition keys applicable to the CancelKeyDeletion action. */
1041
1041
  KMSConditions.CancelKeyDeletionConditionKeys = [
1042
1042
  "kms:CallerAccount",
@@ -16,7 +16,7 @@ class LakeFormationActions {
16
16
  }
17
17
  exports.LakeFormationActions = LakeFormationActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- LakeFormationActions[_a] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationActions", version: "1.14.0" };
19
+ LakeFormationActions[_a] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  LakeFormationActions.SERVICE_PREFIX = "lakeformation";
22
22
  /** [Tagging] lakeformation:AddLFTagsToResource */
@@ -224,7 +224,7 @@ class LakeFormationOperations {
224
224
  }
225
225
  exports.LakeFormationOperations = LakeFormationOperations;
226
226
  _b = JSII_RTTI_SYMBOL_1;
227
- LakeFormationOperations[_b] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationOperations", version: "1.14.0" };
227
+ LakeFormationOperations[_b] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationOperations", version: "1.15.0" };
228
228
  /** IAM actions required for the AddLFTagsToResource API call. */
229
229
  LakeFormationOperations.AddLFTagsToResource = [];
230
230
  /** IAM actions required for the AssumeDecoratedRoleWithSAML API call. */
@@ -414,7 +414,7 @@ class LakeFormationConditions {
414
414
  }
415
415
  exports.LakeFormationConditions = LakeFormationConditions;
416
416
  _c = JSII_RTTI_SYMBOL_1;
417
- LakeFormationConditions[_c] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationConditions", version: "1.14.0" };
417
+ LakeFormationConditions[_c] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationConditions", version: "1.15.0" };
418
418
  /** Condition keys applicable to the GetDataAccess action. */
419
419
  LakeFormationConditions.actionGetDataAccessConditionKeys = [
420
420
  "lakeformation:EnabledOnlyForMetaDataAccess",
@@ -16,7 +16,7 @@ class LambdaActions {
16
16
  }
17
17
  exports.LambdaActions = LambdaActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- LambdaActions[_a] = { fqn: "@cdk_utils/iam.lambda.LambdaActions", version: "1.14.0" };
19
+ LambdaActions[_a] = { fqn: "@cdk_utils/iam.lambda.LambdaActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  LambdaActions.SERVICE_PREFIX = "lambda";
22
22
  /** [PermissionManagement] lambda:AddLayerVersionPermission */
@@ -723,7 +723,7 @@ class LambdaResources {
723
723
  }
724
724
  exports.LambdaResources = LambdaResources;
725
725
  _b = JSII_RTTI_SYMBOL_1;
726
- LambdaResources[_b] = { fqn: "@cdk_utils/iam.lambda.LambdaResources", version: "1.14.0" };
726
+ LambdaResources[_b] = { fqn: "@cdk_utils/iam.lambda.LambdaResources", version: "1.15.0" };
727
727
  /**
728
728
  * API operation to required IAM actions mapping for lambda.
729
729
  */
@@ -731,7 +731,7 @@ class LambdaOperations {
731
731
  }
732
732
  exports.LambdaOperations = LambdaOperations;
733
733
  _c = JSII_RTTI_SYMBOL_1;
734
- LambdaOperations[_c] = { fqn: "@cdk_utils/iam.lambda.LambdaOperations", version: "1.14.0" };
734
+ LambdaOperations[_c] = { fqn: "@cdk_utils/iam.lambda.LambdaOperations", version: "1.15.0" };
735
735
  /** IAM actions required for the AddEventSource API call. */
736
736
  LambdaOperations.AddEventSource = ["iam:PassRole"];
737
737
  /** IAM actions required for the AddLayerVersionPermission API call. */
@@ -1257,7 +1257,7 @@ class LambdaConditions {
1257
1257
  }
1258
1258
  exports.LambdaConditions = LambdaConditions;
1259
1259
  _d = JSII_RTTI_SYMBOL_1;
1260
- LambdaConditions[_d] = { fqn: "@cdk_utils/iam.lambda.LambdaConditions", version: "1.14.0" };
1260
+ LambdaConditions[_d] = { fqn: "@cdk_utils/iam.lambda.LambdaConditions", version: "1.15.0" };
1261
1261
  /** Condition keys applicable to the AddPermission action. */
1262
1262
  LambdaConditions.AddPermissionConditionKeys = [
1263
1263
  "lambda:FunctionUrlAuthType",
@@ -16,7 +16,7 @@ class LaunchwizardActions {
16
16
  }
17
17
  exports.LaunchwizardActions = LaunchwizardActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- LaunchwizardActions[_a] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardActions", version: "1.14.0" };
19
+ LaunchwizardActions[_a] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardActions", version: "1.15.0" };
20
20
  /** The IAM service prefix. */
21
21
  LaunchwizardActions.SERVICE_PREFIX = "launchwizard";
22
22
  /** [Write] launchwizard:CreateAdditionalNode */
@@ -189,7 +189,7 @@ class LaunchwizardResources {
189
189
  }
190
190
  exports.LaunchwizardResources = LaunchwizardResources;
191
191
  _b = JSII_RTTI_SYMBOL_1;
192
- LaunchwizardResources[_b] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardResources", version: "1.14.0" };
192
+ LaunchwizardResources[_b] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardResources", version: "1.15.0" };
193
193
  /**
194
194
  * API operation to required IAM actions mapping for launchwizard.
195
195
  */
@@ -197,7 +197,7 @@ class LaunchwizardOperations {
197
197
  }
198
198
  exports.LaunchwizardOperations = LaunchwizardOperations;
199
199
  _c = JSII_RTTI_SYMBOL_1;
200
- LaunchwizardOperations[_c] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardOperations", version: "1.14.0" };
200
+ LaunchwizardOperations[_c] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardOperations", version: "1.15.0" };
201
201
  /** IAM actions required for the CreateDeployment API call. */
202
202
  LaunchwizardOperations.CreateDeployment = [
203
203
  "launchwizard:CreateDeployment",
@@ -272,7 +272,7 @@ class LaunchwizardConditions {
272
272
  }
273
273
  exports.LaunchwizardConditions = LaunchwizardConditions;
274
274
  _d = JSII_RTTI_SYMBOL_1;
275
- LaunchwizardConditions[_d] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardConditions", version: "1.14.0" };
275
+ LaunchwizardConditions[_d] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardConditions", version: "1.15.0" };
276
276
  /** Condition key: aws:RequestTag/${TagKey} (String) */
277
277
  LaunchwizardConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
278
278
  /** Condition key: aws:ResourceTag/${TagKey} (String) */