@cdk_utils/iam 1.18.0 → 1.20.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 (461) hide show
  1. package/.jsii +2770 -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.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +9 -6
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +6 -9
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +6 -5
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +4 -4
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.js +6 -6
  127. package/lib/generated/services/dax.js +4 -4
  128. package/lib/generated/services/dbqms.js +1 -1
  129. package/lib/generated/services/deadline.js +4 -4
  130. package/lib/generated/services/detective.js +4 -4
  131. package/lib/generated/services/devicefarm.js +4 -4
  132. package/lib/generated/services/devops-guru.js +4 -4
  133. package/lib/generated/services/directconnect.js +4 -4
  134. package/lib/generated/services/discovery.js +3 -3
  135. package/lib/generated/services/dlm.js +4 -4
  136. package/lib/generated/services/dms.js +4 -4
  137. package/lib/generated/services/docdb-elastic.js +4 -4
  138. package/lib/generated/services/drs.js +4 -4
  139. package/lib/generated/services/ds-data.js +4 -4
  140. package/lib/generated/services/ds.js +4 -4
  141. package/lib/generated/services/dsql.js +4 -4
  142. package/lib/generated/services/dynamodb.js +4 -4
  143. package/lib/generated/services/ebs.js +4 -4
  144. package/lib/generated/services/ec2-instance-connect.js +4 -4
  145. package/lib/generated/services/ec2.d.ts +2 -0
  146. package/lib/generated/services/ec2.js +7 -5
  147. package/lib/generated/services/ec2messages.js +2 -2
  148. package/lib/generated/services/ecr-public.js +4 -4
  149. package/lib/generated/services/ecr.js +4 -4
  150. package/lib/generated/services/ecs-mcp.js +1 -1
  151. package/lib/generated/services/ecs.js +4 -4
  152. package/lib/generated/services/eks-auth.js +4 -4
  153. package/lib/generated/services/eks-mcp.js +1 -1
  154. package/lib/generated/services/eks.js +4 -4
  155. package/lib/generated/services/elasticache.js +4 -4
  156. package/lib/generated/services/elasticbeanstalk.js +4 -4
  157. package/lib/generated/services/elasticfilesystem.js +4 -4
  158. package/lib/generated/services/elasticloadbalancing.js +4 -4
  159. package/lib/generated/services/elasticmapreduce.js +4 -4
  160. package/lib/generated/services/elastictranscoder.js +2 -2
  161. package/lib/generated/services/elemental-activations.js +1 -1
  162. package/lib/generated/services/elemental-appliances-software.js +2 -2
  163. package/lib/generated/services/elemental-inference.js +4 -4
  164. package/lib/generated/services/elemental-support-cases.js +3 -3
  165. package/lib/generated/services/elemental-support-content.js +1 -1
  166. package/lib/generated/services/emr-containers.js +4 -4
  167. package/lib/generated/services/emr-serverless.js +4 -4
  168. package/lib/generated/services/entityresolution.js +4 -4
  169. package/lib/generated/services/es.js +4 -4
  170. package/lib/generated/services/events.js +4 -4
  171. package/lib/generated/services/eventsbilltoaws.js +3 -3
  172. package/lib/generated/services/evidently.js +3 -3
  173. package/lib/generated/services/evs.js +4 -4
  174. package/lib/generated/services/execute-api.js +4 -4
  175. package/lib/generated/services/finops-agent.js +1 -1
  176. package/lib/generated/services/finspace-api.js +3 -3
  177. package/lib/generated/services/finspace.js +4 -4
  178. package/lib/generated/services/firehose.js +4 -4
  179. package/lib/generated/services/fis.js +4 -4
  180. package/lib/generated/services/fms.js +4 -4
  181. package/lib/generated/services/forecast.js +4 -4
  182. package/lib/generated/services/frauddetector.js +4 -4
  183. package/lib/generated/services/freertos.js +3 -3
  184. package/lib/generated/services/freetier.js +2 -2
  185. package/lib/generated/services/fsx.js +4 -4
  186. package/lib/generated/services/gamelift.js +4 -4
  187. package/lib/generated/services/gameliftstreams.js +4 -4
  188. package/lib/generated/services/geo-maps.js +3 -3
  189. package/lib/generated/services/geo-places.js +3 -3
  190. package/lib/generated/services/geo-routes.js +3 -3
  191. package/lib/generated/services/geo.js +4 -4
  192. package/lib/generated/services/glacier.js +4 -4
  193. package/lib/generated/services/globalaccelerator.js +4 -4
  194. package/lib/generated/services/glue.js +4 -4
  195. package/lib/generated/services/grafana.js +4 -4
  196. package/lib/generated/services/greengrass.js +4 -4
  197. package/lib/generated/services/groundstation.js +4 -4
  198. package/lib/generated/services/groundtruthlabeling.js +1 -1
  199. package/lib/generated/services/guardduty.js +4 -4
  200. package/lib/generated/services/health-agent.js +4 -4
  201. package/lib/generated/services/health.js +4 -4
  202. package/lib/generated/services/healthlake.js +4 -4
  203. package/lib/generated/services/honeycode.js +2 -2
  204. package/lib/generated/services/iam.js +4 -4
  205. package/lib/generated/services/identity-sync.js +2 -2
  206. package/lib/generated/services/identitystore-auth.js +1 -1
  207. package/lib/generated/services/identitystore.js +4 -4
  208. package/lib/generated/services/imagebuilder.js +4 -4
  209. package/lib/generated/services/importexport.js +2 -2
  210. package/lib/generated/services/inspector-scan.js +2 -2
  211. package/lib/generated/services/inspector.js +2 -2
  212. package/lib/generated/services/inspector2-telemetry.js +1 -1
  213. package/lib/generated/services/inspector2.js +4 -4
  214. package/lib/generated/services/interconnect.js +4 -4
  215. package/lib/generated/services/internetmonitor.js +4 -4
  216. package/lib/generated/services/invoicing.js +4 -4
  217. package/lib/generated/services/iot-device-tester.js +1 -1
  218. package/lib/generated/services/iot.js +4 -4
  219. package/lib/generated/services/iotanalytics.js +3 -3
  220. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  221. package/lib/generated/services/iotevents.js +3 -3
  222. package/lib/generated/services/iotfleethub.js +3 -3
  223. package/lib/generated/services/iotfleetwise.js +4 -4
  224. package/lib/generated/services/iotjobsdata.js +4 -4
  225. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  226. package/lib/generated/services/iotsitewise.js +4 -4
  227. package/lib/generated/services/iottwinmaker.js +4 -4
  228. package/lib/generated/services/iotwireless.js +4 -4
  229. package/lib/generated/services/iq-permission.js +2 -2
  230. package/lib/generated/services/iq.js +2 -2
  231. package/lib/generated/services/ivs.js +4 -4
  232. package/lib/generated/services/ivschat.js +4 -4
  233. package/lib/generated/services/kafka-cluster.js +3 -3
  234. package/lib/generated/services/kafka.js +4 -4
  235. package/lib/generated/services/kafkaconnect.js +4 -4
  236. package/lib/generated/services/kendra-ranking.js +4 -4
  237. package/lib/generated/services/kendra.js +4 -4
  238. package/lib/generated/services/kinesis.js +4 -4
  239. package/lib/generated/services/kinesisanalytics.js +4 -4
  240. package/lib/generated/services/kinesisvideo.js +4 -4
  241. package/lib/generated/services/kms.js +4 -4
  242. package/lib/generated/services/lakeformation.js +3 -3
  243. package/lib/generated/services/lambda.js +4 -4
  244. package/lib/generated/services/launchwizard.js +4 -4
  245. package/lib/generated/services/lex.js +4 -4
  246. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  247. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager.js +4 -4
  249. package/lib/generated/services/lightsail.js +4 -4
  250. package/lib/generated/services/logs.js +4 -4
  251. package/lib/generated/services/lookoutequipment.js +4 -4
  252. package/lib/generated/services/lookoutmetrics.js +3 -3
  253. package/lib/generated/services/lookoutvision.js +3 -3
  254. package/lib/generated/services/m2.js +4 -4
  255. package/lib/generated/services/machinelearning.js +3 -3
  256. package/lib/generated/services/macie2.js +4 -4
  257. package/lib/generated/services/managedblockchain-query.js +2 -2
  258. package/lib/generated/services/managedblockchain.js +4 -4
  259. package/lib/generated/services/mapcredits.js +2 -2
  260. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  261. package/lib/generated/services/mechanicalturk.js +2 -2
  262. package/lib/generated/services/mediaconnect.js +4 -4
  263. package/lib/generated/services/mediaconvert.js +4 -4
  264. package/lib/generated/services/mediaimport.js +1 -1
  265. package/lib/generated/services/medialive.js +4 -4
  266. package/lib/generated/services/mediapackage-vod.js +4 -4
  267. package/lib/generated/services/mediapackage.js +4 -4
  268. package/lib/generated/services/mediapackagev2.js +4 -4
  269. package/lib/generated/services/mediastore.js +4 -4
  270. package/lib/generated/services/mediatailor.js +4 -4
  271. package/lib/generated/services/medical-imaging.js +4 -4
  272. package/lib/generated/services/memorydb.js +4 -4
  273. package/lib/generated/services/mgh.js +4 -4
  274. package/lib/generated/services/mgn.js +4 -4
  275. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  276. package/lib/generated/services/migrationhub-strategy.js +2 -2
  277. package/lib/generated/services/mobileanalytics.js +1 -1
  278. package/lib/generated/services/mobiletargeting.js +4 -4
  279. package/lib/generated/services/monitron.js +3 -3
  280. package/lib/generated/services/mpa.js +4 -4
  281. package/lib/generated/services/mq.js +4 -4
  282. package/lib/generated/services/neptune-db.js +4 -4
  283. package/lib/generated/services/neptune-graph.js +4 -4
  284. package/lib/generated/services/network-firewall.js +4 -4
  285. package/lib/generated/services/network-security-director.js +1 -1
  286. package/lib/generated/services/networkflowmonitor.js +4 -4
  287. package/lib/generated/services/networkmanager-chat.js +1 -1
  288. package/lib/generated/services/networkmanager.js +4 -4
  289. package/lib/generated/services/networkmonitor.js +4 -4
  290. package/lib/generated/services/nimble.js +3 -3
  291. package/lib/generated/services/notifications-contacts.js +4 -4
  292. package/lib/generated/services/notifications.js +4 -4
  293. package/lib/generated/services/nova-act.js +3 -3
  294. package/lib/generated/services/oam.js +4 -4
  295. package/lib/generated/services/observabilityadmin.js +4 -4
  296. package/lib/generated/services/odb.js +8 -6
  297. package/lib/generated/services/omics.js +6 -9
  298. package/lib/generated/services/one.js +3 -3
  299. package/lib/generated/services/opensearch.js +3 -3
  300. package/lib/generated/services/opsworks-cm.js +2 -2
  301. package/lib/generated/services/opsworks.js +2 -2
  302. package/lib/generated/services/organizations.js +4 -4
  303. package/lib/generated/services/osis.js +4 -4
  304. package/lib/generated/services/outposts.js +4 -4
  305. package/lib/generated/services/panorama.js +3 -3
  306. package/lib/generated/services/partnercentral-account-management.js +2 -2
  307. package/lib/generated/services/partnercentral.js +4 -4
  308. package/lib/generated/services/payment-cryptography.d.ts +34 -0
  309. package/lib/generated/services/payment-cryptography.js +64 -5
  310. package/lib/generated/services/payments.js +3 -3
  311. package/lib/generated/services/pca-connector-ad.js +4 -4
  312. package/lib/generated/services/pca-connector-scep.js +4 -4
  313. package/lib/generated/services/pcs.js +4 -4
  314. package/lib/generated/services/personalize.js +4 -4
  315. package/lib/generated/services/pi.js +4 -4
  316. package/lib/generated/services/pipes.js +4 -4
  317. package/lib/generated/services/polly.js +3 -3
  318. package/lib/generated/services/pricing.js +2 -2
  319. package/lib/generated/services/pricingplanmanager.js +3 -3
  320. package/lib/generated/services/private-networks.js +3 -3
  321. package/lib/generated/services/profile.js +4 -4
  322. package/lib/generated/services/proton.js +4 -4
  323. package/lib/generated/services/purchase-orders.js +3 -3
  324. package/lib/generated/services/q.js +3 -3
  325. package/lib/generated/services/qapps.js +4 -4
  326. package/lib/generated/services/qbusiness.js +4 -4
  327. package/lib/generated/services/qdeveloper.js +3 -3
  328. package/lib/generated/services/qldb.js +3 -3
  329. package/lib/generated/services/quicksight.js +4 -4
  330. package/lib/generated/services/ram.js +4 -4
  331. package/lib/generated/services/rbin.js +4 -4
  332. package/lib/generated/services/rds-data.js +4 -4
  333. package/lib/generated/services/rds-db.js +2 -2
  334. package/lib/generated/services/rds.js +4 -4
  335. package/lib/generated/services/redshift-data.js +4 -4
  336. package/lib/generated/services/redshift-serverless.js +4 -4
  337. package/lib/generated/services/redshift.js +4 -4
  338. package/lib/generated/services/refactor-spaces.js +4 -4
  339. package/lib/generated/services/rekognition.js +4 -4
  340. package/lib/generated/services/repostspace.js +4 -4
  341. package/lib/generated/services/researchstudio.js +1 -1
  342. package/lib/generated/services/resiliencehub.js +13 -7
  343. package/lib/generated/services/resource-explorer-2.js +4 -4
  344. package/lib/generated/services/resource-explorer.js +1 -1
  345. package/lib/generated/services/resource-groups.js +4 -4
  346. package/lib/generated/services/rhelkb.js +1 -1
  347. package/lib/generated/services/robomaker.js +3 -3
  348. package/lib/generated/services/rolesanywhere.js +4 -4
  349. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  350. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  351. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  352. package/lib/generated/services/route53.js +4 -4
  353. package/lib/generated/services/route53domains.js +2 -2
  354. package/lib/generated/services/route53globalresolver.js +4 -4
  355. package/lib/generated/services/route53profiles.js +4 -4
  356. package/lib/generated/services/route53resolver.js +4 -4
  357. package/lib/generated/services/rtbfabric.js +4 -4
  358. package/lib/generated/services/rum.js +4 -4
  359. package/lib/generated/services/s3-object-lambda.js +3 -3
  360. package/lib/generated/services/s3-outposts.js +4 -4
  361. package/lib/generated/services/s3.d.ts +12 -0
  362. package/lib/generated/services/s3.js +29 -5
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +4 -4
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.js +4 -4
  380. package/lib/generated/services/securityhub.js +4 -4
  381. package/lib/generated/services/securitylake.js +4 -4
  382. package/lib/generated/services/serverlessrepo.js +4 -4
  383. package/lib/generated/services/servicecatalog.js +4 -4
  384. package/lib/generated/services/servicediscovery.js +4 -4
  385. package/lib/generated/services/serviceextract.js +1 -1
  386. package/lib/generated/services/servicequotas.js +4 -4
  387. package/lib/generated/services/ses.js +4 -4
  388. package/lib/generated/services/shield.js +4 -4
  389. package/lib/generated/services/signer.js +4 -4
  390. package/lib/generated/services/signin.js +4 -4
  391. package/lib/generated/services/simspaceweaver.js +3 -3
  392. package/lib/generated/services/sms-voice.d.ts +2 -0
  393. package/lib/generated/services/sms-voice.js +7 -5
  394. package/lib/generated/services/sms.js +1 -1
  395. package/lib/generated/services/snow-device-management.js +4 -4
  396. package/lib/generated/services/snowball.js +2 -2
  397. package/lib/generated/services/sns.js +4 -4
  398. package/lib/generated/services/social-messaging.js +4 -4
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.js +2 -2
  438. package/lib/generated/services/uxc.js +2 -2
  439. package/lib/generated/services/vendor-insights.js +3 -3
  440. package/lib/generated/services/verified-access.js +1 -1
  441. package/lib/generated/services/verifiedpermissions.js +4 -4
  442. package/lib/generated/services/voiceid.js +4 -4
  443. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  444. package/lib/generated/services/vpc-lattice.js +4 -4
  445. package/lib/generated/services/vpce.js +2 -2
  446. package/lib/generated/services/waf-regional.js +4 -4
  447. package/lib/generated/services/waf.js +4 -4
  448. package/lib/generated/services/wafv2.js +4 -4
  449. package/lib/generated/services/wam.js +1 -1
  450. package/lib/generated/services/wellarchitected.js +4 -4
  451. package/lib/generated/services/wickr.js +4 -4
  452. package/lib/generated/services/wisdom.js +4 -4
  453. package/lib/generated/services/workdocs.js +3 -3
  454. package/lib/generated/services/worklink.js +3 -3
  455. package/lib/generated/services/workmail.js +4 -4
  456. package/lib/generated/services/workmailmessageflow.js +3 -3
  457. package/lib/generated/services/workspaces-instances.js +4 -4
  458. package/lib/generated/services/workspaces-web.js +4 -4
  459. package/lib/generated/services/workspaces.js +4 -4
  460. package/lib/generated/services/xray.js +4 -4
  461. package/package.json +1 -1
@@ -16,7 +16,7 @@ class PaymentCryptographyActions {
16
16
  }
17
17
  exports.PaymentCryptographyActions = PaymentCryptographyActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PaymentCryptographyActions[_a] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyActions", version: "1.18.0" };
19
+ PaymentCryptographyActions[_a] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyActions", version: "1.20.0" };
20
20
  /** The IAM service prefix. */
21
21
  PaymentCryptographyActions.SERVICE_PREFIX = "payment-cryptography";
22
22
  /** [Write] payment-cryptography:AddKeyReplicationRegions */
@@ -47,6 +47,8 @@ PaymentCryptographyActions.EncryptData = "payment-cryptography:EncryptData";
47
47
  PaymentCryptographyActions.ExportKey = "payment-cryptography:ExportKey";
48
48
  /** [Write] payment-cryptography:GenerateAs2805KekValidation */
49
49
  PaymentCryptographyActions.GenerateAs2805KekValidation = "payment-cryptography:GenerateAs2805KekValidation";
50
+ /** [Write] payment-cryptography:GenerateAuthRequestCryptogram */
51
+ PaymentCryptographyActions.GenerateAuthRequestCryptogram = "payment-cryptography:GenerateAuthRequestCryptogram";
50
52
  /** [Write] payment-cryptography:GenerateCardValidationData */
51
53
  PaymentCryptographyActions.GenerateCardValidationData = "payment-cryptography:GenerateCardValidationData";
52
54
  /** [Write] payment-cryptography:GenerateMac */
@@ -139,6 +141,7 @@ PaymentCryptographyActions.AllWriteActions = [
139
141
  PaymentCryptographyActions.EncryptData,
140
142
  PaymentCryptographyActions.ExportKey,
141
143
  PaymentCryptographyActions.GenerateAs2805KekValidation,
144
+ PaymentCryptographyActions.GenerateAuthRequestCryptogram,
142
145
  PaymentCryptographyActions.GenerateCardValidationData,
143
146
  PaymentCryptographyActions.GenerateMac,
144
147
  PaymentCryptographyActions.GenerateMacEmvPinChange,
@@ -266,7 +269,7 @@ class PaymentCryptographyResources {
266
269
  }
267
270
  exports.PaymentCryptographyResources = PaymentCryptographyResources;
268
271
  _b = JSII_RTTI_SYMBOL_1;
269
- PaymentCryptographyResources[_b] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyResources", version: "1.18.0" };
272
+ PaymentCryptographyResources[_b] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyResources", version: "1.20.0" };
270
273
  /**
271
274
  * API operation to required IAM actions mapping for payment-cryptography.
272
275
  */
@@ -274,7 +277,7 @@ class PaymentCryptographyOperations {
274
277
  }
275
278
  exports.PaymentCryptographyOperations = PaymentCryptographyOperations;
276
279
  _c = JSII_RTTI_SYMBOL_1;
277
- PaymentCryptographyOperations[_c] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyOperations", version: "1.18.0" };
280
+ PaymentCryptographyOperations[_c] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyOperations", version: "1.20.0" };
278
281
  /** IAM actions required for the AddKeyReplicationRegions API call. */
279
282
  PaymentCryptographyOperations.AddKeyReplicationRegions = [
280
283
  "payment-cryptography:AddKeyReplicationRegions",
@@ -445,6 +448,26 @@ class PaymentCryptographyConditions {
445
448
  },
446
449
  };
447
450
  }
451
+ /**
452
+ * Generates a condition block for `payment-cryptography:DeriveKeyUsage`.
453
+ */
454
+ static deriveKeyUsage(value) {
455
+ return { StringEquals: { "payment-cryptography:DeriveKeyUsage": value } };
456
+ }
457
+ /**
458
+ * Generates a condition block for `payment-cryptography:ExportDukptInitialKey`.
459
+ */
460
+ static exportDukptInitialKey(value) {
461
+ return { Bool: { "payment-cryptography:ExportDukptInitialKey": value } };
462
+ }
463
+ /**
464
+ * Generates a condition block for `payment-cryptography:ExportKeyMaterial`.
465
+ */
466
+ static exportKeyMaterial(value) {
467
+ return {
468
+ StringEquals: { "payment-cryptography:ExportKeyMaterial": value },
469
+ };
470
+ }
448
471
  /**
449
472
  * Generates a condition block for `payment-cryptography:ImportKeyMaterial`.
450
473
  */
@@ -471,6 +494,14 @@ class PaymentCryptographyConditions {
471
494
  static keyUsage(value) {
472
495
  return { StringEquals: { "payment-cryptography:KeyUsage": value } };
473
496
  }
497
+ /**
498
+ * Generates a condition block for `payment-cryptography:PrivateKeyIdentifier`.
499
+ */
500
+ static privateKeyIdentifier(value) {
501
+ return {
502
+ StringEquals: { "payment-cryptography:PrivateKeyIdentifier": value },
503
+ };
504
+ }
474
505
  /**
475
506
  * Generates a condition block for `payment-cryptography:RequestAlias`.
476
507
  */
@@ -487,6 +518,14 @@ class PaymentCryptographyConditions {
487
518
  },
488
519
  };
489
520
  }
521
+ /**
522
+ * Generates a condition block for `payment-cryptography:SigningKeyIdentifier`.
523
+ */
524
+ static signingKeyIdentifier(value) {
525
+ return {
526
+ StringEquals: { "payment-cryptography:SigningKeyIdentifier": value },
527
+ };
528
+ }
490
529
  /**
491
530
  * Generates a condition block for `payment-cryptography:WrappingKeyIdentifier`.
492
531
  */
@@ -498,7 +537,7 @@ class PaymentCryptographyConditions {
498
537
  }
499
538
  exports.PaymentCryptographyConditions = PaymentCryptographyConditions;
500
539
  _d = JSII_RTTI_SYMBOL_1;
501
- PaymentCryptographyConditions[_d] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyConditions", version: "1.18.0" };
540
+ PaymentCryptographyConditions[_d] = { fqn: "@cdk_utils/iam.payment_cryptography.PaymentCryptographyConditions", version: "1.20.0" };
502
541
  /** Condition keys applicable to the AddKeyReplicationRegions action. */
503
542
  PaymentCryptographyConditions.AddKeyReplicationRegionsConditionKeys = [
504
543
  "payment-cryptography:RequestAlias",
@@ -507,6 +546,7 @@ PaymentCryptographyConditions.AddKeyReplicationRegionsConditionKeys = [
507
546
  PaymentCryptographyConditions.CreateKeyConditionKeys = [
508
547
  "aws:RequestTag/${TagKey}",
509
548
  "aws:TagKeys",
549
+ "payment-cryptography:DeriveKeyUsage",
510
550
  "payment-cryptography:KeyAlgorithm",
511
551
  "payment-cryptography:KeyClass",
512
552
  "payment-cryptography:KeyUsage",
@@ -531,13 +571,21 @@ PaymentCryptographyConditions.EncryptDataConditionKeys = [
531
571
  /** Condition keys applicable to the ExportKey action. */
532
572
  PaymentCryptographyConditions.ExportKeyConditionKeys = [
533
573
  "payment-cryptography:CertificateAuthorityPublicKeyIdentifier",
574
+ "payment-cryptography:ExportDukptInitialKey",
575
+ "payment-cryptography:ExportKeyMaterial",
576
+ "payment-cryptography:PrivateKeyIdentifier",
534
577
  "payment-cryptography:RequestAlias",
578
+ "payment-cryptography:SigningKeyIdentifier",
535
579
  "payment-cryptography:WrappingKeyIdentifier",
536
580
  ];
537
581
  /** Condition keys applicable to the GenerateAs2805KekValidation action. */
538
582
  PaymentCryptographyConditions.GenerateAs2805KekValidationConditionKeys = [
539
583
  "payment-cryptography:RequestAlias",
540
584
  ];
585
+ /** Condition keys applicable to the GenerateAuthRequestCryptogram action. */
586
+ PaymentCryptographyConditions.GenerateAuthRequestCryptogramConditionKeys = [
587
+ "payment-cryptography:RequestAlias",
588
+ ];
541
589
  /** Condition keys applicable to the GenerateCardValidationData action. */
542
590
  PaymentCryptographyConditions.GenerateCardValidationDataConditionKeys = [
543
591
  "payment-cryptography:RequestAlias",
@@ -577,6 +625,7 @@ PaymentCryptographyConditions.ImportKeyConditionKeys = [
577
625
  "aws:TagKeys",
578
626
  "payment-cryptography:CertificateAuthorityPublicKeyIdentifier",
579
627
  "payment-cryptography:ImportKeyMaterial",
628
+ "payment-cryptography:PrivateKeyIdentifier",
580
629
  "payment-cryptography:WrappingKeyIdentifier",
581
630
  ];
582
631
  /** Condition keys applicable to the ReEncryptData action. */
@@ -643,6 +692,12 @@ PaymentCryptographyConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
643
692
  PaymentCryptographyConditions.AWS_TAG_KEYS = "aws:TagKeys";
644
693
  /** Condition key: payment-cryptography:CertificateAuthorityPublicKeyIdentifier (String) */
645
694
  PaymentCryptographyConditions.CERTIFICATE_AUTHORITY_PUBLIC_KEY_IDENTIFIER = "payment-cryptography:CertificateAuthorityPublicKeyIdentifier";
695
+ /** Condition key: payment-cryptography:DeriveKeyUsage (String) */
696
+ PaymentCryptographyConditions.DERIVE_KEY_USAGE = "payment-cryptography:DeriveKeyUsage";
697
+ /** Condition key: payment-cryptography:ExportDukptInitialKey (Bool) */
698
+ PaymentCryptographyConditions.EXPORT_DUKPT_INITIAL_KEY = "payment-cryptography:ExportDukptInitialKey";
699
+ /** Condition key: payment-cryptography:ExportKeyMaterial (String) */
700
+ PaymentCryptographyConditions.EXPORT_KEY_MATERIAL = "payment-cryptography:ExportKeyMaterial";
646
701
  /** Condition key: payment-cryptography:ImportKeyMaterial (String) */
647
702
  PaymentCryptographyConditions.IMPORT_KEY_MATERIAL = "payment-cryptography:ImportKeyMaterial";
648
703
  /** Condition key: payment-cryptography:KeyAlgorithm (String) */
@@ -651,10 +706,14 @@ PaymentCryptographyConditions.KEY_ALGORITHM = "payment-cryptography:KeyAlgorithm
651
706
  PaymentCryptographyConditions.KEY_CLASS = "payment-cryptography:KeyClass";
652
707
  /** Condition key: payment-cryptography:KeyUsage (String) */
653
708
  PaymentCryptographyConditions.KEY_USAGE = "payment-cryptography:KeyUsage";
709
+ /** Condition key: payment-cryptography:PrivateKeyIdentifier (String) */
710
+ PaymentCryptographyConditions.PRIVATE_KEY_IDENTIFIER = "payment-cryptography:PrivateKeyIdentifier";
654
711
  /** Condition key: payment-cryptography:RequestAlias (String) */
655
712
  PaymentCryptographyConditions.REQUEST_ALIAS = "payment-cryptography:RequestAlias";
656
713
  /** Condition key: payment-cryptography:ResourceAliases (ArrayOfString) */
657
714
  PaymentCryptographyConditions.RESOURCE_ALIASES = "payment-cryptography:ResourceAliases";
715
+ /** Condition key: payment-cryptography:SigningKeyIdentifier (String) */
716
+ PaymentCryptographyConditions.SIGNING_KEY_IDENTIFIER = "payment-cryptography:SigningKeyIdentifier";
658
717
  /** Condition key: payment-cryptography:WrappingKeyIdentifier (String) */
659
718
  PaymentCryptographyConditions.WRAPPING_KEY_IDENTIFIER = "payment-cryptography:WrappingKeyIdentifier";
660
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1jcnlwdG9ncmFwaHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3BheW1lbnQtY3J5cHRvZ3JhcGh5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsMkRBQTJEO0FBQzNELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLDBCQUEwQjs7QUFBdkMsZ0VBa0xDOzs7QUFqTEEsOEJBQThCO0FBQ2QseUNBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUV4RCw0REFBNEQ7QUFDNUMsbURBQXdCLEdBQ3ZDLCtDQUErQyxDQUFDO0FBQ2pELG9EQUFvRDtBQUNwQywyQ0FBZ0IsR0FBRyx1Q0FBdUMsQ0FBQztBQUMzRSwrQ0FBK0M7QUFDL0Isc0NBQVcsR0FBRyxrQ0FBa0MsQ0FBQztBQUNqRSw2Q0FBNkM7QUFDN0Isb0NBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM3RCwrQ0FBK0M7QUFDL0Isc0NBQVcsR0FBRyxrQ0FBa0MsQ0FBQztBQUNqRSwrQ0FBK0M7QUFDL0Isc0NBQVcsR0FBRyxrQ0FBa0MsQ0FBQztBQUNqRSw2Q0FBNkM7QUFDN0Isb0NBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM3RCx1RUFBdUU7QUFDdkQsK0NBQW9CLEdBQ25DLDJDQUEyQyxDQUFDO0FBQzdDLHVFQUF1RTtBQUN2RCw4REFBbUMsR0FDbEQsMERBQTBELENBQUM7QUFDNUQsdURBQXVEO0FBQ3ZDLDhDQUFtQixHQUNsQywwQ0FBMEMsQ0FBQztBQUM1QyxzRUFBc0U7QUFDdEQsNkRBQWtDLEdBQ2pELHlEQUF5RCxDQUFDO0FBQzNELCtDQUErQztBQUMvQixzQ0FBVyxHQUFHLGtDQUFrQyxDQUFDO0FBQ2pFLDZDQUE2QztBQUM3QixvQ0FBUyxHQUFHLGdDQUFnQyxDQUFDO0FBQzdELCtEQUErRDtBQUMvQyxz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LDJDQUFhLEdBQUcsbUNBQW1DLENBQUM7QUFDcEUsMEVBQTBFO0FBQzFELDhDQUFnQixHQUFHLHNDQUFzQyxDQUFDO0FBQzFFLHlFQUF5RTtBQUN6RCxxREFBdUIsR0FDdEMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9wYXltZW50LWNyeXB0b2dyYXBoeS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgcGF5bWVudC1jcnlwdG9ncmFwaHkgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHlcIjtcblxuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEtleVJlcGxpY2F0aW9uUmVnaW9ucyA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6QXNzb2NpYXRlTXBhVGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlTXBhVGVhbSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6QXNzb2NpYXRlTXBhVGVhbVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpDcmVhdGVBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxpYXMgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkNyZWF0ZUFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkNyZWF0ZUtleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS2V5ID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpDcmVhdGVLZXlcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6RGVjcnlwdERhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3J5cHREYXRhID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZWNyeXB0RGF0YVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWxpYXMgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZUFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZUtleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS2V5ID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVLZXlcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkRpc2FibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpEaXNhYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9uc1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpEaXNhc3NvY2lhdGVNcGFUZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVNcGFUZWFtID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRpc2Fzc29jaWF0ZU1wYVRlYW1cIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6RW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpFbmFibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkVuY3J5cHREYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBFbmNyeXB0RGF0YSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RW5jcnlwdERhdGFcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0S2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRLZXkgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkV4cG9ydEtleVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlQXMyODA1S2VrVmFsaWRhdGlvbiA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlQ2FyZFZhbGlkYXRpb25EYXRhID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdlbmVyYXRlQ2FyZFZhbGlkYXRpb25EYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdlbmVyYXRlTWFjICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZU1hYyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVNYWNcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlTWFjRW12UGluQ2hhbmdlID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdlbmVyYXRlTWFjRW12UGluQ2hhbmdlXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdlbmVyYXRlUGluRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVQaW5EYXRhID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZVBpbkRhdGFcIjtcblx0LyoqIFtSZWFkXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWxpYXMgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldEFsaWFzXCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0XCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0RGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXREZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zXCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0S2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLZXkgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldEtleVwiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldE1wYVRlYW1Bc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TXBhVGVhbUFzc29jaWF0aW9uID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldE1wYVRlYW1Bc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFBhcmFtZXRlcnNGb3JFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcmFtZXRlcnNGb3JFeHBvcnQgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UGFyYW1ldGVyc0ZvckV4cG9ydFwiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFBhcmFtZXRlcnNGb3JJbXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcmFtZXRlcnNGb3JJbXBvcnQgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UGFyYW1ldGVyc0ZvckltcG9ydFwiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFB1YmxpY0tleUNlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQdWJsaWNLZXlDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRQdWJsaWNLZXlDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpJbXBvcnRLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEtleSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6SW1wb3J0S2V5XCI7XG5cdC8qKiBbTGlzdF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6TGlzdEFsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpMaXN0QWxpYXNlc1wiO1xuXHQvKiogW0xpc3RdIHBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RLZXlzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S2V5cyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6TGlzdEtleXNcIjtcblx0LyoqIFtSZWFkXSBwYXltZW50LWNyeXB0b2dyYXBoeTpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpSZUVuY3J5cHREYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBSZUVuY3J5cHREYXRhID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZUVuY3J5cHREYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlS2V5UmVwbGljYXRpb25SZWdpb25zID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9uc1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpSZXN0b3JlS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0b3JlS2V5ID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXN0b3JlS2V5XCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlN0YXJ0S2V5VXNhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0S2V5VXNhZ2UgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlN0YXJ0S2V5VXNhZ2VcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6U3RvcEtleVVzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wS2V5VXNhZ2UgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlN0b3BLZXlVc2FnZVwiO1xuXHQvKiogW1RhZ2dpbmddIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6VHJhbnNsYXRlS2V5TWF0ZXJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zbGF0ZUtleU1hdGVyaWFsID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlRyYW5zbGF0ZUtleU1hdGVyaWFsXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlRyYW5zbGF0ZVBpbkRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zbGF0ZVBpbkRhdGEgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlRyYW5zbGF0ZVBpbkRhdGFcIjtcblx0LyoqIFtUYWdnaW5nXSBwYXltZW50LWNyeXB0b2dyYXBoeTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlVwZGF0ZUFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBbGlhcyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VXBkYXRlQWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlBdXRoUmVxdWVzdENyeXB0b2dyYW0gPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlZlcmlmeUNhcmRWYWxpZGF0aW9uRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5Q2FyZFZhbGlkYXRpb25EYXRhID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlZlcmlmeUNhcmRWYWxpZGF0aW9uRGF0YVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpWZXJpZnlNYWMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeU1hYyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5TWFjXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlZlcmlmeVBpbkRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeVBpbkRhdGEgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlZlcmlmeVBpbkRhdGFcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5hY3Rpb25HZXRBbGlhcyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5hY3Rpb25HZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0LFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLmFjdGlvbkdldERlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuYWN0aW9uR2V0S2V5LFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLmFjdGlvbkdldE1wYVRlYW1Bc3NvY2lhdGlvbixcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5hY3Rpb25HZXRQYXJhbWV0ZXJzRm9yRXhwb3J0LFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLmFjdGlvbkdldFBhcmFtZXRlcnNGb3JJbXBvcnQsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuYWN0aW9uR2V0UHVibGljS2V5Q2VydGlmaWNhdGUsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5BZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuQXNzb2NpYXRlTXBhVGVhbSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5DcmVhdGVBbGlhcyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5DcmVhdGVLZXksXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuRGVjcnlwdERhdGEsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuRGVsZXRlQWxpYXMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuRGVsZXRlS2V5LFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkRpc2FibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkRpc2Fzc29jaWF0ZU1wYVRlYW0sXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuRW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5FbmNyeXB0RGF0YSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5FeHBvcnRLZXksXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuR2VuZXJhdGVBczI4MDVLZWtWYWxpZGF0aW9uLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkdlbmVyYXRlQ2FyZFZhbGlkYXRpb25EYXRhLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkdlbmVyYXRlTWFjLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkdlbmVyYXRlTWFjRW12UGluQ2hhbmdlLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkdlbmVyYXRlUGluRGF0YSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5JbXBvcnRLZXksXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuUmVFbmNyeXB0RGF0YSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5SZW1vdmVLZXlSZXBsaWNhdGlvblJlZ2lvbnMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuUmVzdG9yZUtleSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5TdGFydEtleVVzYWdlLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlN0b3BLZXlVc2FnZSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5UcmFuc2xhdGVLZXlNYXRlcmlhbCxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5UcmFuc2xhdGVQaW5EYXRhLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlVwZGF0ZUFsaWFzLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlZlcmlmeUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5WZXJpZnlDYXJkVmFsaWRhdGlvbkRhdGEsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuVmVyaWZ5TWFjLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlZlcmlmeVBpbkRhdGEsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkxpc3RBbGlhc2VzLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkxpc3RLZXlzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXltZW50Q3J5cHRvZ3JhcGh5QWxpYXNBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWxpYXMgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFsaWFzOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDcnlwdG9ncmFwaHlBbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWxpYXMgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbGlhczogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwcm92YWwtdGVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudENyeXB0b2dyYXBoeUFwcHJvdmFsVGVhbUFyblByb3BzIHtcblx0LyoqIFRoZSBBcHByb3ZhbFRlYW1JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwcm92YWxUZWFtSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHByb3ZhbC10ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXltZW50Q3J5cHRvZ3JhcGh5QXBwcm92YWxUZWFtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHByb3ZhbFRlYW1JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcHJvdmFsVGVhbUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBrZXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDcnlwdG9ncmFwaHlLZXlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgS2V5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga2V5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXltZW50Q3J5cHRvZ3JhcGh5S2V5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBLZXlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFsaWFzQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBheW1lbnQtY3J5cHRvZ3JhcGh5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWxpYXNcXC8oPzxhbGlhcz5bXjovP10rKSQvO1xuY29uc3QgQXBwcm92YWxUZWFtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm1wYTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcHJvdmFsLXRlYW1cXC8oPzxhcHByb3ZhbFRlYW1JZD5bXjovP10rKSQvO1xuY29uc3QgS2V5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnBheW1lbnQtY3J5cHRvZ3JhcGh5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6a2V5XFwvKD88a2V5SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBwYXltZW50LWNyeXB0b2dyYXBoeSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXltZW50Q3J5cHRvZ3JhcGh5UmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhbGlhcyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhbGlhcyhwcm9wczogUGF5bWVudENyeXB0b2dyYXBoeUFsaWFzQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBheW1lbnQtY3J5cHRvZ3JhcGh5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFsaWFzLyR7cHJvcHMuYWxpYXN9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGlhc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhbGlhcyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbGlhc0Fybihhcm46IHN0cmluZyk6IFBheW1lbnRDcnlwdG9ncmFwaHlBbGlhc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWxpYXNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWxpYXMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWxpYXM6IG1hdGNoLmdyb3VwcyEuYWxpYXMsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwcm92YWwtdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHByb3ZhbFRlYW0ocHJvcHM6IFBheW1lbnRDcnlwdG9ncmFwaHlBcHByb3ZhbFRlYW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bXBhOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcHJvdmFsLXRlYW0vJHtwcm9wcy5hcHByb3ZhbFRlYW1JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwcm92YWwtdGVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwcm92YWxUZWFtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcHJvdmFsVGVhbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHByb3ZhbC10ZWFtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcHJvdmFsVGVhbUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUGF5bWVudENyeXB0b2dyYXBoeUFwcHJvdmFsVGVhbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwcm92YWxUZWFtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcHJvdmFsLXRlYW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwcm92YWxUZWFtSWQ6IG1hdGNoLmdyb3VwcyEuYXBwcm92YWxUZWFtSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUga2V5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGtleShwcm9wczogUGF5bWVudENyeXB0b2dyYXBoeUtleUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpwYXltZW50LWNyeXB0b2dyYXBoeToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTprZXkvJHtwcm9wcy5rZXlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUga2V5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLZXlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gS2V5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGtleSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VLZXlBcm4oYXJuOiBzdHJpbmcpOiBQYXltZW50Q3J5cHRvZ3JhcGh5S2V5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLZXlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQga2V5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGtleUlkOiBtYXRjaC5ncm91cHMhLmtleUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHBheW1lbnQtY3J5cHRvZ3JhcGh5LlxuICovXG5leHBvcnQgY2xhc3MgUGF5bWVudENyeXB0b2dyYXBoeU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6QWRkS2V5UmVwbGljYXRpb25SZWdpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU1wYVRlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVNcGFUZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkFzc29jaWF0ZU1wYVRlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBbGlhczogc3RyaW5nW10gPSBbXCJwYXltZW50LWNyeXB0b2dyYXBoeTpDcmVhdGVBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS2V5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkNyZWF0ZUtleVwiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjcnlwdERhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyeXB0RGF0YTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGlhczogc3RyaW5nW10gPSBbXCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS2V5OiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZUtleVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRpc2FibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZU1wYVRlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVNcGFUZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRpc2Fzc29jaWF0ZU1wYVRlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmNyeXB0RGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuY3J5cHREYXRhOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeHBvcnRLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRLZXk6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0S2V5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlQXV0aFJlcXVlc3RDcnlwdG9ncmFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVBdXRoUmVxdWVzdENyeXB0b2dyYW06IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlQ2FyZFZhbGlkYXRpb25EYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGE6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlTWFjIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVNYWM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlTWFjRW12UGluQ2hhbmdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlUGluRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUGluRGF0YTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFsaWFzOiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXREZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtleSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0S2V5OiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldEtleVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TXBhVGVhbUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNcGFUZWFtQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0TXBhVGVhbUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcmFtZXRlcnNGb3JFeHBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcmFtZXRlcnNGb3JFeHBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UGFyYW1ldGVyc0ZvckV4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFBhcmFtZXRlcnNGb3JJbXBvcnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UHVibGljS2V5Q2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFB1YmxpY0tleUNlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFB1YmxpY0tleUNlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRLZXk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6SW1wb3J0S2V5XCIsXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RBbGlhc2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0S2V5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLZXlzOiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RLZXlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UHV0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVFbmNyeXB0RGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlRW5jcnlwdERhdGE6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZW1vdmVLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVzdG9yZUtleSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3RvcmVLZXk6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVzdG9yZUtleVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRLZXlVc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0S2V5VXNhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6U3RhcnRLZXlVc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wS2V5VXNhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wS2V5VXNhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6U3RvcEtleVVzYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRyYW5zbGF0ZUtleU1hdGVyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhbnNsYXRlS2V5TWF0ZXJpYWw6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRyYW5zbGF0ZVBpbkRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUcmFuc2xhdGVQaW5EYXRhOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpVbnRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWxpYXM6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6VXBkYXRlQWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVmVyaWZ5Q2FyZFZhbGlkYXRpb25EYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5Q2FyZFZhbGlkYXRpb25EYXRhOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWZXJpZnlNYWMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlNYWM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeVBpbkRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlQaW5EYXRhOiBzdHJpbmdbXSA9IFtdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgcGF5bWVudC1jcnlwdG9ncmFwaHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXltZW50Q3J5cHRvZ3JhcGh5Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkS2V5UmVwbGljYXRpb25SZWdpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUtleSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLZXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUFsZ29yaXRobVwiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5Q2xhc3NcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleVVzYWdlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWNyeXB0RGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyeXB0RGF0YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGlhc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlS2V5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBFbmNyeXB0RGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmNyeXB0RGF0YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBFeHBvcnRLZXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0S2V5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpDZXJ0aWZpY2F0ZUF1dGhvcml0eVB1YmxpY0tleUlkZW50aWZpZXJcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6V3JhcHBpbmdLZXlJZGVudGlmaWVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVBczI4MDVLZWtWYWxpZGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdlbmVyYXRlQ2FyZFZhbGlkYXRpb25EYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlQ2FyZFZhbGlkYXRpb25EYXRhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdlbmVyYXRlTWFjIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlTWFjQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdlbmVyYXRlTWFjRW12UGluQ2hhbmdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlTWFjRW12UGluQ2hhbmdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdlbmVyYXRlUGluRGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVBpbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QWxpYXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRLZXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S2V5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFB1YmxpY0tleUNlcnRpZmljYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFB1YmxpY0tleUNlcnRpZmljYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEltcG9ydEtleSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRLZXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkNlcnRpZmljYXRlQXV0aG9yaXR5UHVibGljS2V5SWRlbnRpZmllclwiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6SW1wb3J0S2V5TWF0ZXJpYWxcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OldyYXBwaW5nS2V5SWRlbnRpZmllclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVFbmNyeXB0RGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZUVuY3J5cHREYXRhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVLZXlSZXBsaWNhdGlvblJlZ2lvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVzdG9yZUtleSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0b3JlS2V5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0S2V5VXNhZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRLZXlVc2FnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdG9wS2V5VXNhZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEtleVVzYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUcmFuc2xhdGVLZXlNYXRlcmlhbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUcmFuc2xhdGVLZXlNYXRlcmlhbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUcmFuc2xhdGVQaW5EYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zbGF0ZVBpbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUFsaWFzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBWZXJpZnlBdXRoUmVxdWVzdENyeXB0b2dyYW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFZlcmlmeUNhcmRWYWxpZGF0aW9uRGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlDYXJkVmFsaWRhdGlvbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVmVyaWZ5TWFjIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeU1hY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBWZXJpZnlQaW5EYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeVBpbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OkNlcnRpZmljYXRlQXV0aG9yaXR5UHVibGljS2V5SWRlbnRpZmllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0VSVElGSUNBVEVfQVVUSE9SSVRZX1BVQkxJQ19LRVlfSURFTlRJRklFUiA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpDZXJ0aWZpY2F0ZUF1dGhvcml0eVB1YmxpY0tleUlkZW50aWZpZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OkltcG9ydEtleU1hdGVyaWFsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTVBPUlRfS0VZX01BVEVSSUFMID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkltcG9ydEtleU1hdGVyaWFsXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlBbGdvcml0aG0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtFWV9BTEdPUklUSE0gPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUFsZ29yaXRobVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5Q2xhc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtFWV9DTEFTUyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5Q2xhc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OktleVVzYWdlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBLRVlfVVNBR0UgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleVVzYWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFUVVFU1RfQUxJQVMgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6UmVzb3VyY2VBbGlhc2VzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfQUxJQVNFUyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVzb3VyY2VBbGlhc2VzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXltZW50LWNyeXB0b2dyYXBoeTpXcmFwcGluZ0tleUlkZW50aWZpZXIgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdSQVBQSU5HX0tFWV9JREVOVElGSUVSID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OldyYXBwaW5nS2V5SWRlbnRpZmllclwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpDZXJ0aWZpY2F0ZUF1dGhvcml0eVB1YmxpY0tleUlkZW50aWZpZXJgLlxuXHQgKi9cblx0c3RhdGljIGNlcnRpZmljYXRlQXV0aG9yaXR5UHVibGljS2V5SWRlbnRpZmllcihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkNlcnRpZmljYXRlQXV0aG9yaXR5UHVibGljS2V5SWRlbnRpZmllclwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpJbXBvcnRLZXlNYXRlcmlhbGAuXG5cdCAqL1xuXHRzdGF0aWMgaW1wb3J0S2V5TWF0ZXJpYWwoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpJbXBvcnRLZXlNYXRlcmlhbFwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5QWxnb3JpdGhtYC5cblx0ICovXG5cdHN0YXRpYyBrZXlBbGdvcml0aG0odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlBbGdvcml0aG1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUNsYXNzYC5cblx0ICovXG5cdHN0YXRpYyBrZXlDbGFzcyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUNsYXNzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlVc2FnZWAuXG5cdCAqL1xuXHRzdGF0aWMga2V5VXNhZ2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlVc2FnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzYC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0QWxpYXModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlc291cmNlQWxpYXNlc2AuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VBbGlhc2VzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlc291cmNlQWxpYXNlc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6V3JhcHBpbmdLZXlJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyB3cmFwcGluZ0tleUlkZW50aWZpZXIoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpXcmFwcGluZ0tleUlkZW50aWZpZXJcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG59XG4iXX0=
719
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1jcnlwdG9ncmFwaHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3BheW1lbnQtY3J5cHRvZ3JhcGh5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsMkRBQTJEO0FBQzNELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLDBCQUEwQjs7QUFBdkMsZ0VBc0xDOzs7QUFyTEEsOEJBQThCO0FBQ2QseUNBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUV4RCw0REFBNEQ7QUFDNUMsbURBQXdCLEdBQ3ZDLCtDQUErQyxDQUFDO0FBQ2pELG9EQUFvRDtBQUNwQywyQ0FBZ0IsR0FBRyx1Q0FBdUMsQ0FBQztBQUMzRSwrQ0FBK0M7QUFDL0Isc0NBQVcsR0FBRyxrQ0FBa0MsQ0FBQztBQUNqRSw2Q0FBNkM7QUFDN0Isb0NBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM3RCwrQ0FBK0M7QUFDL0Isc0NBQVcsR0FBRyxrQ0FBa0MsQ0FBQztBQUNqRSwrQ0FBK0M7QUFDL0Isc0NBQVcsR0FBRyxrQ0FBa0MsQ0FBQztBQUNqRSw2Q0FBNkM7QUFDN0Isb0NBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM3RCx1RUFBdUU7QUFDdkQsK0NBQW9CLEdBQ25DLDJDQUEyQyxDQUFDO0FBQzdDLHVFQUF1RTtBQUN2RCw4REFBbUMsR0FDbEQsMERBQTBELENBQUM7QUFDNUQsdURBQXVEO0FBQ3ZDLDhDQUFtQixHQUNsQywwQ0FBMEMsQ0FBQztBQUM1QyxzRUFBc0U7QUFDdEQsNkRBQWtDLEdBQ2pELHlEQUF5RCxDQUFDO0FBQzNELCtDQUErQztBQUMvQixzQ0FBVyxHQUFHLGtDQUFrQyxDQUFDO0FBQ2pFLDZDQUE2QztBQUM3QixvQ0FBUyxHQUFHLGdDQUFnQyxDQUFDO0FBQzdELCtEQUErRDtBQUMvQyxz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NUQsd0VBQXdFO0FBQ3hELG9EQUFzQixHQUNyQywyQ0FBMkMsQ0FBQztBQUM3QyxnRUFBZ0U7QUFDaEQsMkNBQWEsR0FBRyxtQ0FBbUMsQ0FBQztBQUNwRSwwRUFBMEU7QUFDMUQsOENBQWdCLEdBQUcsc0NBQXNDLENBQUM7QUFDMUUsd0VBQXdFO0FBQ3hELG9EQUFzQixHQUNyQywyQ0FBMkMsQ0FBQztBQUM3Qyx5RUFBeUU7QUFDekQscURBQXVCLEdBQ3RDLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvcGF5bWVudC1jcnlwdG9ncmFwaHkuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHBheW1lbnQtY3J5cHRvZ3JhcGh5IHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5XCI7XG5cblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6QWRkS2V5UmVwbGljYXRpb25SZWdpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6QWRkS2V5UmVwbGljYXRpb25SZWdpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkFzc29jaWF0ZU1wYVRlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU1wYVRlYW0gPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkFzc29jaWF0ZU1wYVRlYW1cIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6Q3JlYXRlQWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsaWFzID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpDcmVhdGVBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpDcmVhdGVLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtleSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6Q3JlYXRlS2V5XCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlY3J5cHREYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyeXB0RGF0YSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RGVjcnlwdERhdGFcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6RGVsZXRlQWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsaWFzID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RGVsZXRlS2V5XCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpEaXNhYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RGlzYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6RGlzYXNzb2NpYXRlTXBhVGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlTXBhVGVhbSA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpEaXNhc3NvY2lhdGVNcGFUZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkVuYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnMgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9uc1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpFbmNyeXB0RGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5jcnlwdERhdGEgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkVuY3J5cHREYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkV4cG9ydEtleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0S2V5ID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpFeHBvcnRLZXlcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVBczI4MDVLZWtWYWxpZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb24gPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVBczI4MDVLZWtWYWxpZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdlbmVyYXRlQXV0aFJlcXVlc3RDcnlwdG9ncmFtICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbSA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZUNhcmRWYWxpZGF0aW9uRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGEgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGFcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVNYWMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlTWFjID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZU1hY1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZW5lcmF0ZU1hY0VtdlBpbkNoYW5nZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2UgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2VcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2VuZXJhdGVQaW5EYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZVBpbkRhdGEgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdlbmVyYXRlUGluRGF0YVwiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbGlhcyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0ID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RcIjtcblx0LyoqIFtSZWFkXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZXREZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldERlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIjtcblx0LyoqIFtSZWFkXSBwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtleSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0S2V5XCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0TXBhVGVhbUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNcGFUZWFtQXNzb2NpYXRpb24gPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0TXBhVGVhbUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UGFyYW1ldGVyc0ZvckV4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVyc0ZvckV4cG9ydCA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRQYXJhbWV0ZXJzRm9yRXhwb3J0XCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UGFyYW1ldGVyc0ZvckltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVyc0ZvckltcG9ydCA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRQYXJhbWV0ZXJzRm9ySW1wb3J0XCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UHVibGljS2V5Q2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFB1YmxpY0tleUNlcnRpZmljYXRlID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFB1YmxpY0tleUNlcnRpZmljYXRlXCI7XG5cdC8qKiBbUmVhZF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OkltcG9ydEtleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0S2V5ID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpJbXBvcnRLZXlcIjtcblx0LyoqIFtMaXN0XSBwYXltZW50LWNyeXB0b2dyYXBoeTpMaXN0QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsaWFzZXMgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gcGF5bWVudC1jcnlwdG9ncmFwaHk6TGlzdEtleXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLZXlzID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpMaXN0S2V5c1wiO1xuXHQvKiogW1JlYWRdIHBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBwYXltZW50LWNyeXB0b2dyYXBoeTpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlRW5jcnlwdERhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlRW5jcnlwdERhdGEgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlRW5jcnlwdERhdGFcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6UmVtb3ZlS2V5UmVwbGljYXRpb25SZWdpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVLZXlSZXBsaWNhdGlvblJlZ2lvbnMgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVtb3ZlS2V5UmVwbGljYXRpb25SZWdpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlc3RvcmVLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3RvcmVLZXkgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlc3RvcmVLZXlcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6U3RhcnRLZXlVc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRLZXlVc2FnZSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6U3RhcnRLZXlVc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpTdG9wS2V5VXNhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BLZXlVc2FnZSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6U3RvcEtleVVzYWdlXCI7XG5cdC8qKiBbVGFnZ2luZ10gcGF5bWVudC1jcnlwdG9ncmFwaHk6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpUcmFuc2xhdGVLZXlNYXRlcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhbnNsYXRlS2V5TWF0ZXJpYWwgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VHJhbnNsYXRlS2V5TWF0ZXJpYWxcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6VHJhbnNsYXRlUGluRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhbnNsYXRlUGluRGF0YSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VHJhbnNsYXRlUGluRGF0YVwiO1xuXHQvKiogW1RhZ2dpbmddIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6VXBkYXRlQWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFsaWFzID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpVcGRhdGVBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBwYXltZW50LWNyeXB0b2dyYXBoeTpWZXJpZnlBdXRoUmVxdWVzdENyeXB0b2dyYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbSA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpWZXJpZnlBdXRoUmVxdWVzdENyeXB0b2dyYW1cIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5Q2FyZFZhbGlkYXRpb25EYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlDYXJkVmFsaWRhdGlvbkRhdGEgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5Q2FyZFZhbGlkYXRpb25EYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHBheW1lbnQtY3J5cHRvZ3JhcGh5OlZlcmlmeU1hYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5TWFjID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpWZXJpZnlNYWNcIjtcblx0LyoqIFtXcml0ZV0gcGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5UGluRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5UGluRGF0YSA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6VmVyaWZ5UGluRGF0YVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLmFjdGlvbkdldEFsaWFzLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLmFjdGlvbkdldENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuYWN0aW9uR2V0RGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9ucyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5hY3Rpb25HZXRLZXksXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuYWN0aW9uR2V0TXBhVGVhbUFzc29jaWF0aW9uLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLmFjdGlvbkdldFBhcmFtZXRlcnNGb3JFeHBvcnQsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuYWN0aW9uR2V0UGFyYW1ldGVyc0ZvckltcG9ydCxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5hY3Rpb25HZXRQdWJsaWNLZXlDZXJ0aWZpY2F0ZSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkFkZEtleVJlcGxpY2F0aW9uUmVnaW9ucyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5Bc3NvY2lhdGVNcGFUZWFtLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkNyZWF0ZUFsaWFzLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkNyZWF0ZUtleSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5EZWNyeXB0RGF0YSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5EZWxldGVBbGlhcyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5EZWxldGVLZXksXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuRGlzYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuRGlzYXNzb2NpYXRlTXBhVGVhbSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5FbmFibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkVuY3J5cHREYXRhLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkV4cG9ydEtleSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5HZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb24sXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuR2VuZXJhdGVBdXRoUmVxdWVzdENyeXB0b2dyYW0sXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuR2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGEsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuR2VuZXJhdGVNYWMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuR2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2UsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuR2VuZXJhdGVQaW5EYXRhLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkltcG9ydEtleSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5SZUVuY3J5cHREYXRhLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9ucyxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5SZXN0b3JlS2V5LFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlN0YXJ0S2V5VXNhZ2UsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuU3RvcEtleVVzYWdlLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlRyYW5zbGF0ZUtleU1hdGVyaWFsLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlRyYW5zbGF0ZVBpbkRhdGEsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuVXBkYXRlQWxpYXMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuVmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtLFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlZlcmlmeUNhcmRWYWxpZGF0aW9uRGF0YSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5WZXJpZnlNYWMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuVmVyaWZ5UGluRGF0YSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuTGlzdEFsaWFzZXMsXG5cdFx0UGF5bWVudENyeXB0b2dyYXBoeUFjdGlvbnMuTGlzdEtleXMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdFBheW1lbnRDcnlwdG9ncmFwaHlBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRQYXltZW50Q3J5cHRvZ3JhcGh5QWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDcnlwdG9ncmFwaHlBbGlhc0FyblByb3BzIHtcblx0LyoqIFRoZSBBbGlhcyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWxpYXM6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhbGlhcyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudENyeXB0b2dyYXBoeUFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBbGlhcyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFsaWFzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHByb3ZhbC10ZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXltZW50Q3J5cHRvZ3JhcGh5QXBwcm92YWxUZWFtQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcHJvdmFsVGVhbUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHByb3ZhbFRlYW1JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcHJvdmFsLXRlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDcnlwdG9ncmFwaHlBcHByb3ZhbFRlYW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcHJvdmFsVGVhbUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwcm92YWxUZWFtSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGtleSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudENyeXB0b2dyYXBoeUtleUFyblByb3BzIHtcblx0LyoqIFRoZSBLZXlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkga2V5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBrZXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDcnlwdG9ncmFwaHlLZXlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEtleUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkga2V5SWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWxpYXNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGF5bWVudC1jcnlwdG9ncmFwaHk6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphbGlhc1xcLyg/PGFsaWFzPlteOi8/XSspJC87XG5jb25zdCBBcHByb3ZhbFRlYW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bXBhOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwcm92YWwtdGVhbVxcLyg/PGFwcHJvdmFsVGVhbUlkPlteOi8/XSspJC87XG5jb25zdCBLZXlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cGF5bWVudC1jcnlwdG9ncmFwaHk6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTprZXlcXC8oPzxrZXlJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHBheW1lbnQtY3J5cHRvZ3JhcGh5IHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBheW1lbnRDcnlwdG9ncmFwaHlSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsaWFzKHByb3BzOiBQYXltZW50Q3J5cHRvZ3JhcGh5QWxpYXNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cGF5bWVudC1jcnlwdG9ncmFwaHk6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWxpYXMvJHtwcm9wcy5hbGlhc31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFsaWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFsaWFzIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFsaWFzQXJuKGFybjogc3RyaW5nKTogUGF5bWVudENyeXB0b2dyYXBoeUFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBbGlhc0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhbGlhczogbWF0Y2guZ3JvdXBzIS5hbGlhcyxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHByb3ZhbC10ZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcHJvdmFsVGVhbShwcm9wczogUGF5bWVudENyeXB0b2dyYXBoeUFwcHJvdmFsVGVhbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTptcGE6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwcm92YWwtdGVhbS8ke3Byb3BzLmFwcHJvdmFsVGVhbUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHByb3ZhbC10ZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHByb3ZhbFRlYW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwcm92YWxUZWFtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcHJvdmFsLXRlYW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwcm92YWxUZWFtQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBQYXltZW50Q3J5cHRvZ3JhcGh5QXBwcm92YWxUZWFtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHByb3ZhbFRlYW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwcm92YWwtdGVhbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHByb3ZhbFRlYW1JZDogbWF0Y2guZ3JvdXBzIS5hcHByb3ZhbFRlYW1JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBrZXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMga2V5KHByb3BzOiBQYXltZW50Q3J5cHRvZ3JhcGh5S2V5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnBheW1lbnQtY3J5cHRvZ3JhcGh5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmtleS8ke3Byb3BzLmtleUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBrZXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEtleUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBLZXlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga2V5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtleUFybihhcm46IHN0cmluZyk6IFBheW1lbnRDcnlwdG9ncmFwaHlLZXlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEtleUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBrZXkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0a2V5SWQ6IG1hdGNoLmdyb3VwcyEua2V5SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgcGF5bWVudC1jcnlwdG9ncmFwaHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXltZW50Q3J5cHRvZ3JhcGh5T3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZEtleVJlcGxpY2F0aW9uUmVnaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEtleVJlcGxpY2F0aW9uUmVnaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlTXBhVGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU1wYVRlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6QXNzb2NpYXRlTXBhVGVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsaWFzOiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkNyZWF0ZUFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLZXk6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6Q3JlYXRlS2V5XCIsXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWNyeXB0RGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3J5cHREYXRhOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsaWFzOiBzdHJpbmdbXSA9IFtcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZUFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLZXk6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6RGVsZXRlS2V5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RGlzYWJsZURlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlTXBhVGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1wYVRlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RGlzYXNzb2NpYXRlTXBhVGVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlRGVmYXVsdEtleVJlcGxpY2F0aW9uUmVnaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpFbmFibGVEZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuY3J5cHREYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5jcnlwdERhdGE6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydEtleSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydEtleTogc3RyaW5nW10gPSBbXCJwYXltZW50LWNyeXB0b2dyYXBoeTpFeHBvcnRLZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlQXMyODA1S2VrVmFsaWRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlQXMyODA1S2VrVmFsaWRhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVBdXRoUmVxdWVzdENyeXB0b2dyYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUF1dGhSZXF1ZXN0Q3J5cHRvZ3JhbTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUNhcmRWYWxpZGF0aW9uRGF0YTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVNYWMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZU1hYzogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZU1hY0VtdlBpbkNoYW5nZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVQaW5EYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVQaW5EYXRhOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWxpYXM6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZWZhdWx0S2V5UmVwbGljYXRpb25SZWdpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldERlZmF1bHRLZXlSZXBsaWNhdGlvblJlZ2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0S2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLZXk6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0S2V5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNcGFUZWFtQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1wYVRlYW1Bc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRNcGFUZWFtQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UGFyYW1ldGVyc0ZvckV4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGFyYW1ldGVyc0ZvckV4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpHZXRQYXJhbWV0ZXJzRm9yRXhwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcmFtZXRlcnNGb3JJbXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcmFtZXRlcnNGb3JJbXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UGFyYW1ldGVyc0ZvckltcG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQdWJsaWNLZXlDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UHVibGljS2V5Q2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6R2V0UHVibGljS2V5Q2VydGlmaWNhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkdldFJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEtleSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEtleTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpJbXBvcnRLZXlcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsaWFzZXM6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6TGlzdEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLZXlzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtleXM6IHN0cmluZ1tdID0gW1wicGF5bWVudC1jcnlwdG9ncmFwaHk6TGlzdEtleXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5Okxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpQdXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZUVuY3J5cHREYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVFbmNyeXB0RGF0YTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlS2V5UmVwbGljYXRpb25SZWdpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlS2V5UmVwbGljYXRpb25SZWdpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXN0b3JlS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzdG9yZUtleTogc3RyaW5nW10gPSBbXCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXN0b3JlS2V5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEtleVVzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRLZXlVc2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpTdGFydEtleVVzYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BLZXlVc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BLZXlVc2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpTdG9wS2V5VXNhZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJwYXltZW50LWNyeXB0b2dyYXBoeTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVHJhbnNsYXRlS2V5TWF0ZXJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUcmFuc2xhdGVLZXlNYXRlcmlhbDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVHJhbnNsYXRlUGluRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zbGF0ZVBpbkRhdGE6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBbGlhczogc3RyaW5nW10gPSBbXCJwYXltZW50LWNyeXB0b2dyYXBoeTpVcGRhdGVBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWZXJpZnlDYXJkVmFsaWRhdGlvbkRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlDYXJkVmFsaWRhdGlvbkRhdGE6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeU1hYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeU1hYzogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVmVyaWZ5UGluRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeVBpbkRhdGE6IHN0cmluZ1tdID0gW107XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBwYXltZW50LWNyeXB0b2dyYXBoeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBheW1lbnRDcnlwdG9ncmFwaHlDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZEtleVJlcGxpY2F0aW9uUmVnaW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRLZXlSZXBsaWNhdGlvblJlZ2lvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS2V5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtleUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RGVyaXZlS2V5VXNhZ2VcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUFsZ29yaXRobVwiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5Q2xhc3NcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleVVzYWdlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWNyeXB0RGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyeXB0RGF0YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGlhc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlS2V5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBFbmNyeXB0RGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmNyeXB0RGF0YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBFeHBvcnRLZXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0S2V5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpDZXJ0aWZpY2F0ZUF1dGhvcml0eVB1YmxpY0tleUlkZW50aWZpZXJcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkV4cG9ydER1a3B0SW5pdGlhbEtleVwiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0S2V5TWF0ZXJpYWxcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlByaXZhdGVLZXlJZGVudGlmaWVyXCIsXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlNpZ25pbmdLZXlJZGVudGlmaWVyXCIsXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpXcmFwcGluZ0tleUlkZW50aWZpZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdlbmVyYXRlQXMyODA1S2VrVmFsaWRhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUFzMjgwNUtla1ZhbGlkYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2VuZXJhdGVBdXRoUmVxdWVzdENyeXB0b2dyYW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVBdXRoUmVxdWVzdENyeXB0b2dyYW1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGEgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVDYXJkVmFsaWRhdGlvbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2VuZXJhdGVNYWMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVNYWNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVNYWNFbXZQaW5DaGFuZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2VuZXJhdGVQaW5EYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlUGluRGF0YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbGlhc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEtleSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLZXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UHVibGljS2V5Q2VydGlmaWNhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHVibGljS2V5Q2VydGlmaWNhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW1wb3J0S2V5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEtleUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6Q2VydGlmaWNhdGVBdXRob3JpdHlQdWJsaWNLZXlJZGVudGlmaWVyXCIsXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpJbXBvcnRLZXlNYXRlcmlhbFwiLFxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UHJpdmF0ZUtleUlkZW50aWZpZXJcIixcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OldyYXBwaW5nS2V5SWRlbnRpZmllclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVFbmNyeXB0RGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZUVuY3J5cHREYXRhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlbW92ZUtleVJlcGxpY2F0aW9uUmVnaW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVLZXlSZXBsaWNhdGlvblJlZ2lvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVzdG9yZUtleSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0b3JlS2V5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0S2V5VXNhZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRLZXlVc2FnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdG9wS2V5VXNhZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEtleVVzYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUcmFuc2xhdGVLZXlNYXRlcmlhbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUcmFuc2xhdGVLZXlNYXRlcmlhbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUcmFuc2xhdGVQaW5EYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYW5zbGF0ZVBpbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUFsaWFzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBWZXJpZnlBdXRoUmVxdWVzdENyeXB0b2dyYW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5QXV0aFJlcXVlc3RDcnlwdG9ncmFtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFZlcmlmeUNhcmRWYWxpZGF0aW9uRGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlDYXJkVmFsaWRhdGlvbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVmVyaWZ5TWFjIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeU1hY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBWZXJpZnlQaW5EYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeVBpbkRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OkNlcnRpZmljYXRlQXV0aG9yaXR5UHVibGljS2V5SWRlbnRpZmllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0VSVElGSUNBVEVfQVVUSE9SSVRZX1BVQkxJQ19LRVlfSURFTlRJRklFUiA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpDZXJ0aWZpY2F0ZUF1dGhvcml0eVB1YmxpY0tleUlkZW50aWZpZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlcml2ZUtleVVzYWdlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBERVJJVkVfS0VZX1VTQUdFID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpEZXJpdmVLZXlVc2FnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0RHVrcHRJbml0aWFsS2V5IChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRVhQT1JUX0RVS1BUX0lOSVRJQUxfS0VZID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkV4cG9ydER1a3B0SW5pdGlhbEtleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0S2V5TWF0ZXJpYWwgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVYUE9SVF9LRVlfTUFURVJJQUwgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0S2V5TWF0ZXJpYWxcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OkltcG9ydEtleU1hdGVyaWFsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTVBPUlRfS0VZX01BVEVSSUFMID1cblx0XHRcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkltcG9ydEtleU1hdGVyaWFsXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlBbGdvcml0aG0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtFWV9BTEdPUklUSE0gPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUFsZ29yaXRobVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5Q2xhc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtFWV9DTEFTUyA9IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5Q2xhc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OktleVVzYWdlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBLRVlfVVNBR0UgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OktleVVzYWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBwYXltZW50LWNyeXB0b2dyYXBoeTpQcml2YXRlS2V5SWRlbnRpZmllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJJVkFURV9LRVlfSURFTlRJRklFUiA9XG5cdFx0XCJwYXltZW50LWNyeXB0b2dyYXBoeTpQcml2YXRlS2V5SWRlbnRpZmllclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6UmVxdWVzdEFsaWFzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVFVRVNUX0FMSUFTID0gXCJwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlc291cmNlQWxpYXNlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX0FMSUFTRVMgPSBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlc291cmNlQWxpYXNlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogcGF5bWVudC1jcnlwdG9ncmFwaHk6U2lnbmluZ0tleUlkZW50aWZpZXIgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNJR05JTkdfS0VZX0lERU5USUZJRVIgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6U2lnbmluZ0tleUlkZW50aWZpZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHBheW1lbnQtY3J5cHRvZ3JhcGh5OldyYXBwaW5nS2V5SWRlbnRpZmllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgV1JBUFBJTkdfS0VZX0lERU5USUZJRVIgPVxuXHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6V3JhcHBpbmdLZXlJZGVudGlmaWVyXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBheW1lbnQtY3J5cHRvZ3JhcGh5OkNlcnRpZmljYXRlQXV0aG9yaXR5UHVibGljS2V5SWRlbnRpZmllcmAuXG5cdCAqL1xuXHRzdGF0aWMgY2VydGlmaWNhdGVBdXRob3JpdHlQdWJsaWNLZXlJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6Q2VydGlmaWNhdGVBdXRob3JpdHlQdWJsaWNLZXlJZGVudGlmaWVyXCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlcml2ZUtleVVzYWdlYC5cblx0ICovXG5cdHN0YXRpYyBkZXJpdmVLZXlVc2FnZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OkRlcml2ZUtleVVzYWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpFeHBvcnREdWtwdEluaXRpYWxLZXlgLlxuXHQgKi9cblx0c3RhdGljIGV4cG9ydER1a3B0SW5pdGlhbEtleShcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6RXhwb3J0RHVrcHRJbml0aWFsS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpFeHBvcnRLZXlNYXRlcmlhbGAuXG5cdCAqL1xuXHRzdGF0aWMgZXhwb3J0S2V5TWF0ZXJpYWwoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpFeHBvcnRLZXlNYXRlcmlhbFwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6SW1wb3J0S2V5TWF0ZXJpYWxgLlxuXHQgKi9cblx0c3RhdGljIGltcG9ydEtleU1hdGVyaWFsKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6SW1wb3J0S2V5TWF0ZXJpYWxcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBheW1lbnQtY3J5cHRvZ3JhcGh5OktleUFsZ29yaXRobWAuXG5cdCAqL1xuXHRzdGF0aWMga2V5QWxnb3JpdGhtKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5QWxnb3JpdGhtXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlDbGFzc2AuXG5cdCAqL1xuXHRzdGF0aWMga2V5Q2xhc3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpLZXlDbGFzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5VXNhZ2VgLlxuXHQgKi9cblx0c3RhdGljIGtleVVzYWdlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwicGF5bWVudC1jcnlwdG9ncmFwaHk6S2V5VXNhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHBheW1lbnQtY3J5cHRvZ3JhcGh5OlByaXZhdGVLZXlJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBwcml2YXRlS2V5SWRlbnRpZmllcihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlByaXZhdGVLZXlJZGVudGlmaWVyXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpSZXF1ZXN0QWxpYXNgLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RBbGlhcyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInBheW1lbnQtY3J5cHRvZ3JhcGh5OlJlcXVlc3RBbGlhc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6UmVzb3VyY2VBbGlhc2VzYC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZUFsaWFzZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwicGF5bWVudC1jcnlwdG9ncmFwaHk6UmVzb3VyY2VBbGlhc2VzXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBwYXltZW50LWNyeXB0b2dyYXBoeTpTaWduaW5nS2V5SWRlbnRpZmllcmAuXG5cdCAqL1xuXHRzdGF0aWMgc2lnbmluZ0tleUlkZW50aWZpZXIoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpTaWduaW5nS2V5SWRlbnRpZmllclwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgcGF5bWVudC1jcnlwdG9ncmFwaHk6V3JhcHBpbmdLZXlJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyB3cmFwcGluZ0tleUlkZW50aWZpZXIoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJwYXltZW50LWNyeXB0b2dyYXBoeTpXcmFwcGluZ0tleUlkZW50aWZpZXJcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG59XG4iXX0=
@@ -16,7 +16,7 @@ class PaymentsActions {
16
16
  }
17
17
  exports.PaymentsActions = PaymentsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PaymentsActions[_a] = { fqn: "@cdk_utils/iam.payments.PaymentsActions", version: "1.18.0" };
19
+ PaymentsActions[_a] = { fqn: "@cdk_utils/iam.payments.PaymentsActions", version: "1.20.0" };
20
20
  /** The IAM service prefix. */
21
21
  PaymentsActions.SERVICE_PREFIX = "payments";
22
22
  /** [Write] payments:AcceptFinancingApplicationTerms */
@@ -140,7 +140,7 @@ class PaymentsResources {
140
140
  }
141
141
  exports.PaymentsResources = PaymentsResources;
142
142
  _b = JSII_RTTI_SYMBOL_1;
143
- PaymentsResources[_b] = { fqn: "@cdk_utils/iam.payments.PaymentsResources", version: "1.18.0" };
143
+ PaymentsResources[_b] = { fqn: "@cdk_utils/iam.payments.PaymentsResources", version: "1.20.0" };
144
144
  /**
145
145
  * Condition key constants and builders for payments.
146
146
  */
@@ -166,7 +166,7 @@ class PaymentsConditions {
166
166
  }
167
167
  exports.PaymentsConditions = PaymentsConditions;
168
168
  _c = JSII_RTTI_SYMBOL_1;
169
- PaymentsConditions[_c] = { fqn: "@cdk_utils/iam.payments.PaymentsConditions", version: "1.18.0" };
169
+ PaymentsConditions[_c] = { fqn: "@cdk_utils/iam.payments.PaymentsConditions", version: "1.20.0" };
170
170
  /** Condition keys applicable to the CreatePaymentInstrument action. */
171
171
  PaymentsConditions.CreatePaymentInstrumentConditionKeys = [
172
172
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class PcaConnectorAdActions {
16
16
  }
17
17
  exports.PcaConnectorAdActions = PcaConnectorAdActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PcaConnectorAdActions[_a] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdActions", version: "1.18.0" };
19
+ PcaConnectorAdActions[_a] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdActions", version: "1.20.0" };
20
20
  /** The IAM service prefix. */
21
21
  PcaConnectorAdActions.SERVICE_PREFIX = "pca-connector-ad";
22
22
  /** [Write] pca-connector-ad:CreateConnector */
@@ -203,7 +203,7 @@ class PcaConnectorAdResources {
203
203
  }
204
204
  exports.PcaConnectorAdResources = PcaConnectorAdResources;
205
205
  _b = JSII_RTTI_SYMBOL_1;
206
- PcaConnectorAdResources[_b] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdResources", version: "1.18.0" };
206
+ PcaConnectorAdResources[_b] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdResources", version: "1.20.0" };
207
207
  /**
208
208
  * API operation to required IAM actions mapping for pca-connector-ad.
209
209
  */
@@ -211,7 +211,7 @@ class PcaConnectorAdOperations {
211
211
  }
212
212
  exports.PcaConnectorAdOperations = PcaConnectorAdOperations;
213
213
  _c = JSII_RTTI_SYMBOL_1;
214
- PcaConnectorAdOperations[_c] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdOperations", version: "1.18.0" };
214
+ PcaConnectorAdOperations[_c] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdOperations", version: "1.20.0" };
215
215
  /** IAM actions required for the CreateConnector API call. */
216
216
  PcaConnectorAdOperations.CreateConnector = [
217
217
  "pca-connector-ad:CreateConnector",
@@ -330,7 +330,7 @@ class PcaConnectorAdConditions {
330
330
  }
331
331
  exports.PcaConnectorAdConditions = PcaConnectorAdConditions;
332
332
  _d = JSII_RTTI_SYMBOL_1;
333
- PcaConnectorAdConditions[_d] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdConditions", version: "1.18.0" };
333
+ PcaConnectorAdConditions[_d] = { fqn: "@cdk_utils/iam.pca_connector_ad.PcaConnectorAdConditions", version: "1.20.0" };
334
334
  /** Condition keys applicable to the CreateConnector action. */
335
335
  PcaConnectorAdConditions.CreateConnectorConditionKeys = [
336
336
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class PcaConnectorScepActions {
16
16
  }
17
17
  exports.PcaConnectorScepActions = PcaConnectorScepActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PcaConnectorScepActions[_a] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepActions", version: "1.18.0" };
19
+ PcaConnectorScepActions[_a] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepActions", version: "1.20.0" };
20
20
  /** The IAM service prefix. */
21
21
  PcaConnectorScepActions.SERVICE_PREFIX = "pca-connector-scep";
22
22
  /** [Write] pca-connector-scep:CreateChallenge */
@@ -135,7 +135,7 @@ class PcaConnectorScepResources {
135
135
  }
136
136
  exports.PcaConnectorScepResources = PcaConnectorScepResources;
137
137
  _b = JSII_RTTI_SYMBOL_1;
138
- PcaConnectorScepResources[_b] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepResources", version: "1.18.0" };
138
+ PcaConnectorScepResources[_b] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepResources", version: "1.20.0" };
139
139
  /**
140
140
  * API operation to required IAM actions mapping for pca-connector-scep.
141
141
  */
@@ -143,7 +143,7 @@ class PcaConnectorScepOperations {
143
143
  }
144
144
  exports.PcaConnectorScepOperations = PcaConnectorScepOperations;
145
145
  _c = JSII_RTTI_SYMBOL_1;
146
- PcaConnectorScepOperations[_c] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepOperations", version: "1.18.0" };
146
+ PcaConnectorScepOperations[_c] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepOperations", version: "1.20.0" };
147
147
  /** IAM actions required for the CreateChallenge API call. */
148
148
  PcaConnectorScepOperations.CreateChallenge = [
149
149
  "pca-connector-scep:CreateChallenge",
@@ -217,7 +217,7 @@ class PcaConnectorScepConditions {
217
217
  }
218
218
  exports.PcaConnectorScepConditions = PcaConnectorScepConditions;
219
219
  _d = JSII_RTTI_SYMBOL_1;
220
- PcaConnectorScepConditions[_d] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepConditions", version: "1.18.0" };
220
+ PcaConnectorScepConditions[_d] = { fqn: "@cdk_utils/iam.pca_connector_scep.PcaConnectorScepConditions", version: "1.20.0" };
221
221
  /** Condition keys applicable to the CreateChallenge action. */
222
222
  PcaConnectorScepConditions.CreateChallengeConditionKeys = [
223
223
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class PcsActions {
16
16
  }
17
17
  exports.PcsActions = PcsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- PcsActions[_a] = { fqn: "@cdk_utils/iam.pcs.PcsActions", version: "1.18.0" };
19
+ PcsActions[_a] = { fqn: "@cdk_utils/iam.pcs.PcsActions", version: "1.20.0" };
20
20
  /** The IAM service prefix. */
21
21
  PcsActions.SERVICE_PREFIX = "pcs";
22
22
  /** [Write] pcs:AllowVendedLogDeliveryForResource */
@@ -189,7 +189,7 @@ class PcsResources {
189
189
  }
190
190
  exports.PcsResources = PcsResources;
191
191
  _b = JSII_RTTI_SYMBOL_1;
192
- PcsResources[_b] = { fqn: "@cdk_utils/iam.pcs.PcsResources", version: "1.18.0" };
192
+ PcsResources[_b] = { fqn: "@cdk_utils/iam.pcs.PcsResources", version: "1.20.0" };
193
193
  /**
194
194
  * API operation to required IAM actions mapping for pcs.
195
195
  */
@@ -197,7 +197,7 @@ class PcsOperations {
197
197
  }
198
198
  exports.PcsOperations = PcsOperations;
199
199
  _c = JSII_RTTI_SYMBOL_1;
200
- PcsOperations[_c] = { fqn: "@cdk_utils/iam.pcs.PcsOperations", version: "1.18.0" };
200
+ PcsOperations[_c] = { fqn: "@cdk_utils/iam.pcs.PcsOperations", version: "1.20.0" };
201
201
  /** IAM actions required for the CreateCluster API call. */
202
202
  PcsOperations.CreateCluster = [
203
203
  "pcs:CreateCluster",
@@ -280,7 +280,7 @@ class PcsConditions {
280
280
  }
281
281
  exports.PcsConditions = PcsConditions;
282
282
  _d = JSII_RTTI_SYMBOL_1;
283
- PcsConditions[_d] = { fqn: "@cdk_utils/iam.pcs.PcsConditions", version: "1.18.0" };
283
+ PcsConditions[_d] = { fqn: "@cdk_utils/iam.pcs.PcsConditions", version: "1.20.0" };
284
284
  /** Condition keys applicable to the CreateCluster action. */
285
285
  PcsConditions.CreateClusterConditionKeys = [
286
286
  "aws:RequestTag/${TagKey}",