cdktn 0.23.1 → 0.23.3

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 (432) hide show
  1. package/.jsii +1592 -1591
  2. package/.spec.swcrc +22 -0
  3. package/README.md +1 -1
  4. package/jest.config.js +18 -15
  5. package/lib/_tokens.js +1 -1
  6. package/lib/annotations.js +2 -2
  7. package/lib/app.js +2 -2
  8. package/lib/aspect.js +2 -2
  9. package/lib/backends/azurerm-backend.js +3 -3
  10. package/lib/backends/cloud-backend.js +5 -5
  11. package/lib/backends/consul-backend.js +3 -3
  12. package/lib/backends/cos-backend.js +3 -3
  13. package/lib/backends/gcs-backend.js +3 -3
  14. package/lib/backends/http-backend.js +3 -3
  15. package/lib/backends/index.js +1 -1
  16. package/lib/backends/local-backend.js +3 -3
  17. package/lib/backends/oss-backend.js +3 -3
  18. package/lib/backends/pg-backend.js +3 -3
  19. package/lib/backends/remote-backend.js +5 -5
  20. package/lib/backends/s3-backend.js +3 -3
  21. package/lib/backends/swift-backend.js +3 -3
  22. package/lib/complex-computed-list.js +25 -25
  23. package/lib/errors.d.ts +1 -2
  24. package/lib/errors.js +11 -8
  25. package/lib/features.js +1 -1
  26. package/lib/functions/helpers.js +1 -1
  27. package/lib/functions/terraform-functions.generated.js +2 -2
  28. package/lib/hcl/render.js +1 -1
  29. package/lib/importable-resource.js +2 -2
  30. package/lib/index.js +1 -1
  31. package/lib/manifest.js +4 -5
  32. package/lib/private/fs.d.ts +20 -5
  33. package/lib/private/fs.js +43 -69
  34. package/lib/private/unique.js +1 -1
  35. package/lib/resource.js +2 -2
  36. package/lib/runtime.js +1 -1
  37. package/lib/synthesize/index.js +1 -1
  38. package/lib/synthesize/synthesizer.js +4 -5
  39. package/lib/synthesize/types.js +1 -1
  40. package/lib/terraform-addressable.js +1 -1
  41. package/lib/terraform-asset.js +2 -2
  42. package/lib/terraform-backend.js +2 -2
  43. package/lib/terraform-conditions.js +1 -1
  44. package/lib/terraform-count.js +2 -2
  45. package/lib/terraform-data-resource.js +2 -2
  46. package/lib/terraform-data-source.js +2 -2
  47. package/lib/terraform-dependable.js +1 -1
  48. package/lib/terraform-dynamic-block.js +2 -2
  49. package/lib/terraform-dynamic-expression.js +2 -2
  50. package/lib/terraform-element.js +2 -2
  51. package/lib/terraform-functions.js +2 -2
  52. package/lib/terraform-hcl-module.js +2 -2
  53. package/lib/terraform-iterator.js +6 -6
  54. package/lib/terraform-local.js +2 -2
  55. package/lib/terraform-module-asset.js +1 -1
  56. package/lib/terraform-module.js +2 -2
  57. package/lib/terraform-operators.js +2 -2
  58. package/lib/terraform-output.js +2 -2
  59. package/lib/terraform-provider.js +2 -2
  60. package/lib/terraform-provisioner.js +2 -2
  61. package/lib/terraform-remote-state.js +2 -2
  62. package/lib/terraform-resource-targets.js +2 -2
  63. package/lib/terraform-resource.js +2 -2
  64. package/lib/terraform-stack.js +2 -2
  65. package/lib/terraform-variable.js +3 -3
  66. package/lib/testing/adapters/jest.js +1 -1
  67. package/lib/testing/index.js +7 -8
  68. package/lib/testing/matchers.js +2 -2
  69. package/lib/tfExpression.js +1 -1
  70. package/lib/tokens/index.js +1 -1
  71. package/lib/tokens/lazy.js +4 -4
  72. package/lib/tokens/private/dependency.js +1 -1
  73. package/lib/tokens/private/encoding.js +1 -1
  74. package/lib/tokens/private/intrinsic.d.ts +0 -5
  75. package/lib/tokens/private/intrinsic.js +2 -9
  76. package/lib/tokens/private/resolve.js +1 -1
  77. package/lib/tokens/private/stack-trace.d.ts +6 -0
  78. package/lib/tokens/private/stack-trace.js +14 -1
  79. package/lib/tokens/private/token-map.js +1 -1
  80. package/lib/tokens/private/uniqueid.js +1 -1
  81. package/lib/tokens/resolvable.js +4 -4
  82. package/lib/tokens/string-fragments.js +2 -2
  83. package/lib/tokens/token.js +3 -3
  84. package/lib/tsconfig.tsbuildinfo +1 -0
  85. package/lib/upgrade-id-aspect.js +2 -2
  86. package/lib/util.js +1 -1
  87. package/lib/validateEnvironment.js +1 -1
  88. package/lib/validations/index.js +1 -1
  89. package/lib/validations/validate-binary-version.js +1 -1
  90. package/lib/validations/validate-provider-presence.js +1 -1
  91. package/lib/validations/validate-terraform-version.js +1 -1
  92. package/node_modules/fflate/CHANGELOG.md +115 -0
  93. package/node_modules/{has-property-descriptors → fflate}/LICENSE +2 -2
  94. package/node_modules/fflate/README.md +558 -0
  95. package/node_modules/fflate/esm/browser.d.ts +1501 -0
  96. package/node_modules/fflate/esm/browser.js +2665 -0
  97. package/node_modules/fflate/esm/index.d.mts +1501 -0
  98. package/node_modules/fflate/esm/index.mjs +2679 -0
  99. package/node_modules/fflate/lib/browser.cjs +2688 -0
  100. package/node_modules/fflate/lib/browser.d.cts +1501 -0
  101. package/node_modules/fflate/lib/index.cjs +2668 -0
  102. package/node_modules/fflate/lib/index.d.ts +1501 -0
  103. package/node_modules/fflate/lib/node-worker.cjs +32 -0
  104. package/node_modules/fflate/lib/node.cjs +2700 -0
  105. package/node_modules/fflate/lib/node.d.cts +1501 -0
  106. package/node_modules/fflate/lib/worker.cjs +20 -0
  107. package/node_modules/fflate/package.json +127 -0
  108. package/node_modules/fflate/umd/index.js +1 -0
  109. package/node_modules/{yazl → safe-stable-stringify}/LICENSE +1 -1
  110. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  111. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  112. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  113. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  114. package/node_modules/safe-stable-stringify/index.js +625 -0
  115. package/node_modules/safe-stable-stringify/package.json +65 -0
  116. package/node_modules/safe-stable-stringify/readme.md +179 -0
  117. package/package.json +21 -15
  118. package/tsconfig.json +6 -3
  119. package/tsconfig.test.json +12 -0
  120. package/lib/testing/__tests__/matchers.test.d.ts +0 -1
  121. package/lib/testing/__tests__/matchers.test.js +0 -205
  122. package/lib/testing/adapters/__tests__/index.test.d.ts +0 -1
  123. package/lib/testing/adapters/__tests__/index.test.js +0 -67
  124. package/lib/testing/adapters/__tests__/jest.test.d.ts +0 -1
  125. package/lib/testing/adapters/__tests__/jest.test.js +0 -41
  126. package/node_modules/buffer-crc32/LICENSE +0 -19
  127. package/node_modules/buffer-crc32/README.md +0 -55
  128. package/node_modules/buffer-crc32/dist/index.cjs +0 -306
  129. package/node_modules/buffer-crc32/dist/index.d.cts +0 -35
  130. package/node_modules/buffer-crc32/dist/index.d.mts +0 -35
  131. package/node_modules/buffer-crc32/dist/index.mjs +0 -304
  132. package/node_modules/buffer-crc32/index.d.ts +0 -35
  133. package/node_modules/buffer-crc32/package.json +0 -54
  134. package/node_modules/call-bind/.eslintignore +0 -1
  135. package/node_modules/call-bind/.eslintrc +0 -16
  136. package/node_modules/call-bind/.github/FUNDING.yml +0 -12
  137. package/node_modules/call-bind/.nycrc +0 -9
  138. package/node_modules/call-bind/CHANGELOG.md +0 -106
  139. package/node_modules/call-bind/LICENSE +0 -21
  140. package/node_modules/call-bind/README.md +0 -64
  141. package/node_modules/call-bind/callBound.js +0 -15
  142. package/node_modules/call-bind/index.js +0 -24
  143. package/node_modules/call-bind/package.json +0 -93
  144. package/node_modules/call-bind/test/callBound.js +0 -54
  145. package/node_modules/call-bind/test/index.js +0 -74
  146. package/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  147. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  148. package/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  149. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  150. package/node_modules/call-bind-apply-helpers/LICENSE +0 -21
  151. package/node_modules/call-bind-apply-helpers/README.md +0 -62
  152. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  153. package/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  154. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  155. package/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  156. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  157. package/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  158. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  159. package/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  160. package/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  161. package/node_modules/call-bind-apply-helpers/index.js +0 -15
  162. package/node_modules/call-bind-apply-helpers/package.json +0 -85
  163. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  164. package/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  165. package/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  166. package/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  167. package/node_modules/call-bound/.eslintrc +0 -13
  168. package/node_modules/call-bound/.github/FUNDING.yml +0 -12
  169. package/node_modules/call-bound/.nycrc +0 -9
  170. package/node_modules/call-bound/CHANGELOG.md +0 -42
  171. package/node_modules/call-bound/LICENSE +0 -21
  172. package/node_modules/call-bound/README.md +0 -53
  173. package/node_modules/call-bound/index.d.ts +0 -94
  174. package/node_modules/call-bound/index.js +0 -19
  175. package/node_modules/call-bound/package.json +0 -99
  176. package/node_modules/call-bound/test/index.js +0 -61
  177. package/node_modules/call-bound/tsconfig.json +0 -10
  178. package/node_modules/define-data-property/.eslintrc +0 -24
  179. package/node_modules/define-data-property/.github/FUNDING.yml +0 -12
  180. package/node_modules/define-data-property/.nycrc +0 -13
  181. package/node_modules/define-data-property/CHANGELOG.md +0 -70
  182. package/node_modules/define-data-property/LICENSE +0 -21
  183. package/node_modules/define-data-property/README.md +0 -67
  184. package/node_modules/define-data-property/index.d.ts +0 -12
  185. package/node_modules/define-data-property/index.js +0 -56
  186. package/node_modules/define-data-property/package.json +0 -106
  187. package/node_modules/define-data-property/test/index.js +0 -392
  188. package/node_modules/define-data-property/tsconfig.json +0 -59
  189. package/node_modules/dunder-proto/.eslintrc +0 -5
  190. package/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  191. package/node_modules/dunder-proto/.nycrc +0 -13
  192. package/node_modules/dunder-proto/CHANGELOG.md +0 -24
  193. package/node_modules/dunder-proto/LICENSE +0 -21
  194. package/node_modules/dunder-proto/README.md +0 -54
  195. package/node_modules/dunder-proto/get.d.ts +0 -5
  196. package/node_modules/dunder-proto/get.js +0 -30
  197. package/node_modules/dunder-proto/package.json +0 -76
  198. package/node_modules/dunder-proto/set.d.ts +0 -5
  199. package/node_modules/dunder-proto/set.js +0 -35
  200. package/node_modules/dunder-proto/test/get.js +0 -34
  201. package/node_modules/dunder-proto/test/index.js +0 -4
  202. package/node_modules/dunder-proto/test/set.js +0 -50
  203. package/node_modules/dunder-proto/tsconfig.json +0 -9
  204. package/node_modules/es-define-property/.eslintrc +0 -13
  205. package/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  206. package/node_modules/es-define-property/.nycrc +0 -9
  207. package/node_modules/es-define-property/CHANGELOG.md +0 -29
  208. package/node_modules/es-define-property/LICENSE +0 -21
  209. package/node_modules/es-define-property/README.md +0 -49
  210. package/node_modules/es-define-property/index.d.ts +0 -3
  211. package/node_modules/es-define-property/index.js +0 -14
  212. package/node_modules/es-define-property/package.json +0 -81
  213. package/node_modules/es-define-property/test/index.js +0 -56
  214. package/node_modules/es-define-property/tsconfig.json +0 -10
  215. package/node_modules/es-errors/.eslintrc +0 -5
  216. package/node_modules/es-errors/.github/FUNDING.yml +0 -12
  217. package/node_modules/es-errors/CHANGELOG.md +0 -40
  218. package/node_modules/es-errors/LICENSE +0 -21
  219. package/node_modules/es-errors/README.md +0 -55
  220. package/node_modules/es-errors/eval.d.ts +0 -3
  221. package/node_modules/es-errors/eval.js +0 -4
  222. package/node_modules/es-errors/index.d.ts +0 -3
  223. package/node_modules/es-errors/index.js +0 -4
  224. package/node_modules/es-errors/package.json +0 -80
  225. package/node_modules/es-errors/range.d.ts +0 -3
  226. package/node_modules/es-errors/range.js +0 -4
  227. package/node_modules/es-errors/ref.d.ts +0 -3
  228. package/node_modules/es-errors/ref.js +0 -4
  229. package/node_modules/es-errors/syntax.d.ts +0 -3
  230. package/node_modules/es-errors/syntax.js +0 -4
  231. package/node_modules/es-errors/test/index.js +0 -19
  232. package/node_modules/es-errors/tsconfig.json +0 -49
  233. package/node_modules/es-errors/type.d.ts +0 -3
  234. package/node_modules/es-errors/type.js +0 -4
  235. package/node_modules/es-errors/uri.d.ts +0 -3
  236. package/node_modules/es-errors/uri.js +0 -4
  237. package/node_modules/es-object-atoms/.eslintrc +0 -16
  238. package/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  239. package/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  240. package/node_modules/es-object-atoms/LICENSE +0 -21
  241. package/node_modules/es-object-atoms/README.md +0 -63
  242. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  243. package/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  244. package/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  245. package/node_modules/es-object-atoms/ToObject.js +0 -10
  246. package/node_modules/es-object-atoms/index.d.ts +0 -3
  247. package/node_modules/es-object-atoms/index.js +0 -4
  248. package/node_modules/es-object-atoms/isObject.d.ts +0 -3
  249. package/node_modules/es-object-atoms/isObject.js +0 -6
  250. package/node_modules/es-object-atoms/package.json +0 -80
  251. package/node_modules/es-object-atoms/test/index.js +0 -38
  252. package/node_modules/es-object-atoms/tsconfig.json +0 -6
  253. package/node_modules/function-bind/.eslintrc +0 -21
  254. package/node_modules/function-bind/.github/FUNDING.yml +0 -12
  255. package/node_modules/function-bind/.github/SECURITY.md +0 -3
  256. package/node_modules/function-bind/.nycrc +0 -13
  257. package/node_modules/function-bind/CHANGELOG.md +0 -136
  258. package/node_modules/function-bind/LICENSE +0 -20
  259. package/node_modules/function-bind/README.md +0 -46
  260. package/node_modules/function-bind/implementation.js +0 -84
  261. package/node_modules/function-bind/index.js +0 -5
  262. package/node_modules/function-bind/package.json +0 -87
  263. package/node_modules/function-bind/test/.eslintrc +0 -9
  264. package/node_modules/function-bind/test/index.js +0 -252
  265. package/node_modules/get-intrinsic/.eslintrc +0 -42
  266. package/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  267. package/node_modules/get-intrinsic/.nycrc +0 -9
  268. package/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  269. package/node_modules/get-intrinsic/LICENSE +0 -21
  270. package/node_modules/get-intrinsic/README.md +0 -71
  271. package/node_modules/get-intrinsic/index.js +0 -378
  272. package/node_modules/get-intrinsic/package.json +0 -97
  273. package/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  274. package/node_modules/get-proto/.eslintrc +0 -10
  275. package/node_modules/get-proto/.github/FUNDING.yml +0 -12
  276. package/node_modules/get-proto/.nycrc +0 -9
  277. package/node_modules/get-proto/CHANGELOG.md +0 -21
  278. package/node_modules/get-proto/LICENSE +0 -21
  279. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  280. package/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  281. package/node_modules/get-proto/README.md +0 -50
  282. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  283. package/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  284. package/node_modules/get-proto/index.d.ts +0 -5
  285. package/node_modules/get-proto/index.js +0 -27
  286. package/node_modules/get-proto/package.json +0 -81
  287. package/node_modules/get-proto/test/index.js +0 -68
  288. package/node_modules/get-proto/tsconfig.json +0 -9
  289. package/node_modules/gopd/.eslintrc +0 -16
  290. package/node_modules/gopd/.github/FUNDING.yml +0 -12
  291. package/node_modules/gopd/CHANGELOG.md +0 -45
  292. package/node_modules/gopd/LICENSE +0 -21
  293. package/node_modules/gopd/README.md +0 -40
  294. package/node_modules/gopd/gOPD.d.ts +0 -1
  295. package/node_modules/gopd/gOPD.js +0 -4
  296. package/node_modules/gopd/index.d.ts +0 -5
  297. package/node_modules/gopd/index.js +0 -15
  298. package/node_modules/gopd/package.json +0 -77
  299. package/node_modules/gopd/test/index.js +0 -36
  300. package/node_modules/gopd/tsconfig.json +0 -9
  301. package/node_modules/has-property-descriptors/.eslintrc +0 -13
  302. package/node_modules/has-property-descriptors/.github/FUNDING.yml +0 -12
  303. package/node_modules/has-property-descriptors/.nycrc +0 -9
  304. package/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
  305. package/node_modules/has-property-descriptors/README.md +0 -43
  306. package/node_modules/has-property-descriptors/index.js +0 -22
  307. package/node_modules/has-property-descriptors/package.json +0 -77
  308. package/node_modules/has-property-descriptors/test/index.js +0 -57
  309. package/node_modules/has-symbols/.eslintrc +0 -11
  310. package/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  311. package/node_modules/has-symbols/.nycrc +0 -9
  312. package/node_modules/has-symbols/CHANGELOG.md +0 -91
  313. package/node_modules/has-symbols/LICENSE +0 -21
  314. package/node_modules/has-symbols/README.md +0 -46
  315. package/node_modules/has-symbols/index.d.ts +0 -3
  316. package/node_modules/has-symbols/index.js +0 -14
  317. package/node_modules/has-symbols/package.json +0 -111
  318. package/node_modules/has-symbols/shams.d.ts +0 -3
  319. package/node_modules/has-symbols/shams.js +0 -45
  320. package/node_modules/has-symbols/test/index.js +0 -22
  321. package/node_modules/has-symbols/test/shams/core-js.js +0 -29
  322. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  323. package/node_modules/has-symbols/test/tests.js +0 -58
  324. package/node_modules/has-symbols/tsconfig.json +0 -10
  325. package/node_modules/hasown/.eslintrc +0 -5
  326. package/node_modules/hasown/.github/FUNDING.yml +0 -12
  327. package/node_modules/hasown/.nycrc +0 -13
  328. package/node_modules/hasown/CHANGELOG.md +0 -40
  329. package/node_modules/hasown/LICENSE +0 -21
  330. package/node_modules/hasown/README.md +0 -40
  331. package/node_modules/hasown/index.d.ts +0 -3
  332. package/node_modules/hasown/index.js +0 -8
  333. package/node_modules/hasown/package.json +0 -92
  334. package/node_modules/hasown/tsconfig.json +0 -6
  335. package/node_modules/isarray/LICENSE +0 -21
  336. package/node_modules/isarray/README.md +0 -38
  337. package/node_modules/isarray/index.js +0 -5
  338. package/node_modules/isarray/package.json +0 -48
  339. package/node_modules/json-stable-stringify/.eslintrc +0 -31
  340. package/node_modules/json-stable-stringify/.github/FUNDING.yml +0 -12
  341. package/node_modules/json-stable-stringify/CHANGELOG.md +0 -160
  342. package/node_modules/json-stable-stringify/LICENSE +0 -21
  343. package/node_modules/json-stable-stringify/README.md +0 -157
  344. package/node_modules/json-stable-stringify/example/key_cmp.js +0 -9
  345. package/node_modules/json-stable-stringify/example/nested.js +0 -7
  346. package/node_modules/json-stable-stringify/example/str.js +0 -7
  347. package/node_modules/json-stable-stringify/example/value_cmp.js +0 -12
  348. package/node_modules/json-stable-stringify/index.d.ts +0 -25
  349. package/node_modules/json-stable-stringify/index.js +0 -124
  350. package/node_modules/json-stable-stringify/package.json +0 -88
  351. package/node_modules/json-stable-stringify/test/cmp.js +0 -33
  352. package/node_modules/json-stable-stringify/test/nested.js +0 -48
  353. package/node_modules/json-stable-stringify/test/replacer.js +0 -81
  354. package/node_modules/json-stable-stringify/test/space.js +0 -127
  355. package/node_modules/json-stable-stringify/test/str.js +0 -46
  356. package/node_modules/json-stable-stringify/test/to-json.js +0 -22
  357. package/node_modules/json-stable-stringify/tsconfig.json +0 -10
  358. package/node_modules/jsonify/.eslintrc +0 -21
  359. package/node_modules/jsonify/.github/FUNDING.yml +0 -12
  360. package/node_modules/jsonify/CHANGELOG.md +0 -48
  361. package/node_modules/jsonify/README.md +0 -66
  362. package/node_modules/jsonify/index.js +0 -4
  363. package/node_modules/jsonify/lib/parse.js +0 -261
  364. package/node_modules/jsonify/lib/stringify.js +0 -151
  365. package/node_modules/jsonify/package.json +0 -62
  366. package/node_modules/jsonify/test/parse.js +0 -20
  367. package/node_modules/jsonify/test/stringify.js +0 -18
  368. package/node_modules/math-intrinsics/.eslintrc +0 -16
  369. package/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  370. package/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  371. package/node_modules/math-intrinsics/LICENSE +0 -21
  372. package/node_modules/math-intrinsics/README.md +0 -50
  373. package/node_modules/math-intrinsics/abs.d.ts +0 -1
  374. package/node_modules/math-intrinsics/abs.js +0 -4
  375. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  376. package/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  377. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  378. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  379. package/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  380. package/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  381. package/node_modules/math-intrinsics/floor.d.ts +0 -1
  382. package/node_modules/math-intrinsics/floor.js +0 -4
  383. package/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  384. package/node_modules/math-intrinsics/isFinite.js +0 -12
  385. package/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  386. package/node_modules/math-intrinsics/isInteger.js +0 -16
  387. package/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  388. package/node_modules/math-intrinsics/isNaN.js +0 -6
  389. package/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  390. package/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  391. package/node_modules/math-intrinsics/max.d.ts +0 -1
  392. package/node_modules/math-intrinsics/max.js +0 -4
  393. package/node_modules/math-intrinsics/min.d.ts +0 -1
  394. package/node_modules/math-intrinsics/min.js +0 -4
  395. package/node_modules/math-intrinsics/mod.d.ts +0 -3
  396. package/node_modules/math-intrinsics/mod.js +0 -9
  397. package/node_modules/math-intrinsics/package.json +0 -86
  398. package/node_modules/math-intrinsics/pow.d.ts +0 -1
  399. package/node_modules/math-intrinsics/pow.js +0 -4
  400. package/node_modules/math-intrinsics/round.d.ts +0 -1
  401. package/node_modules/math-intrinsics/round.js +0 -4
  402. package/node_modules/math-intrinsics/sign.d.ts +0 -3
  403. package/node_modules/math-intrinsics/sign.js +0 -11
  404. package/node_modules/math-intrinsics/test/index.js +0 -192
  405. package/node_modules/math-intrinsics/tsconfig.json +0 -3
  406. package/node_modules/object-keys/.editorconfig +0 -13
  407. package/node_modules/object-keys/.eslintrc +0 -17
  408. package/node_modules/object-keys/.travis.yml +0 -277
  409. package/node_modules/object-keys/CHANGELOG.md +0 -232
  410. package/node_modules/object-keys/LICENSE +0 -21
  411. package/node_modules/object-keys/README.md +0 -76
  412. package/node_modules/object-keys/implementation.js +0 -122
  413. package/node_modules/object-keys/index.js +0 -32
  414. package/node_modules/object-keys/isArguments.js +0 -17
  415. package/node_modules/object-keys/package.json +0 -88
  416. package/node_modules/object-keys/test/index.js +0 -5
  417. package/node_modules/set-function-length/.eslintrc +0 -27
  418. package/node_modules/set-function-length/.github/FUNDING.yml +0 -12
  419. package/node_modules/set-function-length/.nycrc +0 -13
  420. package/node_modules/set-function-length/CHANGELOG.md +0 -70
  421. package/node_modules/set-function-length/LICENSE +0 -21
  422. package/node_modules/set-function-length/README.md +0 -56
  423. package/node_modules/set-function-length/env.d.ts +0 -9
  424. package/node_modules/set-function-length/env.js +0 -25
  425. package/node_modules/set-function-length/index.d.ts +0 -7
  426. package/node_modules/set-function-length/index.js +0 -42
  427. package/node_modules/set-function-length/package.json +0 -102
  428. package/node_modules/set-function-length/tsconfig.json +0 -9
  429. package/node_modules/yazl/README.md +0 -457
  430. package/node_modules/yazl/index.js +0 -826
  431. package/node_modules/yazl/package.json +0 -34
  432. package/tsconfig.tsbuildinfo +0 -1
@@ -103,5 +103,5 @@ class TerraformElement extends constructs_1.Construct {
103
103
  }
104
104
  exports.TerraformElement = TerraformElement;
105
105
  _a = JSII_RTTI_SYMBOL_1;
106
- TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.1" };
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXJyYWZvcm0tZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsbUNBQTRCO0FBQzVCLDJDQUF1QztBQUN2QyxxQ0FBaUM7QUFDakMsdURBQW1EO0FBQ25ELGlEQUFxQztBQUNyQyxxQ0FBd0Q7QUFFeEQsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFRdEUsK0NBQStDO0FBQy9DLE1BQWEsZ0JBQWlCLFNBQVEsc0JBQVM7SUFnQjdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsV0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQWhCQSxpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQWlCeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUVoQyxJQUFJLGNBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUEscUNBQTRCLEVBQUMsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sZ0NBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFNO1FBQ3JDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksd0JBQXdCLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUlELElBQVcsR0FBRztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBQSxXQUFFLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQUssQ0FBQyxRQUFRLENBQzdCLElBQUEsa0JBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUN0RSxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBSUQsSUFBVyxnQkFBZ0I7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRDs7O09BR0c7SUFDSSxpQkFBaUIsQ0FBQyxZQUFvQjtRQUMzQyxJQUFBLFdBQUUsRUFDQSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQ2YsK0lBQStJLENBQ2hKLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLHNCQUFzQjtRQUMzQixJQUFBLFdBQUUsRUFDQSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQ2YsbUpBQW1KLENBQ3BKLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksR0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRWxDLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFHLENBQUM7WUFFM0IsOERBQThEO1lBQzlELHNDQUFzQztZQUN0QyxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSTtnQkFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUTtnQkFDN0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFFRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFHLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYyxxQkFBcUI7UUFDakMsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNwQixRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUM7b0JBQ2pFLEVBQUUsS0FBSzthQUNrQjtTQUM5QixDQUFDO0lBQ0osQ0FBQzs7QUFoSUgsNENBaUlDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IG9rIH0gZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbmNvbnN0IFRFUlJBRk9STV9FTEVNRU5UX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1FbGVtZW50XCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUVsZW1lbnRNZXRhZGF0YSB7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgdW5pcXVlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhY2tUcmFjZTogc3RyaW5nW107XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRWxlbWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByb3RlY3RlZCByZWFkb25seSByYXdPdmVycmlkZXM6IGFueSA9IHt9O1xuXG4gIC8qKlxuICAgKiBBbiBleHBsaWNpdCBsb2dpY2FsIElEIHByb3ZpZGVkIGJ5IGBvdmVycmlkZUxvZ2ljYWxJZGAuXG4gICAqL1xuICBwcml2YXRlIF9sb2dpY2FsSWRPdmVycmlkZT86IHN0cmluZztcblxuICAvKipcbiAgICogVHlwZSBvZiB0aGlzIGVsZW1lbnQsIHVzZWQgZm9yIGZxbi5cbiAgICogVGhpcyBpcyB1bmRlZmluZWQgZm9yXG4gICAqIC0gZWxlbWVudHMgbm90IHJlZmVyYWJsZSwgbGlrZSBUZXJyYWZvcm1PdXRwdXRcbiAgICogLSBlbGVtZW50cyB1c2luZyB0aGVpciBvd24gZnFuIGltcGxlbWVudGF0aW9uLCBsaWtlIFRlcnJhZm9ybVByb3ZpZGVyXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50VHlwZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBlbGVtZW50VHlwZT86IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9FTEVNRU5UX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLl9lbGVtZW50VHlwZSA9IGVsZW1lbnRUeXBlO1xuXG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChpZCkpIHtcbiAgICAgIHRocm93IHVucmVzb2x2ZWRUb2tlbkluQ29uc3RydWN0SWQoaWQpO1xuICAgIH1cblxuICAgIHRoaXMubm9kZS5hZGRNZXRhZGF0YShcInN0YWNrdHJhY2VcIiwgXCJ0cmFjZVwiKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2RrdGZTdGFjaygpOiBUZXJyYWZvcm1TdGFjayB7XG4gICAgcmV0dXJuIFRlcnJhZm9ybVN0YWNrLm9mKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybUVsZW1lbnQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgICByZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfZnFuVG9rZW4/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmcW4oKSB7XG4gICAgaWYgKCF0aGlzLl9mcW5Ub2tlbikge1xuICAgICAgb2soISF0aGlzLl9lbGVtZW50VHlwZSwgXCJFbGVtZW50IHR5cGUgbm90IHNldFwiKTtcbiAgICAgIHRoaXMuX2ZxblRva2VuID0gVG9rZW4uYXNTdHJpbmcoXG4gICAgICAgIHJlZihgJHt0aGlzLl9lbGVtZW50VHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YCwgdGhpcy5jZGt0ZlN0YWNrKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9mcW5Ub2tlbjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZyaWVuZGx5VW5pcXVlSWQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmcmllbmRseVVuaXF1ZUlkKCkge1xuICAgIGlmICghdGhpcy5fZnJpZW5kbHlVbmlxdWVJZCkge1xuICAgICAgaWYgKHRoaXMuX2xvZ2ljYWxJZE92ZXJyaWRlKSB7XG4gICAgICAgIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQgPSB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQgPSB0aGlzLmNka3RmU3RhY2suZ2V0TG9naWNhbElkKHRoaXMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnJpZW5kbHlVbmlxdWVJZDtcbiAgfVxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBhdXRvLWdlbmVyYXRlZCBsb2dpY2FsIElEIHdpdGggYSBzcGVjaWZpYyBJRC5cbiAgICogQHBhcmFtIG5ld0xvZ2ljYWxJZCBUaGUgbmV3IGxvZ2ljYWwgSUQgdG8gdXNlIGZvciB0aGlzIHN0YWNrIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGVMb2dpY2FsSWQobmV3TG9naWNhbElkOiBzdHJpbmcpIHtcbiAgICBvayhcbiAgICAgICF0aGlzLl9mcW5Ub2tlbixcbiAgICAgIFwiTG9naWNhbCBJRCBtYXkgbm90IGJlIG92ZXJyaWRkZW4gb25jZSAuZnFuIGhhcyBiZWVuIHJlcXVlc3RlZC4gTWFrZSBzdXJlIHRvIG92ZXJyaWRlIHRoZSBpZCBiZWZvcmUgcGFzc2luZyB0aGUgY29uc3RydWN0IHRvIG90aGVyIGNvbnN0cnVjdHMuXCIsXG4gICAgKTtcbiAgICB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSA9IG5ld0xvZ2ljYWxJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgYSBwcmV2aW91c2x5IHBhc3NlZCBsb2dpY2FsIElkIHRvIHVzZSB0aGUgYXV0by1nZW5lcmF0ZWQgbG9naWNhbCBpZCBhZ2FpblxuICAgKi9cbiAgcHVibGljIHJlc2V0T3ZlcnJpZGVMb2dpY2FsSWQoKSB7XG4gICAgb2soXG4gICAgICAhdGhpcy5fZnFuVG9rZW4sXG4gICAgICBcIkxvZ2ljYWwgSUQgbWF5IG5vdCBiZSBvdmVycmlkZGVuIG9uY2UgLmZxbiBoYXMgYmVlbiByZXF1ZXN0ZWQuIFlvdSBjYW4gb25seSByZXNldCB0aGUgb3ZlcnJpZGUgYmVmb3JlIHlvdSBwYXNzIHRoZSBjb25zdHJ1Y3QgdG8gb3RoZXIgY29uc3RydWN0cy5cIixcbiAgICApO1xuICAgIHRoaXMuX2xvZ2ljYWxJZE92ZXJyaWRlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFkZE92ZXJyaWRlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdChcIi5cIik7XG4gICAgbGV0IGN1cnI6IGFueSA9IHRoaXMucmF3T3ZlcnJpZGVzO1xuXG4gICAgd2hpbGUgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuXG4gICAgICAvLyBpZiB3ZSBjYW4ndCByZWN1cnNlIGZ1cnRoZXIgb3IgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5vdCBhblxuICAgICAgLy8gb2JqZWN0IG92ZXJ3cml0ZSBpdCB3aXRoIGFuIG9iamVjdC5cbiAgICAgIGNvbnN0IGlzT2JqZWN0ID1cbiAgICAgICAgY3VycltrZXldICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIGN1cnJba2V5XSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheShjdXJyW2tleV0pO1xuICAgICAgaWYgKCFpc09iamVjdCkge1xuICAgICAgICBjdXJyW2tleV0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgY3VyciA9IGN1cnJba2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0S2V5ID0gcGFydHMuc2hpZnQoKSE7XG4gICAgY3VycltsYXN0S2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBjb25zdHJ1Y3ROb2RlTWV0YWRhdGEoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHBhdGg6IHRoaXMubm9kZS5wYXRoLFxuICAgICAgICB1bmlxdWVJZDogdGhpcy5mcmllbmRseVVuaXF1ZUlkLFxuICAgICAgICBzdGFja1RyYWNlOiB0aGlzLm5vZGUubWV0YWRhdGEuZmluZCgoZSkgPT4gZS50eXBlID09PSBcInN0YWNrdHJhY2VcIilcbiAgICAgICAgICA/LnRyYWNlLFxuICAgICAgfSBhcyBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEsXG4gICAgfTtcbiAgfVxufVxuIl19
106
+ TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.3" };
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLG1DQUE0QjtBQUM1QiwyQ0FBdUM7QUFDdkMscUNBQWlDO0FBQ2pDLHVEQUFtRDtBQUNuRCxpREFBcUM7QUFDckMscUNBQXdEO0FBRXhELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBUXRFLCtDQUErQztBQUMvQyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBZ0I3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFoQkEsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFpQnhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFFaEMsSUFBSSxjQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFBLHFDQUE0QixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLGdDQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBTTtRQUNyQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHdCQUF3QixJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFJRCxJQUFXLEdBQUc7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUEsV0FBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFLLENBQUMsUUFBUSxDQUM3QixJQUFBLGtCQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUlELElBQVcsZ0JBQWdCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ25ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ksaUJBQWlCLENBQUMsWUFBb0I7UUFDM0MsSUFBQSxXQUFFLEVBQ0EsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUNmLCtJQUErSSxDQUNoSixDQUFDO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBc0I7UUFDM0IsSUFBQSxXQUFFLEVBQ0EsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUNmLG1KQUFtSixDQUNwSixDQUFDO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxJQUFJLEdBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVsQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRyxDQUFDO1lBRTNCLDhEQUE4RDtZQUM5RCxzQ0FBc0M7WUFDdEMsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUk7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVE7Z0JBQzdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNqQixDQUFDO1lBRUQsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWMscUJBQXFCO1FBQ2pDLE9BQU87WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO29CQUNqRSxFQUFFLEtBQUs7YUFDa0I7U0FDOUIsQ0FBQztJQUNKLENBQUM7O0FBaElILDRDQWlJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBvayB9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRva2VuSW5Db25zdHJ1Y3RJZCB9IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5jb25zdCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRWxlbWVudFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U6IHN0cmluZ1tdO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUVsZW1lbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmF3T3ZlcnJpZGVzOiBhbnkgPSB7fTtcblxuICAvKipcbiAgICogQW4gZXhwbGljaXQgbG9naWNhbCBJRCBwcm92aWRlZCBieSBgb3ZlcnJpZGVMb2dpY2FsSWRgLlxuICAgKi9cbiAgcHJpdmF0ZSBfbG9naWNhbElkT3ZlcnJpZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgdGhpcyBlbGVtZW50LCB1c2VkIGZvciBmcW4uXG4gICAqIFRoaXMgaXMgdW5kZWZpbmVkIGZvclxuICAgKiAtIGVsZW1lbnRzIG5vdCByZWZlcmFibGUsIGxpa2UgVGVycmFmb3JtT3V0cHV0XG4gICAqIC0gZWxlbWVudHMgdXNpbmcgdGhlaXIgb3duIGZxbiBpbXBsZW1lbnRhdGlvbiwgbGlrZSBUZXJyYWZvcm1Qcm92aWRlclxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFR5cGU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWxlbWVudFR5cGU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdGhpcy5fZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoaWQpKSB7XG4gICAgICB0aHJvdyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkKGlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJzdGFja3RyYWNlXCIsIFwidHJhY2VcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNka3RmU3RhY2soKTogVGVycmFmb3JtU3RhY2sge1xuICAgIHJldHVybiBUZXJyYWZvcm1TdGFjay5vZih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1FbGVtZW50KHg6IGFueSk6IHggaXMgVGVycmFmb3JtRWxlbWVudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0VMRU1FTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZxblRva2VuPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZnFuKCkge1xuICAgIGlmICghdGhpcy5fZnFuVG9rZW4pIHtcbiAgICAgIG9rKCEhdGhpcy5fZWxlbWVudFR5cGUsIFwiRWxlbWVudCB0eXBlIG5vdCBzZXRcIik7XG4gICAgICB0aGlzLl9mcW5Ub2tlbiA9IFRva2VuLmFzU3RyaW5nKFxuICAgICAgICByZWYoYCR7dGhpcy5fZWxlbWVudFR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfWAsIHRoaXMuY2RrdGZTdGFjayksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnFuVG9rZW47XG4gIH1cblxuICBwcml2YXRlIF9mcmllbmRseVVuaXF1ZUlkPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZnJpZW5kbHlVbmlxdWVJZCgpIHtcbiAgICBpZiAoIXRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQpIHtcbiAgICAgIGlmICh0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSkge1xuICAgICAgICB0aGlzLl9mcmllbmRseVVuaXF1ZUlkID0gdGhpcy5fbG9naWNhbElkT3ZlcnJpZGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9mcmllbmRseVVuaXF1ZUlkID0gdGhpcy5jZGt0ZlN0YWNrLmdldExvZ2ljYWxJZCh0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQ7XG4gIH1cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgYXV0by1nZW5lcmF0ZWQgbG9naWNhbCBJRCB3aXRoIGEgc3BlY2lmaWMgSUQuXG4gICAqIEBwYXJhbSBuZXdMb2dpY2FsSWQgVGhlIG5ldyBsb2dpY2FsIElEIHRvIHVzZSBmb3IgdGhpcyBzdGFjayBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlTG9naWNhbElkKG5ld0xvZ2ljYWxJZDogc3RyaW5nKSB7XG4gICAgb2soXG4gICAgICAhdGhpcy5fZnFuVG9rZW4sXG4gICAgICBcIkxvZ2ljYWwgSUQgbWF5IG5vdCBiZSBvdmVycmlkZGVuIG9uY2UgLmZxbiBoYXMgYmVlbiByZXF1ZXN0ZWQuIE1ha2Ugc3VyZSB0byBvdmVycmlkZSB0aGUgaWQgYmVmb3JlIHBhc3NpbmcgdGhlIGNvbnN0cnVjdCB0byBvdGhlciBjb25zdHJ1Y3RzLlwiLFxuICAgICk7XG4gICAgdGhpcy5fbG9naWNhbElkT3ZlcnJpZGUgPSBuZXdMb2dpY2FsSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIGEgcHJldmlvdXNseSBwYXNzZWQgbG9naWNhbCBJZCB0byB1c2UgdGhlIGF1dG8tZ2VuZXJhdGVkIGxvZ2ljYWwgaWQgYWdhaW5cbiAgICovXG4gIHB1YmxpYyByZXNldE92ZXJyaWRlTG9naWNhbElkKCkge1xuICAgIG9rKFxuICAgICAgIXRoaXMuX2ZxblRva2VuLFxuICAgICAgXCJMb2dpY2FsIElEIG1heSBub3QgYmUgb3ZlcnJpZGRlbiBvbmNlIC5mcW4gaGFzIGJlZW4gcmVxdWVzdGVkLiBZb3UgY2FuIG9ubHkgcmVzZXQgdGhlIG92ZXJyaWRlIGJlZm9yZSB5b3UgcGFzcyB0aGUgY29uc3RydWN0IHRvIG90aGVyIGNvbnN0cnVjdHMuXCIsXG4gICAgKTtcbiAgICB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRPdmVycmlkZShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgIGxldCBjdXJyOiBhbnkgPSB0aGlzLnJhd092ZXJyaWRlcztcblxuICAgIHdoaWxlIChwYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBrZXkgPSBwYXJ0cy5zaGlmdCgpITtcblxuICAgICAgLy8gaWYgd2UgY2FuJ3QgcmVjdXJzZSBmdXJ0aGVyIG9yIHRoZSBwcmV2aW91cyB2YWx1ZSBpcyBub3QgYW5cbiAgICAgIC8vIG9iamVjdCBvdmVyd3JpdGUgaXQgd2l0aCBhbiBvYmplY3QuXG4gICAgICBjb25zdCBpc09iamVjdCA9XG4gICAgICAgIGN1cnJba2V5XSAhPSBudWxsICYmXG4gICAgICAgIHR5cGVvZiBjdXJyW2tleV0gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgIUFycmF5LmlzQXJyYXkoY3VycltrZXldKTtcbiAgICAgIGlmICghaXNPYmplY3QpIHtcbiAgICAgICAgY3VycltrZXldID0ge307XG4gICAgICB9XG5cbiAgICAgIGN1cnIgPSBjdXJyW2tleV07XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuICAgIGN1cnJbbGFzdEtleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29uc3RydWN0Tm9kZU1ldGFkYXRhKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBwYXRoOiB0aGlzLm5vZGUucGF0aCxcbiAgICAgICAgdW5pcXVlSWQ6IHRoaXMuZnJpZW5kbHlVbmlxdWVJZCxcbiAgICAgICAgc3RhY2tUcmFjZTogdGhpcy5ub2RlLm1ldGFkYXRhLmZpbmQoKGUpID0+IGUudHlwZSA9PT0gXCJzdGFja3RyYWNlXCIpXG4gICAgICAgICAgPy50cmFjZSxcbiAgICAgIH0gYXMgVGVycmFmb3JtRWxlbWVudE1ldGFkYXRhLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -83,5 +83,5 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
83
83
  }
84
84
  exports.Fn = Fn;
85
85
  _a = JSII_RTTI_SYMBOL_1;
86
- Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.1" };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHdCQUE4RTtBQUM5RSxpREFBNEM7QUFDNUMsNkZBQXdFO0FBRXhFLCtDQUErQztBQUMvQyxNQUFhLEVBQUcsU0FBUSwyQ0FBVztJQUNqQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsSUFBYTtRQUN0QywwRkFBMEY7UUFDMUYsK0VBQStFO1FBQy9FLCtIQUErSDtRQUMvSCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsU0FBcUIsRUFDckIsU0FBcUIsRUFDckIsVUFBc0I7UUFFdEIsT0FBTyxJQUFBLGNBQVcsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBYSxFQUFFLEdBQVcsRUFBRSxZQUFrQjtRQUMxRCxzRkFBc0Y7UUFDdEYsSUFBSSxZQUFZO1lBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sSUFBQSxlQUFLLEVBQUMsSUFBQSxpQkFBYyxFQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtFQUErRTtJQUNoSSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWEsRUFBRSxJQUFXO1FBQzVDLE9BQU8sSUFBQSxlQUFLLEVBQUMsSUFBQSxpQkFBYyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFpQixFQUFFLElBQWM7UUFDM0MsZ0dBQWdHO1FBQ2hHLG1FQUFtRTtRQUNuRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDeEQsa0VBQWtFO1FBQ2xFLDBFQUEwRTtRQUMxRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDMUIsT0FBTyxRQUFLLENBQUMsUUFBUSxDQUFDLElBQUEsWUFBUyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUEvRUgsZ0JBZ0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IGNvbmRpdGlvbmFsLCBFeHByZXNzaW9uLCBwcm9wZXJ0eUFjY2VzcywgcmF3U3RyaW5nLCBUb2tlbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBhc0FueSB9IGZyb20gXCIuL2Z1bmN0aW9ucy9oZWxwZXJzXCI7XG5pbXBvcnQgeyBGbkdlbmVyYXRlZCB9IGZyb20gXCIuL2Z1bmN0aW9ucy90ZXJyYWZvcm0tZnVuY3Rpb25zLmdlbmVyYXRlZFwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIEZuIGV4dGVuZHMgRm5HZW5lcmF0ZWQge1xuICAvKipcbiAgICoge0BsaW5rIC90ZXJyYWZvcm0vZG9jcy9sYW5ndWFnZS9mdW5jdGlvbnMvYmNyeXB0Lmh0bWwgYmNyeXB0fSBjb21wdXRlcyBhIGhhc2ggb2YgdGhlIGdpdmVuIHN0cmluZyB1c2luZyB0aGUgQmxvd2Zpc2ggY2lwaGVyLCByZXR1cm5pbmcgYSBzdHJpbmcgaW4gW3RoZSBfTW9kdWxhciBDcnlwdCBGb3JtYXRfXShodHRwczovL3Bhc3NsaWIucmVhZHRoZWRvY3MuaW8vZW4vc3RhYmxlL21vZHVsYXJfY3J5cHRfZm9ybWF0Lmh0bWwpIHVzdWFsbHkgZXhwZWN0ZWQgaW4gdGhlIHNoYWRvdyBwYXNzd29yZCBmaWxlIG9uIG1hbnkgVW5peCBzeXN0ZW1zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbY29zdF1cbiAgICovXG4gIHN0YXRpYyBiY3J5cHQoc3RyOiBzdHJpbmcsIGNvc3Q/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgYmNyeXB0KCkgb25seSBzdXBwb3J0cyBhIHNpbmdsZSB2YXJpYWRpYyBwYXJhbWV0ZXIgYW5kIG5vdCBtdWx0aXBsZVxuICAgIC8vIFRoZXJlIGlzIGN1cnJlbnRseSBub3RoaW5nIGluIHRoZSBzY2hlbWEgdGhhdCByZXByZXNlbnRzIHRoaXMgcnVudGltZSBjaGVjazpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS9ibG9iLzZhYjNmYWY1ZjY1YTkwYWUxZTViZDA2MjVmYTllODNjMGIzNGM1ZTEvaW50ZXJuYWwvbGFuZy9mdW5jcy9jcnlwdG8uZ28jTDExNS1MMTE3XG4gICAgcmV0dXJuIEZuLl9iY3J5cHQoc3RyLCBjb3N0ID8gW2Nvc3RdIDogW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9leHByZXNzaW9ucy9jb25kaXRpb25hbHN9IEEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiB1c2VzIHRoZSB2YWx1ZSBvZiBhIGJvb2xlYW4gZXhwcmVzc2lvbiB0byBzZWxlY3Qgb25lIG9mIHR3byB2YWx1ZXMuXG4gICAqIEBwYXJhbSB7RXhwcmVzc2lvbn0gY29uZGl0aW9uXG4gICAqIEBwYXJhbSB7RXhwcmVzc2lvbn0gdHJ1ZVZhbHVlXG4gICAqIEBwYXJhbSB7RXhwcmVzc2lvbn0gZmFsc2VWYWx1ZVxuICAgKi9cbiAgc3RhdGljIGNvbmRpdGlvbmFsKFxuICAgIGNvbmRpdGlvbjogRXhwcmVzc2lvbixcbiAgICB0cnVlVmFsdWU6IEV4cHJlc3Npb24sXG4gICAgZmFsc2VWYWx1ZTogRXhwcmVzc2lvbixcbiAgKTogYW55IHtcbiAgICByZXR1cm4gY29uZGl0aW9uYWwoY29uZGl0aW9uLCB0cnVlVmFsdWUsIGZhbHNlVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL2xvb2t1cC5odG1sIGxvb2t1cH0gcmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIHNpbmdsZSBlbGVtZW50IGZyb20gYSBtYXAsIGdpdmVuIGl0cyBrZXkuIElmIHRoZSBnaXZlbiBrZXkgZG9lcyBub3QgZXhpc3QsIHRoZSBnaXZlbiBkZWZhdWx0IHZhbHVlIGlzIHJldHVybmVkIGluc3RlYWQuXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gICAqIEBwYXJhbSB7YW55fSBbZGVmYXVsdFZhbHVlXVxuICAgKi9cbiAgc3RhdGljIGxvb2t1cChpbnB1dE1hcDogYW55LCBrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogYW55KSB7XG4gICAgLy8gb3ZlcndyaXR0ZW4gYmVjYXVzZSBsb29rdXAoKSB1c2VzIGEgdmFyaWFkaWMgYXJndW1lbnQgZm9yIGl0cyBvcHRpb25hbCBkZWZhdWx0VmFsdWVcbiAgICBpZiAoZGVmYXVsdFZhbHVlKSByZXR1cm4gRm4uX2xvb2t1cChpbnB1dE1hcCwga2V5LCBbZGVmYXVsdFZhbHVlXSk7XG4gICAgcmV0dXJuIGFzQW55KHByb3BlcnR5QWNjZXNzKGlucHV0TWFwLCBba2V5XSkpOyAvLyAtPiByZW5kZXJzIGlucHV0TWFwW2tleV0gKHdoaWNoIGlzIHJlY29tbWVuZGVkIGlmIG5vIGRlZmF1bHQgdmFsdWUgaXMgZ2l2ZW4pXG4gIH1cblxuICAvKipcbiAgICogcmV0dXJucyBhIHByb3BlcnR5IGFjY2VzcyBleHByZXNzaW9uIHRoYXQgYWNjZXNzZXMgdGhlIHByb3BlcnR5IGF0IHRoZSBnaXZlbiBwYXRoIGluIHRoZSBnaXZlbiBpbnB1dE1hcC5cbiAgICogRm9yIGV4YW1wbGUgbG9va3VwTmVzdGVkKHgsIFtcImFcIiwgXCJiXCIsIFwiY1wiXSkgd2lsbCByZXR1cm4gYSBUZXJyYWZvcm0gZXhwcmVzc2lvbiBsaWtlIHhbXCJhXCJdW1wiYlwiXVtcImNcIl1cbiAgICogQHBhcmFtIHthbnl9IGlucHV0TWFwXG4gICAqIEBwYXJhbSB7QXJyYXk8YW55Pn0gcGF0aFxuICAgKi9cbiAgc3RhdGljIGxvb2t1cE5lc3RlZChpbnB1dE1hcDogYW55LCBwYXRoOiBhbnlbXSkge1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgcGF0aCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL2pvaW4uaHRtbCBqb2lufSBwcm9kdWNlcyBhIHN0cmluZyBieSBjb25jYXRlbmF0aW5nIHRvZ2V0aGVyIGFsbCBlbGVtZW50cyBvZiBhIGdpdmVuIGxpc3Qgb2Ygc3RyaW5ncyB3aXRoIHRoZSBnaXZlbiBkZWxpbWl0ZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZXBhcmF0b3JcbiAgICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBsaXN0XG4gICAqL1xuICBzdGF0aWMgam9pbihzZXBhcmF0b3I6IHN0cmluZywgbGlzdDogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2Ugam9pbigpIHN1cHBvcnRzIHBhc3NpbmcgbXVsdGlwbGUgbGlzdHMgdG8gaXQgZS5nLiBqb2luKHNlcCwgbGlzdEEsIGxpc3RCKVxuICAgIC8vIHdoaWNoIHdlIGNhbid0IG1vZGVsIGFzIEpTSUkgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWRpYyBhcmd1bWVudHNcbiAgICByZXR1cm4gRm4uX2pvaW4oc2VwYXJhdG9yLCBbbGlzdF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL3JhbmdlLmh0bWwgcmFuZ2V9IGdlbmVyYXRlcyBhIGxpc3Qgb2YgbnVtYmVycyB1c2luZyBhIHN0YXJ0IHZhbHVlLCBhIGxpbWl0IHZhbHVlLCBhbmQgYSBzdGVwIHZhbHVlLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpbWl0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RlcD0xXVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByYW5nZShzdGFydDogbnVtYmVyLCBsaW1pdDogbnVtYmVyLCBzdGVwID0gMSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgdGhlIHN0ZXAgcGFyYW0gaW4gcmFuZ2UoKSBpcyBvcHRpb25hbCB3aGljaFxuICAgIC8vIHRoZSBUZXJyYWZvcm0gZnVuY3Rpb25zIHNjaGVtYSByZXByZXNlbnRzIGFzIGEgc2luZ2xlIHZhcmlhZGljIGFyZ3VtZW50XG4gICAgcmV0dXJuIEZuLl9yYW5nZShbc3RhcnQsIGxpbWl0LCBzdGVwXSk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIHRoaXMgZnVuY3Rpb24gdG8gd3JhcCBhIHN0cmluZyBhbmQgZXNjYXBlIGl0IHByb3Blcmx5IGZvciB0aGUgdXNlIGluIFRlcnJhZm9ybVxuICAgKiBUaGlzIGlzIG9ubHkgbmVlZGVkIGluIGNlcnRhaW4gc2NlbmFyaW9zIChlLmcuLCBpZiB5b3UgaGF2ZSB1bmVzY2FwZWQgZG91YmxlIHF1b3RlcyBpbiB0aGUgc3RyaW5nKVxuICAgKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gICAqL1xuICBzdGF0aWMgcmF3U3RyaW5nKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcocmF3U3RyaW5nKHN0cikpO1xuICB9XG59XG4iXX0=
86
+ Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.3" };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx3QkFBOEU7QUFDOUUsaURBQTRDO0FBQzVDLDZGQUF3RTtBQUV4RSwrQ0FBK0M7QUFDL0MsTUFBYSxFQUFHLFNBQVEsMkNBQVc7SUFDakM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQWE7UUFDdEMsMEZBQTBGO1FBQzFGLCtFQUErRTtRQUMvRSwrSEFBK0g7UUFDL0gsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFNBQXFCLEVBQ3JCLFNBQXFCLEVBQ3JCLFVBQXNCO1FBRXRCLE9BQU8sSUFBQSxjQUFXLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWEsRUFBRSxHQUFXLEVBQUUsWUFBa0I7UUFDMUQsc0ZBQXNGO1FBQ3RGLElBQUksWUFBWTtZQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywrRUFBK0U7SUFDaEksQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsSUFBVztRQUM1QyxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxJQUFjO1FBQzNDLGdHQUFnRztRQUNoRyxtRUFBbUU7UUFDbkUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3hELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sUUFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLFlBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBL0VILGdCQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBjb25kaXRpb25hbCwgRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3MsIHJhd1N0cmluZywgVG9rZW4gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgYXNBbnkgfSBmcm9tIFwiLi9mdW5jdGlvbnMvaGVscGVyc1wiO1xuaW1wb3J0IHsgRm5HZW5lcmF0ZWQgfSBmcm9tIFwiLi9mdW5jdGlvbnMvdGVycmFmb3JtLWZ1bmN0aW9ucy5nZW5lcmF0ZWRcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBGbiBleHRlbmRzIEZuR2VuZXJhdGVkIHtcbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL2JjcnlwdC5odG1sIGJjcnlwdH0gY29tcHV0ZXMgYSBoYXNoIG9mIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIEJsb3dmaXNoIGNpcGhlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluIFt0aGUgX01vZHVsYXIgQ3J5cHQgRm9ybWF0X10oaHR0cHM6Ly9wYXNzbGliLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9tb2R1bGFyX2NyeXB0X2Zvcm1hdC5odG1sKSB1c3VhbGx5IGV4cGVjdGVkIGluIHRoZSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBvbiBtYW55IFVuaXggc3lzdGVtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Nvc3RdXG4gICAqL1xuICBzdGF0aWMgYmNyeXB0KHN0cjogc3RyaW5nLCBjb3N0PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGJjcnlwdCgpIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgdmFyaWFkaWMgcGFyYW1ldGVyIGFuZCBub3QgbXVsdGlwbGVcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm90aGluZyBpbiB0aGUgc2NoZW1hIHRoYXQgcmVwcmVzZW50cyB0aGlzIHJ1bnRpbWUgY2hlY2s6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vYmxvYi82YWIzZmFmNWY2NWE5MGFlMWU1YmQwNjI1ZmE5ZTgzYzBiMzRjNWUxL2ludGVybmFsL2xhbmcvZnVuY3MvY3J5cHRvLmdvI0wxMTUtTDExN1xuICAgIHJldHVybiBGbi5fYmNyeXB0KHN0ciwgY29zdCA/IFtjb3N0XSA6IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWxzfSBBIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gdXNlcyB0aGUgdmFsdWUgb2YgYSBib29sZWFuIGV4cHJlc3Npb24gdG8gc2VsZWN0IG9uZSBvZiB0d28gdmFsdWVzLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IHRydWVWYWx1ZVxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGZhbHNlVmFsdWVcbiAgICovXG4gIHN0YXRpYyBjb25kaXRpb25hbChcbiAgICBjb25kaXRpb246IEV4cHJlc3Npb24sXG4gICAgdHJ1ZVZhbHVlOiBFeHByZXNzaW9uLFxuICAgIGZhbHNlVmFsdWU6IEV4cHJlc3Npb24sXG4gICk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9sb29rdXAuaHRtbCBsb29rdXB9IHJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZWxlbWVudCBmcm9tIGEgbWFwLCBnaXZlbiBpdHMga2V5LiBJZiB0aGUgZ2l2ZW4ga2V5IGRvZXMgbm90IGV4aXN0LCB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge2FueX0gaW5wdXRNYXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge2FueX0gW2RlZmF1bHRWYWx1ZV1cbiAgICovXG4gIHN0YXRpYyBsb29rdXAoaW5wdXRNYXA6IGFueSwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgbG9va3VwKCkgdXNlcyBhIHZhcmlhZGljIGFyZ3VtZW50IGZvciBpdHMgb3B0aW9uYWwgZGVmYXVsdFZhbHVlXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkgcmV0dXJuIEZuLl9sb29rdXAoaW5wdXRNYXAsIGtleSwgW2RlZmF1bHRWYWx1ZV0pO1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgW2tleV0pKTsgLy8gLT4gcmVuZGVycyBpbnB1dE1hcFtrZXldICh3aGljaCBpcyByZWNvbW1lbmRlZCBpZiBubyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiB0aGUgZ2l2ZW4gaW5wdXRNYXAuXG4gICAqIEZvciBleGFtcGxlIGxvb2t1cE5lc3RlZCh4LCBbXCJhXCIsIFwiYlwiLCBcImNcIl0pIHdpbGwgcmV0dXJuIGEgVGVycmFmb3JtIGV4cHJlc3Npb24gbGlrZSB4W1wiYVwiXVtcImJcIl1bXCJjXCJdXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IHBhdGhcbiAgICovXG4gIHN0YXRpYyBsb29rdXBOZXN0ZWQoaW5wdXRNYXA6IGFueSwgcGF0aDogYW55W10pIHtcbiAgICByZXR1cm4gYXNBbnkocHJvcGVydHlBY2Nlc3MoaW5wdXRNYXAsIHBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9qb2luLmh0bWwgam9pbn0gcHJvZHVjZXMgYSBzdHJpbmcgYnkgY29uY2F0ZW5hdGluZyB0b2dldGhlciBhbGwgZWxlbWVudHMgb2YgYSBnaXZlbiBsaXN0IG9mIHN0cmluZ3Mgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGlzdFxuICAgKi9cbiAgc3RhdGljIGpvaW4oc2VwYXJhdG9yOiBzdHJpbmcsIGxpc3Q6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGpvaW4oKSBzdXBwb3J0cyBwYXNzaW5nIG11bHRpcGxlIGxpc3RzIHRvIGl0IGUuZy4gam9pbihzZXAsIGxpc3RBLCBsaXN0QilcbiAgICAvLyB3aGljaCB3ZSBjYW4ndCBtb2RlbCBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgYXJndW1lbnRzXG4gICAgcmV0dXJuIEZuLl9qb2luKHNlcGFyYXRvciwgW2xpc3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9yYW5nZS5odG1sIHJhbmdlfSBnZW5lcmF0ZXMgYSBsaXN0IG9mIG51bWJlcnMgdXNpbmcgYSBzdGFydCB2YWx1ZSwgYSBsaW1pdCB2YWx1ZSwgYW5kIGEgc3RlcCB2YWx1ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgc3RlcCA9IDEpIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIHRoZSBzdGVwIHBhcmFtIGluIHJhbmdlKCkgaXMgb3B0aW9uYWwgd2hpY2hcbiAgICAvLyB0aGUgVGVycmFmb3JtIGZ1bmN0aW9ucyBzY2hlbWEgcmVwcmVzZW50cyBhcyBhIHNpbmdsZSB2YXJpYWRpYyBhcmd1bWVudFxuICAgIHJldHVybiBGbi5fcmFuZ2UoW3N0YXJ0LCBsaW1pdCwgc3RlcF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHdyYXAgYSBzdHJpbmcgYW5kIGVzY2FwZSBpdCBwcm9wZXJseSBmb3IgdGhlIHVzZSBpbiBUZXJyYWZvcm1cbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpbiBjZXJ0YWluIHNjZW5hcmlvcyAoZS5nLiwgaWYgeW91IGhhdmUgdW5lc2NhcGVkIGRvdWJsZSBxdW90ZXMgaW4gdGhlIHN0cmluZylcbiAgICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICAgKi9cbiAgc3RhdGljIHJhd1N0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJhd1N0cmluZyhzdHIpKTtcbiAgfVxufVxuIl19
@@ -52,5 +52,5 @@ class TerraformHclModule extends terraform_module_1.TerraformModule {
52
52
  }
53
53
  exports.TerraformHclModule = TerraformHclModule;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.1" };
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWhjbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXJyYWZvcm0taGNsLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHlEQUE0RTtBQUM1RSxxQ0FBOEM7QUFNOUMsK0NBQStDO0FBQy9DLE1BQWEsa0JBQW1CLFNBQVEsa0NBQWU7SUFHckQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUFpQztRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVNLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEtBQVU7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVNLEdBQUcsQ0FBQyxNQUFjO1FBQ3ZCLE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxVQUFVLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sT0FBTyxDQUFDLE1BQWM7UUFDM0IsT0FBTyxjQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQzVELE9BQU87Z0JBQ0wsR0FBRztnQkFDSDtvQkFDRSxLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsS0FBSztpQkFDWjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUF4REgsZ0RBeURDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Nb2R1bGVDb25maWcsIFRlcnJhZm9ybU1vZHVsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1tb2R1bGVcIjtcbmltcG9ydCB7IFRva2VuLCBJUmVzb2x2YWJsZSB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUhjbE1vZHVsZUNvbmZpZyBleHRlbmRzIFRlcnJhZm9ybU1vZHVsZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHZhcmlhYmxlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtSGNsTW9kdWxlIGV4dGVuZHMgVGVycmFmb3JtTW9kdWxlIHtcbiAgcHJpdmF0ZSBfdmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBUZXJyYWZvcm1IY2xNb2R1bGVDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5fdmFyaWFibGVzID0gb3B0aW9ucy52YXJpYWJsZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhcmlhYmxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFyaWFibGVzO1xuICB9XG5cbiAgcHVibGljIHNldCh2YXJpYWJsZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLl92YXJpYWJsZXMpIHtcbiAgICAgIHRoaXMuX3ZhcmlhYmxlcyA9IHt9O1xuICAgIH1cbiAgICB0aGlzLl92YXJpYWJsZXNbdmFyaWFibGVdID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0KG91dHB1dDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkodGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCkpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlcihvdXRwdXQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuKG91dHB1dDogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb25Gb3JPdXRwdXQob3V0cHV0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0KG91dHB1dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QodGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4geyAuLi50aGlzLnZhcmlhYmxlcyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAoIXRoaXMudmFyaWFibGVzKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMudmFyaWFibGVzIGFzIGFueSkubWFwKChba2V5LCB2YXJpYWJsZV0pID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBrZXksXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IHZhcmlhYmxlLFxuICAgICAgICAgICAgdHlwZTogXCJhbnlcIixcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
55
+ TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.3" };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWhjbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWhjbC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx5REFBNEU7QUFDNUUscUNBQThDO0FBTTlDLCtDQUErQztBQUMvQyxNQUFhLGtCQUFtQixTQUFRLGtDQUFlO0lBR3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsT0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFVO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYztRQUN2QixPQUFPLGNBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFjO1FBQzNCLE9BQU8sY0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUM1RCxPQUFPO2dCQUNMLEdBQUc7Z0JBQ0g7b0JBQ0UsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBeERILGdEQXlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtTW9kdWxlQ29uZmlnLCBUZXJyYWZvcm1Nb2R1bGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlXCI7XG5pbXBvcnQgeyBUb2tlbiwgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1IY2xNb2R1bGVDb25maWcgZXh0ZW5kcyBUZXJyYWZvcm1Nb2R1bGVDb25maWcge1xuICByZWFkb25seSB2YXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUhjbE1vZHVsZSBleHRlbmRzIFRlcnJhZm9ybU1vZHVsZSB7XG4gIHByaXZhdGUgX3ZhcmlhYmxlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogVGVycmFmb3JtSGNsTW9kdWxlQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX3ZhcmlhYmxlcyA9IG9wdGlvbnMudmFyaWFibGVzO1xuICB9XG5cbiAgcHVibGljIGdldCB2YXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQodmFyaWFibGU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGlmICghdGhpcy5fdmFyaWFibGVzKSB7XG4gICAgICB0aGlzLl92YXJpYWJsZXMgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5fdmFyaWFibGVzW3ZhcmlhYmxlXSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldChvdXRwdXQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXIob3V0cHV0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcih0aGlzLmludGVycG9sYXRpb25Gb3JPdXRwdXQob3V0cHV0KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbihvdXRwdXQ6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdChvdXRwdXQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YXJpYWJsZXMgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKCF0aGlzLnZhcmlhYmxlcykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLnZhcmlhYmxlcyBhcyBhbnkpLm1hcCgoW2tleSwgdmFyaWFibGVdKSA9PiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiB2YXJpYWJsZSxcbiAgICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -273,7 +273,7 @@ class TerraformIterator {
273
273
  }
274
274
  exports.TerraformIterator = TerraformIterator;
275
275
  _a = JSII_RTTI_SYMBOL_1;
276
- TerraformIterator[_a] = { fqn: "cdktn.TerraformIterator", version: "0.23.1" };
276
+ TerraformIterator[_a] = { fqn: "cdktn.TerraformIterator", version: "0.23.3" };
277
277
  // eslint-disable-next-line jsdoc/require-jsdoc
278
278
  class ListTerraformIterator extends TerraformIterator {
279
279
  constructor(list) {
@@ -305,7 +305,7 @@ class ListTerraformIterator extends TerraformIterator {
305
305
  }
306
306
  exports.ListTerraformIterator = ListTerraformIterator;
307
307
  _b = JSII_RTTI_SYMBOL_1;
308
- ListTerraformIterator[_b] = { fqn: "cdktn.ListTerraformIterator", version: "0.23.1" };
308
+ ListTerraformIterator[_b] = { fqn: "cdktn.ListTerraformIterator", version: "0.23.3" };
309
309
  // eslint-disable-next-line jsdoc/require-jsdoc
310
310
  class MapTerraformIterator extends TerraformIterator {
311
311
  constructor(map) {
@@ -334,7 +334,7 @@ class MapTerraformIterator extends TerraformIterator {
334
334
  }
335
335
  exports.MapTerraformIterator = MapTerraformIterator;
336
336
  _c = JSII_RTTI_SYMBOL_1;
337
- MapTerraformIterator[_c] = { fqn: "cdktn.MapTerraformIterator", version: "0.23.1" };
337
+ MapTerraformIterator[_c] = { fqn: "cdktn.MapTerraformIterator", version: "0.23.3" };
338
338
  // eslint-disable-next-line jsdoc/require-jsdoc
339
339
  class ResourceTerraformIterator extends TerraformIterator {
340
340
  constructor(element) {
@@ -371,7 +371,7 @@ class ResourceTerraformIterator extends TerraformIterator {
371
371
  }
372
372
  exports.ResourceTerraformIterator = ResourceTerraformIterator;
373
373
  _d = JSII_RTTI_SYMBOL_1;
374
- ResourceTerraformIterator[_d] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.23.1" };
374
+ ResourceTerraformIterator[_d] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.23.3" };
375
375
  // eslint-disable-next-line jsdoc/require-jsdoc
376
376
  class DynamicListTerraformIterator extends MapTerraformIterator {
377
377
  constructor(list, mapKeyAttributeName) {
@@ -399,5 +399,5 @@ class DynamicListTerraformIterator extends MapTerraformIterator {
399
399
  }
400
400
  exports.DynamicListTerraformIterator = DynamicListTerraformIterator;
401
401
  _e = JSII_RTTI_SYMBOL_1;
402
- DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.1" };
403
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLWl0ZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBY0EscUNBR2tCO0FBQ2xCLGlGQUE0RTtBQUM1RSwrREFBMkM7QUFFM0MsaURBTXdCO0FBQ3hCLHFDQUFvRDtBQXdDcEQsK0NBQStDO0FBQy9DLE1BQXNCLGlCQUFpQjtJQU1yQzs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWM7UUFDbkMsZ0ZBQWdGO1FBQ2hGLHdGQUF3RjtRQUN4RixPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNEJHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FDM0IsSUFBcUIsRUFDckIsbUJBQTJCO1FBRTNCLE9BQU8sSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUNuQixHQUs4QjtRQUU5QixPQUFPLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQ3pCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FDM0IsUUFBNEI7UUFFNUIsT0FBTyxJQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsU0FBaUI7UUFDekIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsU0FBaUI7UUFDdEIsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxTQUFpQjtRQUN2QixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLFNBQWlCO1FBQzdCLE9BQU8sY0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsU0FBaUI7UUFDdEIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFpQjtRQUM1QixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sY0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsU0FBaUI7UUFDN0IsT0FBTyxjQUFLLENBQUMsWUFBWSxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDTyxTQUFTO1FBQ2pCLHlGQUF5RjtRQUN6RixPQUFPLGFBQUksQ0FBQyxRQUFRLENBQ2xCO1lBQ0UsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25CLFFBQVEsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNoQyxLQUFLLGVBQWU7d0JBQ2xCLE9BQU8sSUFBQSxrQkFBRyxFQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMzQixLQUFLLGdCQUFnQjt3QkFDbkIsT0FBTyxtQ0FBb0IsQ0FBQztvQkFDOUI7d0JBQ0UsNEdBQTRHO3dCQUM1RyxPQUFPLElBQUEsa0JBQUcsRUFBQyxZQUFZLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUM7U0FDRixFQUNELEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDTyxPQUFPO1FBQ2YseUZBQXlGO1FBQ3pGLE9BQU8sYUFBSSxDQUFDLFFBQVEsQ0FDbEI7WUFDRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkIsUUFBUSxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ2hDLEtBQUssZUFBZTt3QkFDbEIsT0FBTyxJQUFBLGtCQUFHLEVBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3pCLEtBQUssZ0JBQWdCO3dCQUNuQixPQUFPLGlDQUFrQixDQUFDO29CQUM1Qjt3QkFDRSw0R0FBNEc7d0JBQzVHLE9BQU8sSUFBQSxrQkFBRyxFQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztTQUNGLEVBQ0QsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxPQUFPLENBQUMsVUFBa0M7UUFDL0MsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUNoQixJQUFJLHlEQUEwQixDQUFDO1lBQzdCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJO1FBQ1QsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUNoQixJQUFBLDRCQUFhLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsaUNBQWtCLENBQUMsQ0FDakUsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU07UUFDWCxPQUFPLGNBQUssQ0FBQyxLQUFLLENBQ2hCLElBQUEsNEJBQWEsRUFBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxtQ0FBb0IsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FDaEIsSUFBQSw0QkFBYSxFQUNYLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUM3QixJQUFBLDZCQUFjLEVBQUMsbUNBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNqRCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLG9CQUFvQixDQUFDLFVBQWdDO1FBQzFELE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FDaEIsSUFBQSw0QkFBYSxFQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksbUJBQW1CLENBQ3hCLGFBQW1DLEVBQ25DLGVBQXFDO1FBRXJDLE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FDaEIsSUFBQSw0QkFBYSxFQUNYLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUM3QixlQUFlLEVBQ2YsYUFBYSxDQUNkLENBQ0YsQ0FBQztJQUNKLENBQUM7O0FBM1VILDhDQTRVQzs7O0FBRUQsK0NBQStDO0FBQy9DLE1BQWEscUJBQXNCLFNBQVEsaUJBQWlCO0lBQzFELFlBQTZCLElBQWM7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFEbUIsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUUzQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUI7UUFDMUIseUVBQXlFO1FBQ3pFLE9BQU8sd0JBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7O0FBNUJILHNEQTZCQzs7O0FBRUQsK0NBQStDO0FBQy9DLE1BQWEsb0JBQXFCLFNBQVEsaUJBQWlCO0lBQ3pELFlBQTZCLEdBQVk7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEbUIsUUFBRyxHQUFILEdBQUcsQ0FBUztJQUV6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUI7UUFDMUIsaUdBQWlHO1FBQ2pHLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxHQUFHO1FBQ1osT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFCLENBQUM7O0FBekJILG9EQTBCQzs7O0FBRUQsK0NBQStDO0FBQy9DLE1BQWEseUJBQTBCLFNBQVEsaUJBQWlCO0lBQzlELFlBQTZCLE9BQTJCO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRG1CLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBR3RELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBQSxvQ0FBMkIsR0FBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBQSx5Q0FBZ0MsR0FBRSxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLHNDQUFzQztJQUNqRSxDQUFDOztBQW5DSCw4REFvQ0M7OztBQUVELCtDQUErQztBQUMvQyxNQUFhLDRCQUE2QixTQUFRLG9CQUFvQjtJQUNwRSxZQUNtQixJQUFjLEVBQ2QsbUJBQTJCO1FBRTVDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhLLFNBQUksR0FBSixJQUFJLENBQVU7UUFDZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVE7SUFHOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxxQkFBcUI7UUFDMUIsc0ZBQXNGO1FBQ3RGLE9BQU8sSUFBQSw0QkFBYSxFQUNsQixJQUFJLENBQUMsSUFBSSxFQUNULG1DQUFvQixFQUNwQix3QkFBRSxDQUFDLFlBQVksQ0FBQyxtQ0FBb0IsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7QUE3Qkgsb0VBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7XG4gIEFueU1hcCxcbiAgQW55TWFwTGlzdCxcbiAgQm9vbGVhbk1hcCxcbiAgQm9vbGVhbk1hcExpc3QsXG4gIENvbXBsZXhMaXN0LFxuICBDb21wbGV4TWFwLFxuICBOdW1iZXJNYXAsXG4gIE51bWJlck1hcExpc3QsXG4gIFN0cmluZ01hcCxcbiAgU3RyaW5nTWFwTGlzdCxcbn0gZnJvbSBcIi4vY29tcGxleC1jb21wdXRlZC1saXN0XCI7XG5pbXBvcnQge1xuICBpdGVyYXRvck9uUmVzb3VyY2VXaXRoQ291bnQsXG4gIGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhvdXRGb3JFYWNoLFxufSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtLWR5bmFtaWMtZXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgRm4gfSBmcm9tIFwiLi90ZXJyYWZvcm0tZnVuY3Rpb25zXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtUmVzb3VyY2UgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7XG4gIEZPUl9FWFBSRVNTSU9OX0tFWSxcbiAgRk9SX0VYUFJFU1NJT05fVkFMVUUsXG4gIGZvckV4cHJlc3Npb24sXG4gIHByb3BlcnR5QWNjZXNzLFxuICByZWYsXG59IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIExhenksIFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueTtcblxuICAvKipcbiAgICogQGludGVybmFsIGlucHV0IHVzZWQgd2hlbiB0aGlzIGl0ZXJhdG9yIGFwcGVhcnMgaW5zaWRlIGEgZm9yLWV4cHJlc3Npb25cbiAgICogYm9keSAoa2V5cyAvIHZhbHVlcyAvIHBsdWNrUHJvcGVydHkgLyBmb3JFeHByZXNzaW9uRm9yTGlzdCAvXG4gICAqIGZvckV4cHJlc3Npb25Gb3JNYXAgLyBkeW5hbWljKS5cbiAgICovXG4gIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55O1xufVxuXG50eXBlIExpc3RUeXBlID1cbiAgfCBBcnJheTxzdHJpbmc+XG4gIHwgQXJyYXk8bnVtYmVyPlxuICB8IEFycmF5PGJvb2xlYW4gfCBJUmVzb2x2YWJsZT5cbiAgfCBJUmVzb2x2YWJsZTsgLy8gZS5nLiBhcnJheSBvZiBib29sZWFuc1xuXG50eXBlIENvbXBsZXhMaXN0VHlwZSA9XG4gIHwgQ29tcGxleExpc3RcbiAgfCBTdHJpbmdNYXBMaXN0XG4gIHwgTnVtYmVyTWFwTGlzdFxuICB8IEJvb2xlYW5NYXBMaXN0XG4gIHwgQW55TWFwTGlzdFxuICB8IElSZXNvbHZhYmxlOyAvLyBlLmcuIGEgcmVmZXJlbmNlIHRvIGEgY29tcGxleCBsaXN0IChlLmcuIHZpYSBhIHZhcmlhYmxlKVxuXG50eXBlIE1hcFR5cGUgPVxuICB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gIHwgeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxuICB8IFN0cmluZ01hcFxuICB8IE51bWJlck1hcFxuICB8IEJvb2xlYW5NYXBcbiAgfCBBbnlNYXBcbiAgfCBDb21wbGV4TWFwO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlcnJhZm9ybUl0ZXJhdG9yIGltcGxlbWVudHMgSVRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgYWJzdHJhY3QgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueTtcblxuICAvKipcbiAgICogQGludGVybmFsIGlucHV0IHVzZWQgd2hlbiB0aGlzIGl0ZXJhdG9yIGFwcGVhcnMgaW5zaWRlIGEgZm9yLWV4cHJlc3Npb25cbiAgICogYm9keSAoa2V5cyAvIHZhbHVlcyAvIHBsdWNrUHJvcGVydHkgLyBmb3JFeHByZXNzaW9uRm9yTGlzdCAvXG4gICAqIGZvckV4cHJlc3Npb25Gb3JNYXAgLyBkeW5hbWljKS4gRGVmYXVsdHMgdG8gdGhlIGZvcl9lYWNoIGV4cHJlc3Npb247XG4gICAqIHN1YmNsYXNzZXMgdGhhdCBuZWVkIGEgZGlmZmVyZW50IHNoYXBlIGluIGZvci1leHByZXNzaW9uIGJvZGllc1xuICAgKiAoZS5nLiBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yKSBjYW4gb3ZlcnJpZGUuXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckV4cHJlc3Npb25JbnB1dCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRGb3JFYWNoRXhwcmVzc2lvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIGxpc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUxpc3QobGlzdDogTGlzdFR5cGUpOiBMaXN0VGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIC8vIFRPRE86IHRoaXMgY291bGQgcmV0dXJuIGRpZmZlcmVudCBpdGVyYXRvcnMgZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRoZSBsaXN0XG4gICAgLy8gZm9yIGV4YW1wbGUgaXQgY291bGQgcmV0dXJuIGEgTnVtYmVyTGlzdEl0ZXJhdG9yIHdob3NlIGl0ZXJhdG9yLmtleSB3b3VsZCBiZSBhIG51bWJlclxuICAgIHJldHVybiBuZXcgTGlzdFRlcnJhZm9ybUl0ZXJhdG9yKGxpc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIGNvbXBsZXggbGlzdC4gT25lIGV4YW1wbGUgZm9yIHRoaXMgd291bGQgYmUgYSBsaXN0IG9mIG1hcHMuXG4gICAqIFRoZSBsaXN0IHdpbGwgYmUgY29udmVydGVkIGludG8gYSBtYXAgd2l0aCB0aGUgbWFwS2V5QXR0cmlidXRlTmFtZSBhcyB0aGUga2V5LlxuICAgKiBAcGFyYW0gbGlzdCB0aGUgbGlzdCB0byBpdGVyYXRlIG92ZXJcbiAgICogQHBhcmFtIG1hcEtleUF0dHJpYnV0ZU5hbWUgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIG1hcFxuICAgKlxuICAgKiBWaXNpdCBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWl0ZXJhdG9ycy1vbi1jb21wbGV4LWxpc3RzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBjZXJ0ID0gbmV3IEFjbUNlcnRpZmljYXRlKHRoaXMsIFwiY2VydFwiLCB7XG4gICAqICAgIGRvbWFpbk5hbWU6IFwiZXhhbXBsZS5jb21cIixcbiAgICogICAgdmFsaWRhdGlvbk1ldGhvZDogXCJETlNcIixcbiAgICogIH0pO1xuICAgKlxuICAgKiBjb25zdCBkdm9JdGVyYXRvciA9IFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21Db21wbGV4TGlzdChcbiAgICogICBjZXJ0LmRvbWFpblZhbGlkYXRpb25PcHRpb25zLFxuICAgKiAgIFwiZG9tYWluX25hbWVcIlxuICAgKiApO1xuICAgKlxuICAgKiBuZXcgUm91dGU1M1JlY29yZCh0aGlzLCBcInJlY29yZFwiLCB7XG4gICAqICAgYWxsb3dPdmVyd3JpdGU6IHRydWUsXG4gICAqICAgbmFtZTogZHZvSXRlcmF0b3IuZ2V0U3RyaW5nKFwibmFtZVwiKSxcbiAgICogICByZWNvcmRzOiBbZHZvSXRlcmF0b3IuZ2V0U3RyaW5nKFwicmVjb3JkXCIpXSxcbiAgICogICB0dGw6IDYwLFxuICAgKiAgIHR5cGU6IGR2b0l0ZXJhdG9yLmdldFN0cmluZyhcInR5cGVcIiksXG4gICAqICAgem9uZUlkOiBUb2tlbi5hc1N0cmluZyhkYXRhQXdzUm91dGU1M1pvbmVFeGFtcGxlLnpvbmVJZCksXG4gICAqICAgZm9yRWFjaDogZHZvSXRlcmF0b3IsXG4gICAqIH0pO1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29tcGxleExpc3QoXG4gICAgbGlzdDogQ29tcGxleExpc3RUeXBlLFxuICAgIG1hcEtleUF0dHJpYnV0ZU5hbWU6IHN0cmluZyxcbiAgKTogRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yKGxpc3QsIG1hcEtleUF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIG1hcFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTWFwKFxuICAgIG1hcDpcbiAgICAgIHwgQ29tcGxleE1hcFxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSxcbiAgKTogTWFwVGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgTWFwVGVycmFmb3JtSXRlcmF0b3IobWFwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSByZXNvdXJjZSB0aGF0XG4gICAqIGhhcyBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgYGZvcl9lYWNoYCBhcmd1bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlc291cmNlcyhcbiAgICByZXNvdXJjZTogSVRlcnJhZm9ybVJlc291cmNlLFxuICApOiBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3IocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaXRlcmF0b3IgZnJvbSBhIGRhdGEgc291cmNlIHRoYXRcbiAgICogaGFzIGJlZW4gY3JlYXRlZCB3aXRoIHRoZSBgZm9yX2VhY2hgIGFyZ3VtZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRGF0YVNvdXJjZXMoXG4gICAgcmVzb3VyY2U6IElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgKTogUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yKHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgc3RyaW5nXG4gICAqL1xuICBnZXRTdHJpbmcoYXR0cmlidXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyhwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBudW1iZXJcbiAgICovXG4gIGdldE51bWJlcihhdHRyaWJ1dGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIGJvb2xlYW5cbiAgICovXG4gIGdldEJvb2xlYW4oYXR0cmlidXRlOiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhbnlcbiAgICovXG4gIGdldEFueShhdHRyaWJ1dGU6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgKHN0cmluZykgbGlzdFxuICAgKi9cbiAgZ2V0TGlzdChhdHRyaWJ1dGU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG51bWJlciBsaXN0XG4gICAqL1xuICBnZXROdW1iZXJMaXN0KGF0dHJpYnV0ZTogc3RyaW5nKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlckxpc3QocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwXG4gICAqL1xuICBnZXRNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIHN0cmluZ3NcbiAgICovXG4gIGdldFN0cmluZ01hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZ01hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgbnVtYmVyc1xuICAgKi9cbiAgZ2V0TnVtYmVyTWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBib29sZWFuc1xuICAgKi9cbiAgZ2V0Qm9vbGVhbk1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBhbnlcbiAgICovXG4gIGdldEFueU1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBUb2tlbi5hc0FueU1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIF9nZXRWYWx1ZSgpOiBhbnkge1xuICAgIC8vIHVzZXMgYSBMYXp5IHZhbHVlIHRvIGJlIGFibGUgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFRlcnJhZm9ybVN0YWNrIGFuZCBwYXNzIGl0IHRvIHJlZigpXG4gICAgcmV0dXJuIExhenkuYW55VmFsdWUoXG4gICAgICB7XG4gICAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCkge1xuICAgICAgICAgICAgY2FzZSBcIkRZTkFNSUNfQkxPQ0tcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gudmFsdWVcIik7XG4gICAgICAgICAgICBjYXNlIFwiRk9SX0VYUFJFU1NJT05cIjpcbiAgICAgICAgICAgICAgcmV0dXJuIEZPUl9FWFBSRVNTSU9OX1ZBTFVFO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgLy8gc2FtZSBhcyBkeW5hbWljIGJsb2NrLCBhcyB0aGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBpdGVyYXRvciBpcyBwYXNzZWQgdG8gdGhlIHJvb3QgbGV2ZWwgb2YgZS5nLiBhIHJlc291cmNlXG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLnZhbHVlXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IGRpc3BsYXlIaW50OiBcIjxpdGVyYXRvciB2YWx1ZT5cIiB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX2dldEtleSgpOiBhbnkge1xuICAgIC8vIHVzZXMgYSBMYXp5IHZhbHVlIHRvIGJlIGFibGUgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFRlcnJhZm9ybVN0YWNrIGFuZCBwYXNzIGl0IHRvIHJlZigpXG4gICAgcmV0dXJuIExhenkuYW55VmFsdWUoXG4gICAgICB7XG4gICAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCkge1xuICAgICAgICAgICAgY2FzZSBcIkRZTkFNSUNfQkxPQ0tcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gua2V5XCIpO1xuICAgICAgICAgICAgY2FzZSBcIkZPUl9FWFBSRVNTSU9OXCI6XG4gICAgICAgICAgICAgIHJldHVybiBGT1JfRVhQUkVTU0lPTl9LRVk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAvLyBzYW1lIGFzIGR5bmFtaWMgYmxvY2ssIGFzIHRoaXMgaXMgdGhlIGNhc2Ugd2hlbiBhIGl0ZXJhdG9yIGlzIHBhc3NlZCB0byB0aGUgcm9vdCBsZXZlbCBvZiBlLmcuIGEgcmVzb3VyY2VcbiAgICAgICAgICAgICAgcmV0dXJuIHJlZihcImVhY2gua2V5XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IGRpc3BsYXlIaW50OiBcIjxpdGVyYXRvciBrZXk+XCIgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBkeW5hbWljIGV4cHJlc3Npb24gdGhhdCBjYW4gYmUgdXNlZCB0byBsb29wIG92ZXIgdGhpcyBpdGVyYXRvclxuICAgKiBpbiBhIGR5bmFtaWMgYmxvY2suXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBTZWUgaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1pdGVyYXRvcnMtZm9yLWxpc3QtYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIGR5bmFtaWMoYXR0cmlidXRlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBuZXcgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24oe1xuICAgICAgICBpdGVyYXRvcjogdGhpcyxcbiAgICAgICAgY29udGVudDogYXR0cmlidXRlcyxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgbWFwcyB0aGUgaXRlcmF0b3JzIHRvIGl0cyBrZXlzLlxuICAgKiBGb3IgbGlzdHMgdGhlc2Ugd291bGQgYmUgdGhlIGluZGljZXMsIGZvciBtYXBzIHRoZSBrZXlzLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICovXG4gIHB1YmxpYyBrZXlzKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBGT1JfRVhQUkVTU0lPTl9LRVkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgbWFwcyB0aGUgaXRlcmF0b3JzIHRvIGl0cyB2YWx1ZSBpbiBjYXNlIGl0IGlzIGEgbWFwLlxuICAgKiBGb3IgbGlzdHMgdGhlc2Ugd291bGQgc3RheSB0aGUgc2FtZS5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqL1xuICBwdWJsaWMgdmFsdWVzKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBGT1JfRVhQUkVTU0lPTl9WQUxVRSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCBhY2Nlc3NlcyB0aGUga2V5IG9uIGVhY2ggZWxlbWVudCBvZiB0aGUgaXRlcmF0b3IuXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IG9mIHRoZSBpdGVyYXRvcnMgdmFsdWVzIHRvIG1hcCB0b1xuICAgKi9cbiAgcHVibGljIHBsdWNrUHJvcGVydHkocHJvcGVydHk6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKFxuICAgICAgICB0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSxcbiAgICAgICAgcHJvcGVydHlBY2Nlc3MoRk9SX0VYUFJFU1NJT05fVkFMVUUsIFtwcm9wZXJ0eV0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IHJlc3VsdHMgaW4gYSBsaXN0LlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBldmVyeSBwb3NzaWJsZSBmb3IgZXhwcmVzc2lvbiwgYnV0IHJlcXVpcmVzIG1vcmUga25vd2xlZGdlIGFib3V0XG4gICAqIFRlcnJhZm9ybSdzIGZvciBleHByZXNzaW9uIHN5bnRheC5cbiAgICogRm9yIHRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgeW91IGNhbiB1c2Uga2V5cygpLCB2YWx1ZXMoKSwgYW5kIHBsdWNrUHJvcGVydHkoKSBpbnN0ZWFkLlxuICAgKlxuICAgKiBZb3UgbWF5IHdyaXRlIGFueSB2YWxpZCBUZXJyYWZvcm0gZm9yIGVhY2ggZXhwcmVzc2lvbiwgZS5nLlxuICAgKiBgVGVycmFmb3JtSXRlcmF0b3IuZnJvbUxpc3QobXlJdGVyYXRvclNvdXJjZVZhcikuZm9yRXhwcmVzc2lvbkZvckxpc3QoXCJ2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZVwiKWBcbiAgICogd2lsbCByZXN1bHQgaW4gYFsgZm9yIGtleSwgdmFsIGluIHZhci5teUl0ZXJhdG9yU291cmNlOiB2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZSBdYC5cbiAgICpcbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBpbiB0aGUgZm9yIG1hcHBpbmdcbiAgICovXG4gIHB1YmxpYyBmb3JFeHByZXNzaW9uRm9yTGlzdChleHByZXNzaW9uOiBzdHJpbmcgfCBJUmVzb2x2YWJsZSkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24odGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksIGV4cHJlc3Npb24pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgcmVzdWx0cyBpbiBhIG1hcC5cbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIHlvdSB0byBjcmVhdGUgZXZlcnkgcG9zc2libGUgZm9yIGV4cHJlc3Npb24sIGJ1dCByZXF1aXJlcyBtb3JlIGtub3dsZWRnZSBhYm91dFxuICAgKiBUZXJyYWZvcm1zIGZvciBleHByZXNzaW9uIHN5bnRheC5cbiAgICogRm9yIHRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgeW91IGNhbiB1c2Uga2V5cygpLCB2YWx1ZXMoKSwgYW5kIHBsdWNrUHJvcGVydHkgaW5zdGVhZC5cbiAgICpcbiAgICogWW91IG1heSB3cml0ZSBhbnkgdmFsaWQgVGVycmFmb3JtIGZvciBlYWNoIGV4cHJlc3Npb24sIGUuZy5cbiAgICogYFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21NYXAobXlJdGVyYXRvclNvdXJjZVZhcikuZm9yRXhwcmVzc2lvbkZvck1hcChcImtleVwiLCBcInZhbC5mb28gaWYgdmFsLmJhciA9PSB0cnVlXCIpYFxuICAgKiB3aWxsIHJlc3VsdCBpbiBgeyBmb3Iga2V5LCB2YWwgaW4gdmFyLm15SXRlcmF0b3JTb3VyY2U6IGtleSA9PiB2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZSB9YC5cbiAgICpcbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqIEBwYXJhbSBrZXlFeHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBhcyBrZXkgaW4gdGhlIGZvciBtYXBwaW5nXG4gICAqIEBwYXJhbSB2YWx1ZUV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gdG8gdXNlIGFzIHZhbHVlIGluIHRoZSBmb3IgbWFwcGluZ1xuICAgKi9cbiAgcHVibGljIGZvckV4cHJlc3Npb25Gb3JNYXAoXG4gICAga2V5RXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUsXG4gICAgdmFsdWVFeHByZXNzaW9uOiBzdHJpbmcgfCBJUmVzb2x2YWJsZSxcbiAgKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbihcbiAgICAgICAgdGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksXG4gICAgICAgIHZhbHVlRXhwcmVzc2lvbixcbiAgICAgICAga2V5RXhwcmVzc2lvbixcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIExpc3RUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsaXN0OiBMaXN0VHlwZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudGx5IGVudHJ5IGluIHRoZSBsaXN0IG9yIHNldCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqIEZvciBsaXN0cyB0aGlzIGlzIHRoZSBzYW1lIGFzIGBpdGVyYXRvci52YWx1ZWAuIElmIHlvdSBuZWVkIHRoZSBpbmRleCxcbiAgICogdXNlIGNvdW50IHZpYSBgVGVycmFmb3JtQ291bnRgOlxuICAgKiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWNvdW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgLy8gbmVlZHMgdG8gYmUgd3JhcHBlZCBpbiBhIHNldCBhcyBUZXJyYWZvcm0gb25seSBhbGxvd3Mgc2V0cyBpbiBmb3JfZWFjaFxuICAgIHJldHVybiBGbi50b3NldCh0aGlzLmxpc3QpO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgTWFwVGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWFwOiBNYXBUeXBlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICAvLyBleHBsaWNpdCB3cmFwcGluZyB0byBjaXJjdW12ZW50IFwiRm91bmQgYW4gZW5jb2RlZCBtYXAgdG9rZW4gaW4gYSBzY2FsYXIgc3RyaW5nIGNvbnRleHQuXCIgZXJyb3JcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5tYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGtleSBvZiB0aGUgY3VycmVudCBlbnRyeSBpbiB0aGUgbWFwIHRoYXQgaXMgYmVpbmcgaXRlcmF0ZWQgb3Zlci5cbiAgICovXG4gIHB1YmxpYyBnZXQga2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuX2dldEtleSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IElUZXJyYWZvcm1SZXNvdXJjZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAoZWxlbWVudC5jb3VudCkge1xuICAgICAgdGhyb3cgaXRlcmF0b3JPblJlc291cmNlV2l0aENvdW50KCk7XG4gICAgfVxuXG4gICAgaWYgKCFlbGVtZW50LmZvckVhY2gpIHtcbiAgICAgIHRocm93IGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhvdXRGb3JFYWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW50cnkgaW4gdGhlIGxpc3Qgb3Igc2V0IHRoYXQgaXMgYmVpbmcgaXRlcmF0ZWQgb3Zlci5cbiAgICogRm9yIGxpc3RzIHRoaXMgaXMgdGhlIHNhbWUgYXMgYGl0ZXJhdG9yLnZhbHVlYC4gSWYgeW91IG5lZWQgdGhlIGluZGV4LFxuICAgKiB1c2UgY291bnQgdmlhIGBUZXJyYWZvcm1Db3VudGA6XG4gICAqIGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctY291bnRcbiAgICovXG4gIHB1YmxpYyBnZXQga2V5KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldEtleSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3Zlci5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50LmZxbjsgLy8gbm8gd3JhcHBpbmcgbmVjZXNzYXJ5IGZvciByZXNvdXJjZXNcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBNYXBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdDogTGlzdFR5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXBLZXlBdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKGxpc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvbi5cbiAgICogQWx3YXlzIHJldHVybnMgdGhlIG1hcC13cmFwcGVkIGZvcm0gc28gZWFjaC5rZXkgaXMgdGhlIG1hcEtleUF0dHJpYnV0ZU5hbWVcbiAgICogYW5kIGVudHJpZXMgYXJlIHVuaXF1ZWx5IGtleWVkLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIFR1cm4gbGlzdCBpbnRvIGEgbWFwOiB7IGZvciBrLHYgaW4gPGlucHV0PiA6IDxrZXlFeHByZXNzaW9uPiA9PiA8dmFsdWVFeHByZXNzaW9uPiB9XG4gICAgcmV0dXJuIGZvckV4cHJlc3Npb24oXG4gICAgICB0aGlzLmxpc3QsXG4gICAgICBGT1JfRVhQUkVTU0lPTl9WQUxVRSxcbiAgICAgIEZuLmxvb2t1cE5lc3RlZChGT1JfRVhQUkVTU0lPTl9WQUxVRSwgW3RoaXMubWFwS2V5QXR0cmlidXRlTmFtZV0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIGluc2lkZSBhIGZvci1leHByZXNzaW9uIGJvZHkgd2Ugd2FsayB0aGUgcmF3IGxpc3Qgc29cbiAgICogYFsgZm9yIGtleSwgdmFsIGluIDxsaXN0PiA6IC4uLiBdYCBpdGVyYXRlcyBsaXN0IGVsZW1lbnRzIG9uY2UsXG4gICAqIHJhdGhlciB0aGFuIHRoZSBkb3VibHktd3JhcHBlZCBmb3JtIHRoZSBmb3JfZWFjaCBjb252ZXJzaW9uIHByb2R1Y2VzLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5saXN0O1xuICB9XG59XG4iXX0=
402
+ DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.3" };
403
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLHFDQUdrQjtBQUNsQixpRkFBNEU7QUFDNUUsK0RBQTJDO0FBRTNDLGlEQU13QjtBQUN4QixxQ0FBb0Q7QUF3Q3BELCtDQUErQztBQUMvQyxNQUFzQixpQkFBaUI7SUFNckM7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjO1FBQ25DLGdGQUFnRjtRQUNoRix3RkFBd0Y7UUFDeEYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLElBQXFCLEVBQ3JCLG1CQUEyQjtRQUUzQixPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FLOEI7UUFFOUIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUN6QixRQUE0QjtRQUU1QixPQUFPLElBQUkseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFNBQWlC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Q0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxzQ0FBc0M7SUFDakUsQ0FBQzs7QUFuQ0gsOERBb0NDOzs7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBYSw0QkFBNkIsU0FBUSxvQkFBb0I7SUFDcEUsWUFDbUIsSUFBYyxFQUNkLG1CQUEyQjtRQUU1QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFISyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO0lBRzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUJBQXFCO1FBQzFCLHNGQUFzRjtRQUN0RixPQUFPLElBQUEsNEJBQWEsRUFDbEIsSUFBSSxDQUFDLElBQUksRUFDVCxtQ0FBb0IsRUFDcEIsd0JBQUUsQ0FBQyxZQUFZLENBQUMsbUNBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7O0FBN0JILG9FQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQge1xuICBBbnlNYXAsXG4gIEFueU1hcExpc3QsXG4gIEJvb2xlYW5NYXAsXG4gIEJvb2xlYW5NYXBMaXN0LFxuICBDb21wbGV4TGlzdCxcbiAgQ29tcGxleE1hcCxcbiAgTnVtYmVyTWFwLFxuICBOdW1iZXJNYXBMaXN0LFxuICBTdHJpbmdNYXAsXG4gIFN0cmluZ01hcExpc3QsXG59IGZyb20gXCIuL2NvbXBsZXgtY29tcHV0ZWQtbGlzdFwiO1xuaW1wb3J0IHtcbiAgaXRlcmF0b3JPblJlc291cmNlV2l0aENvdW50LFxuICBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCxcbn0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IEZuIH0gZnJvbSBcIi4vdGVycmFmb3JtLWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4vdGVycmFmb3JtLXJlc291cmNlXCI7XG5pbXBvcnQge1xuICBGT1JfRVhQUkVTU0lPTl9LRVksXG4gIEZPUl9FWFBSRVNTSU9OX1ZBTFVFLFxuICBmb3JFeHByZXNzaW9uLFxuICBwcm9wZXJ0eUFjY2VzcyxcbiAgcmVmLFxufSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlLCBMYXp5LCBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuXG4gICAqL1xuICBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueTtcbn1cblxudHlwZSBMaXN0VHlwZSA9XG4gIHwgQXJyYXk8c3RyaW5nPlxuICB8IEFycmF5PG51bWJlcj5cbiAgfCBBcnJheTxib29sZWFuIHwgSVJlc29sdmFibGU+XG4gIHwgSVJlc29sdmFibGU7IC8vIGUuZy4gYXJyYXkgb2YgYm9vbGVhbnNcblxudHlwZSBDb21wbGV4TGlzdFR5cGUgPVxuICB8IENvbXBsZXhMaXN0XG4gIHwgU3RyaW5nTWFwTGlzdFxuICB8IE51bWJlck1hcExpc3RcbiAgfCBCb29sZWFuTWFwTGlzdFxuICB8IEFueU1hcExpc3RcbiAgfCBJUmVzb2x2YWJsZTsgLy8gZS5nLiBhIHJlZmVyZW5jZSB0byBhIGNvbXBsZXggbGlzdCAoZS5nLiB2aWEgYSB2YXJpYWJsZSlcblxudHlwZSBNYXBUeXBlID1cbiAgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gIHwgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICB8IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cbiAgfCBTdHJpbmdNYXBcbiAgfCBOdW1iZXJNYXBcbiAgfCBCb29sZWFuTWFwXG4gIHwgQW55TWFwXG4gIHwgQ29tcGxleE1hcDtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXJyYWZvcm1JdGVyYXRvciBpbXBsZW1lbnRzIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIGFic3RyYWN0IF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuIERlZmF1bHRzIHRvIHRoZSBmb3JfZWFjaCBleHByZXNzaW9uO1xuICAgKiBzdWJjbGFzc2VzIHRoYXQgbmVlZCBhIGRpZmZlcmVudCBzaGFwZSBpbiBmb3ItZXhwcmVzc2lvbiBib2RpZXNcbiAgICogKGUuZy4gRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvcikgY2FuIG92ZXJyaWRlLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBsaXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21MaXN0KGxpc3Q6IExpc3RUeXBlKTogTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICAvLyBUT0RPOiB0aGlzIGNvdWxkIHJldHVybiBkaWZmZXJlbnQgaXRlcmF0b3JzIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0aGUgbGlzdFxuICAgIC8vIGZvciBleGFtcGxlIGl0IGNvdWxkIHJldHVybiBhIE51bWJlckxpc3RJdGVyYXRvciB3aG9zZSBpdGVyYXRvci5rZXkgd291bGQgYmUgYSBudW1iZXJcbiAgICByZXR1cm4gbmV3IExpc3RUZXJyYWZvcm1JdGVyYXRvcihsaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBjb21wbGV4IGxpc3QuIE9uZSBleGFtcGxlIGZvciB0aGlzIHdvdWxkIGJlIGEgbGlzdCBvZiBtYXBzLlxuICAgKiBUaGUgbGlzdCB3aWxsIGJlIGNvbnZlcnRlZCBpbnRvIGEgbWFwIHdpdGggdGhlIG1hcEtleUF0dHJpYnV0ZU5hbWUgYXMgdGhlIGtleS5cbiAgICogQHBhcmFtIGxpc3QgdGhlIGxpc3QgdG8gaXRlcmF0ZSBvdmVyXG4gICAqIEBwYXJhbSBtYXBLZXlBdHRyaWJ1dGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyB0aGUga2V5IGluIHRoZSBtYXBcbiAgICpcbiAgICogVmlzaXQgaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1pdGVyYXRvcnMtb24tY29tcGxleC1saXN0cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgY2VydCA9IG5ldyBBY21DZXJ0aWZpY2F0ZSh0aGlzLCBcImNlcnRcIiwge1xuICAgKiAgICBkb21haW5OYW1lOiBcImV4YW1wbGUuY29tXCIsXG4gICAqICAgIHZhbGlkYXRpb25NZXRob2Q6IFwiRE5TXCIsXG4gICAqICB9KTtcbiAgICpcbiAgICogY29uc3QgZHZvSXRlcmF0b3IgPSBUZXJyYWZvcm1JdGVyYXRvci5mcm9tQ29tcGxleExpc3QoXG4gICAqICAgY2VydC5kb21haW5WYWxpZGF0aW9uT3B0aW9ucyxcbiAgICogICBcImRvbWFpbl9uYW1lXCJcbiAgICogKTtcbiAgICpcbiAgICogbmV3IFJvdXRlNTNSZWNvcmQodGhpcywgXCJyZWNvcmRcIiwge1xuICAgKiAgIGFsbG93T3ZlcndyaXRlOiB0cnVlLFxuICAgKiAgIG5hbWU6IGR2b0l0ZXJhdG9yLmdldFN0cmluZyhcIm5hbWVcIiksXG4gICAqICAgcmVjb3JkczogW2R2b0l0ZXJhdG9yLmdldFN0cmluZyhcInJlY29yZFwiKV0sXG4gICAqICAgdHRsOiA2MCxcbiAgICogICB0eXBlOiBkdm9JdGVyYXRvci5nZXRTdHJpbmcoXCJ0eXBlXCIpLFxuICAgKiAgIHpvbmVJZDogVG9rZW4uYXNTdHJpbmcoZGF0YUF3c1JvdXRlNTNab25lRXhhbXBsZS56b25lSWQpLFxuICAgKiAgIGZvckVhY2g6IGR2b0l0ZXJhdG9yLFxuICAgKiB9KTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbXBsZXhMaXN0KFxuICAgIGxpc3Q6IENvbXBsZXhMaXN0VHlwZSxcbiAgICBtYXBLZXlBdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICk6IER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvcihsaXN0LCBtYXBLZXlBdHRyaWJ1dGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBtYXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbU1hcChcbiAgICBtYXA6XG4gICAgICB8IENvbXBsZXhNYXBcbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0sXG4gICk6IE1hcFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IE1hcFRlcnJhZm9ybUl0ZXJhdG9yKG1hcCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgcmVzb3VyY2UgdGhhdFxuICAgKiBoYXMgYmVlbiBjcmVhdGVkIHdpdGggdGhlIGBmb3JfZWFjaGAgYXJndW1lbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SZXNvdXJjZXMoXG4gICAgcmVzb3VyY2U6IElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgKTogUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yKHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBkYXRhIHNvdXJjZSB0aGF0XG4gICAqIGhhcyBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgYGZvcl9lYWNoYCBhcmd1bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbURhdGFTb3VyY2VzKFxuICAgIHJlc291cmNlOiBJVGVycmFmb3JtUmVzb3VyY2UsXG4gICk6IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvcihyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIHN0cmluZ1xuICAgKi9cbiAgZ2V0U3RyaW5nKGF0dHJpYnV0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbnVtYmVyXG4gICAqL1xuICBnZXROdW1iZXIoYXR0cmlidXRlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBib29sZWFuXG4gICAqL1xuICBnZXRCb29sZWFuKGF0dHJpYnV0ZTogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYW55XG4gICAqL1xuICBnZXRBbnkoYXR0cmlidXRlOiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIChzdHJpbmcpIGxpc3RcbiAgICovXG4gIGdldExpc3QoYXR0cmlidXRlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBudW1iZXIgbGlzdFxuICAgKi9cbiAgZ2V0TnVtYmVyTGlzdChhdHRyaWJ1dGU6IHN0cmluZyk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJMaXN0KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcFxuICAgKi9cbiAgZ2V0TWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBzdHJpbmdzXG4gICAqL1xuICBnZXRTdHJpbmdNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmdNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIG51bWJlcnNcbiAgICovXG4gIGdldE51bWJlck1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlck1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgYm9vbGVhbnNcbiAgICovXG4gIGdldEJvb2xlYW5NYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQm9vbGVhbk1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgYW55XG4gICAqL1xuICBnZXRBbnlNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfZ2V0VmFsdWUoKTogYW55IHtcbiAgICAvLyB1c2VzIGEgTGF6eSB2YWx1ZSB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgY3VycmVudCBUZXJyYWZvcm1TdGFjayBhbmQgcGFzcyBpdCB0byByZWYoKVxuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKFxuICAgICAge1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5pdGVyYXRvckNvbnRleHQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJEWU5BTUlDX0JMT0NLXCI6XG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLnZhbHVlXCIpO1xuICAgICAgICAgICAgY2FzZSBcIkZPUl9FWFBSRVNTSU9OXCI6XG4gICAgICAgICAgICAgIHJldHVybiBGT1JfRVhQUkVTU0lPTl9WQUxVRTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vIHNhbWUgYXMgZHluYW1pYyBibG9jaywgYXMgdGhpcyBpcyB0aGUgY2FzZSB3aGVuIGEgaXRlcmF0b3IgaXMgcGFzc2VkIHRvIHRoZSByb290IGxldmVsIG9mIGUuZy4gYSByZXNvdXJjZVxuICAgICAgICAgICAgICByZXR1cm4gcmVmKFwiZWFjaC52YWx1ZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBkaXNwbGF5SGludDogXCI8aXRlcmF0b3IgdmFsdWU+XCIgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIF9nZXRLZXkoKTogYW55IHtcbiAgICAvLyB1c2VzIGEgTGF6eSB2YWx1ZSB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgY3VycmVudCBUZXJyYWZvcm1TdGFjayBhbmQgcGFzcyBpdCB0byByZWYoKVxuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKFxuICAgICAge1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5pdGVyYXRvckNvbnRleHQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJEWU5BTUlDX0JMT0NLXCI6XG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLmtleVwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJGT1JfRVhQUkVTU0lPTlwiOlxuICAgICAgICAgICAgICByZXR1cm4gRk9SX0VYUFJFU1NJT05fS0VZO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgLy8gc2FtZSBhcyBkeW5hbWljIGJsb2NrLCBhcyB0aGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBpdGVyYXRvciBpcyBwYXNzZWQgdG8gdGhlIHJvb3QgbGV2ZWwgb2YgZS5nLiBhIHJlc291cmNlXG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLmtleVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBkaXNwbGF5SGludDogXCI8aXRlcmF0b3Iga2V5PlwiIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZHluYW1pYyBleHByZXNzaW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vcCBvdmVyIHRoaXMgaXRlcmF0b3JcbiAgICogaW4gYSBkeW5hbWljIGJsb2NrLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogU2VlIGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctaXRlcmF0b3JzLWZvci1saXN0LWF0dHJpYnV0ZXNcbiAgICovXG4gIHB1YmxpYyBkeW5hbWljKGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgbmV3IFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uKHtcbiAgICAgICAgaXRlcmF0b3I6IHRoaXMsXG4gICAgICAgIGNvbnRlbnQ6IGF0dHJpYnV0ZXMsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IG1hcHMgdGhlIGl0ZXJhdG9ycyB0byBpdHMga2V5cy5cbiAgICogRm9yIGxpc3RzIHRoZXNlIHdvdWxkIGJlIHRoZSBpbmRpY2VzLCBmb3IgbWFwcyB0aGUga2V5cy5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqL1xuICBwdWJsaWMga2V5cygpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgRk9SX0VYUFJFU1NJT05fS0VZKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IG1hcHMgdGhlIGl0ZXJhdG9ycyB0byBpdHMgdmFsdWUgaW4gY2FzZSBpdCBpcyBhIG1hcC5cbiAgICogRm9yIGxpc3RzIHRoZXNlIHdvdWxkIHN0YXkgdGhlIHNhbWUuXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKi9cbiAgcHVibGljIHZhbHVlcygpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgRk9SX0VYUFJFU1NJT05fVkFMVUUpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgYWNjZXNzZXMgdGhlIGtleSBvbiBlYWNoIGVsZW1lbnQgb2YgdGhlIGl0ZXJhdG9yLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSBvZiB0aGUgaXRlcmF0b3JzIHZhbHVlcyB0byBtYXAgdG9cbiAgICovXG4gIHB1YmxpYyBwbHVja1Byb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbihcbiAgICAgICAgdGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksXG4gICAgICAgIHByb3BlcnR5QWNjZXNzKEZPUl9FWFBSRVNTSU9OX1ZBTFVFLCBbcHJvcGVydHldKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCByZXN1bHRzIGluIGEgbGlzdC5cbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIHlvdSB0byBjcmVhdGUgZXZlcnkgcG9zc2libGUgZm9yIGV4cHJlc3Npb24sIGJ1dCByZXF1aXJlcyBtb3JlIGtub3dsZWRnZSBhYm91dFxuICAgKiBUZXJyYWZvcm0ncyBmb3IgZXhwcmVzc2lvbiBzeW50YXguXG4gICAqIEZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIHlvdSBjYW4gdXNlIGtleXMoKSwgdmFsdWVzKCksIGFuZCBwbHVja1Byb3BlcnR5KCkgaW5zdGVhZC5cbiAgICpcbiAgICogWW91IG1heSB3cml0ZSBhbnkgdmFsaWQgVGVycmFmb3JtIGZvciBlYWNoIGV4cHJlc3Npb24sIGUuZy5cbiAgICogYFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21MaXN0KG15SXRlcmF0b3JTb3VyY2VWYXIpLmZvckV4cHJlc3Npb25Gb3JMaXN0KFwidmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWVcIilgXG4gICAqIHdpbGwgcmVzdWx0IGluIGBbIGZvciBrZXksIHZhbCBpbiB2YXIubXlJdGVyYXRvclNvdXJjZTogdmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWUgXWAuXG4gICAqXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0gZXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgaW4gdGhlIGZvciBtYXBwaW5nXG4gICAqL1xuICBwdWJsaWMgZm9yRXhwcmVzc2lvbkZvckxpc3QoZXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBleHByZXNzaW9uKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IHJlc3VsdHMgaW4gYSBtYXAuXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gY3JlYXRlIGV2ZXJ5IHBvc3NpYmxlIGZvciBleHByZXNzaW9uLCBidXQgcmVxdWlyZXMgbW9yZSBrbm93bGVkZ2UgYWJvdXRcbiAgICogVGVycmFmb3JtcyBmb3IgZXhwcmVzc2lvbiBzeW50YXguXG4gICAqIEZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIHlvdSBjYW4gdXNlIGtleXMoKSwgdmFsdWVzKCksIGFuZCBwbHVja1Byb3BlcnR5IGluc3RlYWQuXG4gICAqXG4gICAqIFlvdSBtYXkgd3JpdGUgYW55IHZhbGlkIFRlcnJhZm9ybSBmb3IgZWFjaCBleHByZXNzaW9uLCBlLmcuXG4gICAqIGBUZXJyYWZvcm1JdGVyYXRvci5mcm9tTWFwKG15SXRlcmF0b3JTb3VyY2VWYXIpLmZvckV4cHJlc3Npb25Gb3JNYXAoXCJrZXlcIiwgXCJ2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZVwiKWBcbiAgICogd2lsbCByZXN1bHQgaW4gYHsgZm9yIGtleSwgdmFsIGluIHZhci5teUl0ZXJhdG9yU291cmNlOiBrZXkgPT4gdmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWUgfWAuXG4gICAqXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0ga2V5RXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgYXMga2V5IGluIHRoZSBmb3IgbWFwcGluZ1xuICAgKiBAcGFyYW0gdmFsdWVFeHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBhcyB2YWx1ZSBpbiB0aGUgZm9yIG1hcHBpbmdcbiAgICovXG4gIHB1YmxpYyBmb3JFeHByZXNzaW9uRm9yTWFwKFxuICAgIGtleUV4cHJlc3Npb246IHN0cmluZyB8IElSZXNvbHZhYmxlLFxuICAgIHZhbHVlRXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUsXG4gICkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24oXG4gICAgICAgIHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLFxuICAgICAgICB2YWx1ZUV4cHJlc3Npb24sXG4gICAgICAgIGtleUV4cHJlc3Npb24sXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBMaXN0VGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbGlzdDogTGlzdFR5cGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnRseSBlbnRyeSBpbiB0aGUgbGlzdCBvciBzZXQgdGhhdCBpcyBiZWluZyBpdGVyYXRlZCBvdmVyLlxuICAgKiBGb3IgbGlzdHMgdGhpcyBpcyB0aGUgc2FtZSBhcyBgaXRlcmF0b3IudmFsdWVgLiBJZiB5b3UgbmVlZCB0aGUgaW5kZXgsXG4gICAqIHVzZSBjb3VudCB2aWEgYFRlcnJhZm9ybUNvdW50YDpcbiAgICogaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1jb3VudFxuICAgKi9cbiAgcHVibGljIGdldCBrZXkoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0S2V5KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIG5lZWRzIHRvIGJlIHdyYXBwZWQgaW4gYSBzZXQgYXMgVGVycmFmb3JtIG9ubHkgYWxsb3dzIHNldHMgaW4gZm9yX2VhY2hcbiAgICByZXR1cm4gRm4udG9zZXQodGhpcy5saXN0KTtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIE1hcFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1hcDogTWFwVHlwZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgLy8gZXhwbGljaXQgd3JhcHBpbmcgdG8gY2lyY3VtdmVudCBcIkZvdW5kIGFuIGVuY29kZWQgbWFwIHRva2VuIGluIGEgc2NhbGFyIHN0cmluZyBjb250ZXh0LlwiIGVycm9yXG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMubWFwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIGN1cnJlbnQgZW50cnkgaW4gdGhlIG1hcCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLl9nZXRLZXkoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSgpO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBJVGVycmFmb3JtUmVzb3VyY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGVsZW1lbnQuY291bnQpIHtcbiAgICAgIHRocm93IGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhDb3VudCgpO1xuICAgIH1cblxuICAgIGlmICghZWxlbWVudC5mb3JFYWNoKSB7XG4gICAgICB0aHJvdyBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVudHJ5IGluIHRoZSBsaXN0IG9yIHNldCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqIEZvciBsaXN0cyB0aGlzIGlzIHRoZSBzYW1lIGFzIGBpdGVyYXRvci52YWx1ZWAuIElmIHlvdSBuZWVkIHRoZSBpbmRleCxcbiAgICogdXNlIGNvdW50IHZpYSBgVGVycmFmb3JtQ291bnRgOlxuICAgKiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWNvdW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5mcW47IC8vIG5vIHdyYXBwaW5nIG5lY2Vzc2FyeSBmb3IgcmVzb3VyY2VzXG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgTWFwVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3Q6IExpc3RUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFwS2V5QXR0cmlidXRlTmFtZTogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihsaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb24uXG4gICAqIEFsd2F5cyByZXR1cm5zIHRoZSBtYXAtd3JhcHBlZCBmb3JtIHNvIGVhY2gua2V5IGlzIHRoZSBtYXBLZXlBdHRyaWJ1dGVOYW1lXG4gICAqIGFuZCBlbnRyaWVzIGFyZSB1bmlxdWVseSBrZXllZC5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICAvLyBUdXJuIGxpc3QgaW50byBhIG1hcDogeyBmb3Igayx2IGluIDxpbnB1dD4gOiA8a2V5RXhwcmVzc2lvbj4gPT4gPHZhbHVlRXhwcmVzc2lvbj4gfVxuICAgIHJldHVybiBmb3JFeHByZXNzaW9uKFxuICAgICAgdGhpcy5saXN0LFxuICAgICAgRk9SX0VYUFJFU1NJT05fVkFMVUUsXG4gICAgICBGbi5sb29rdXBOZXN0ZWQoRk9SX0VYUFJFU1NJT05fVkFMVUUsIFt0aGlzLm1hcEtleUF0dHJpYnV0ZU5hbWVdKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnNpZGUgYSBmb3ItZXhwcmVzc2lvbiBib2R5IHdlIHdhbGsgdGhlIHJhdyBsaXN0IHNvXG4gICAqIGBbIGZvciBrZXksIHZhbCBpbiA8bGlzdD4gOiAuLi4gXWAgaXRlcmF0ZXMgbGlzdCBlbGVtZW50cyBvbmNlLFxuICAgKiByYXRoZXIgdGhhbiB0aGUgZG91Ymx5LXdyYXBwZWQgZm9ybSB0aGUgZm9yX2VhY2ggY29udmVyc2lvbiBwcm9kdWNlcy5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdDtcbiAgfVxufVxuIl19
@@ -82,5 +82,5 @@ class TerraformLocal extends terraform_element_1.TerraformElement {
82
82
  }
83
83
  exports.TerraformLocal = TerraformLocal;
84
84
  _a = JSII_RTTI_SYMBOL_1;
85
- TerraformLocal[_a] = { fqn: "cdktn.TerraformLocal", version: "0.23.1" };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLWxvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQXVEO0FBQ3ZELHFDQUFpQztBQUNqQyxpREFBcUM7QUFJckMsK0NBQStDO0FBQy9DLE1BQWEsY0FDWCxTQUFRLG9DQUFnQjtJQUt4QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFVBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLGNBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sY0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sY0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sY0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sY0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sSUFBQSxrQkFBRyxFQUFDLFNBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXO29CQUN2QixPQUFPLEVBQUUsS0FBSztvQkFDZCxJQUFJLEVBQUUsS0FBSztpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVzthQUMxQztTQUNGLENBQUM7SUFDSixDQUFDO0lBQ00sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDdEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOztBQTVGSCx3Q0E2RkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtTG9jYWxcbiAgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50XG4gIGltcGxlbWVudHMgSVRlcnJhZm9ybUFkZHJlc3NhYmxlXG57XG4gIHByaXZhdGUgX2V4cHJlc3Npb246IGFueTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBleHByZXNzaW9uOiBhbnkpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIFwibG9jYWxcIik7XG5cbiAgICB0aGlzLl9leHByZXNzaW9uID0gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZXhwcmVzc2lvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fZXhwcmVzc2lvbiA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBleHByZXNzaW9uKCkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueSh0aGlzLmludGVycG9sYXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFzU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc0xpc3QoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBUb2tlbi5hc0xpc3QodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc1N0cmluZ01hcCgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmdNYXAodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc051bWJlck1hcCgpOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJNYXAodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc0Jvb2xlYW5NYXAoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc0Jvb2xlYW5NYXAodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc0FueU1hcCgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc0Jvb2xlYW4oKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgaW50ZXJwb2xhdGlvbigpOiBhbnkge1xuICAgIHJldHVybiByZWYoYGxvY2FsLiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfWAsIHRoaXMuY2RrdGZTdGFjayk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxzOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuX2V4cHJlc3Npb24sXG4gICAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgICAgdHlwZTogXCJhbnlcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBsb2NhbHM6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IHRoaXMuX2V4cHJlc3Npb24sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIGxvY2FsOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYSBzdHJpbmcgdG9rZW4gcmVmZXJlbmNpbmcgdGhlIHZhbHVlIG9mIHRoaXMgbG9jYWxcbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXNTdHJpbmc7XG4gIH1cbn1cbiJdfQ==
85
+ TerraformLocal[_a] = { fqn: "cdktn.TerraformLocal", version: "0.23.3" };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDJEQUF1RDtBQUN2RCxxQ0FBaUM7QUFDakMsaURBQXFDO0FBSXJDLCtDQUErQztBQUMvQyxNQUFhLGNBQ1gsU0FBUSxvQ0FBZ0I7SUFLeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxVQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLGNBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUEsa0JBQUcsRUFBQyxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDdkIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDMUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3RDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7QUE1Rkgsd0NBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyByZWYgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlIH0gZnJvbSBcIi4vdG9rZW5zL3Jlc29sdmFibGVcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUxvY2FsXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1BZGRyZXNzYWJsZVxue1xuICBwcml2YXRlIF9leHByZXNzaW9uOiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZXhwcmVzc2lvbjogYW55KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcImxvY2FsXCIpO1xuXG4gICAgdGhpcy5fZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBwdWJsaWMgc2V0IGV4cHJlc3Npb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2V4cHJlc3Npb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFzTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNTdHJpbmdNYXAoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNOdW1iZXJNYXAoKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuTWFwKCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNBbnlNYXAoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGludGVycG9sYXRpb24oKTogYW55IHtcbiAgICByZXR1cm4gcmVmKGBsb2NhbC4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLCB0aGlzLmNka3RmU3RhY2spO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2Fsczoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxzOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBsb2NhbDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHRva2VuIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIGxvY2FsXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFzU3RyaW5nO1xuICB9XG59XG4iXX0=
@@ -114,4 +114,4 @@ function copySync(from, to) {
114
114
  fs.copyFileSync(from, to);
115
115
  }
116
116
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS1hc3NldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1tb2R1bGUtYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBMEdILG9EQW1CQztBQTNIRCwyQ0FBdUM7QUFDdkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsdURBQW1EO0FBQ25ELHVEQUE4RDtBQUM5RCxxQ0FBd0M7QUFFeEMsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFFL0U7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7SUFHakQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGVBQWUsR0FDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNsRCxNQUFNLHFCQUFxQixHQUF1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FDdkUsNEJBQTRCLENBQzdCLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYix3aEJBQXdoQixDQUN6aEIsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbkQsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3BELENBQUM7UUFFRixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFL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S0FBSyxHQUFHLEVBQzFCLENBQUM7UUFDRCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsT0FBTyxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUNsRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsUUFBUSxDQUFDLElBQVksRUFBRSxFQUFVO0lBQ3hDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7U0FBTSxDQUFDO1FBQ04sRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmltcG9ydCB7IEFzc2V0VHlwZSwgVGVycmFmb3JtQXNzZXQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tYXNzZXRcIjtcbmltcG9ydCB7IGhhc2hQYXRoIH0gZnJvbSBcIi4vcHJpdmF0ZS9mc1wiO1xuXG5jb25zdCBURVJSQUZPUk1fTU9EVUxFX0FTU0VUX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi5UZXJyYWZvcm1Nb2R1bGVBc3NldFwiKTtcblxuLyoqXG4gKiBUaGlzIENvbnN0cnVjdCBpcyBiZWluZyBjcmVhdGVkIGFzIGEgc2luZ2xldG9uIHdoZW5ldmVyIHRoZSBmaXJzdFxuICogVGVycmFmb3JtTW9kdWxlIHdpdGggYSBsb2NhbCBzb3VyY2UgaXMgY3JlYXRlZCBpbiBhIHN0YWNrLlxuICpcbiAqIFdoZW4gVGVycmFmb3JtIG1vZHVsZXMgZGVwZW5kIG9uIGxvY2FsIG1vZHVsZXMsIHRoZSBsb2NhbCBtb2R1bGVzXG4gKiB0aGV5IGRlcGVuZCBvbiBuZWVkIHRvIGhhdmUgdGhlIGNvcnJlY3QgcmVsYXRpdmUgcGF0aCB0byB0aGUgbW9kdWxlXG4gKiBpbiB0aGUgYXNzZXQuIFRoaXMgb25seSB3b3JrcyBpZiBhbGwgbW9kdWxlcyBhcmUgaW4gb25lIGFzc2V0LlxuICpcbiAqIChXZSBjb3VsZCB0aGVvcmV0aWNhbGx5IGRldGVjdCBpZiBhIG1vZHVsZSB1c2VzIHJlbGF0aXZlIHBhdGggcmVmZXJlbmNlcywgYnV0IHRoaXMgaXMgZWFzaWVyKVxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1Nb2R1bGVBc3NldCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVsYXRpdmVBc3NldFBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhc3NldDogVGVycmFmb3JtQXNzZXQ7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcmVsYXRpdmVNb2R1bGVzOiBBcnJheTxzdHJpbmcgfCB7IHNvdXJjZTogc3RyaW5nIH0+IHwgdW5kZWZpbmVkID1cbiAgICAgIHRoaXMubm9kZS50cnlHZXRDb250ZXh0KFwiY2RrdGZSZWxhdGl2ZU1vZHVsZXNcIik7XG4gICAgY29uc3Qgc3RhdGljTW9kdWxlQXNzZXRIYXNoOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLm5vZGUudHJ5R2V0Q29udGV4dChcbiAgICAgIFwiY2RrdGZTdGF0aWNNb2R1bGVBc3NldEhhc2hcIixcbiAgICApO1xuXG4gICAgaWYgKCFyZWxhdGl2ZU1vZHVsZXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJZb3UgYXJlIHRyeWluZyB0byB1c2UgYSBsb2NhbCBtb2R1bGUgd2l0aCBhIHJlbGF0aXZlIHBhdGgsIGJ1dCB0aGUgY2RrdGZSZWxhdGl2ZU1vZHVsZXMgY29udGV4dCBpcyBub3Qgc2V0LiBJdCBpcyBleHBlY3RlZCB0byBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSByZWxhdGl2ZSBtb2R1bGVzIHlvdXIgYXBwIGlzIHVzaW5nLiBZb3UgZWl0aGVyIG5lZWQgdG8gc3VwcGx5IGl0IGluIHRoZSBBcHBzIGNvbnN0cnVjdG9yIHZpYSB0aGUgY29udGV4dCBvcHRpb24gb3IgaW52b2tlIHRoZSBzeW50aGVzaXMgdGhyb3VnaCB0aGUgQ0xJLiBXZSBuZWVkIHRoaXMgaW5mb3JtYXRpb24gc28gdGhhdCBhc3NldHMgd2l0aCByZWxhdGl2ZSBwYXRocyBhcmUgcHJvcGVybHkgaGFuZGxlZCB3aGVuIHVzZWQgd2l0aCBhc3NldHMsIHNvIHlvdSBjYW4gYWxzbyBzZXQgdGhlIHNraXBBc3NldENyZWF0aW9uRnJvbUxvY2FsTW9kdWxlcyB0byB0cnVlIG9uIHlvdXIgcmVsYXRpdmUgbW9kdWxlcy5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kdWxlU291cmNlcyA9IHJlbGF0aXZlTW9kdWxlcy5tYXAoKG1vZHVsZSkgPT5cbiAgICAgIHR5cGVvZiBtb2R1bGUgPT09IFwic3RyaW5nXCIgPyBtb2R1bGUgOiBtb2R1bGUuc291cmNlLFxuICAgICk7XG5cbiAgICBjb25zdCByZWxhdGl2ZUFzc2V0UGF0aCA9IGZpbmRMb3dlc3RDb21tb25QYXRoKG1vZHVsZVNvdXJjZXMpO1xuICAgIGlmICghcmVsYXRpdmVBc3NldFBhdGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDb3VsZCBub3QgZmluZCBsb3dlc3QgY29tbW9uIHBhdGggZm9yIHJlbGF0aXZlIG1vZHVsZXMuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIHlvdSBtaWdodCBiZSBvdmVyd3JpdGluZyB0aGUgY2RrdGZSZWxhdGl2ZU1vZHVsZXMgdmFsdWUgb2YgdGhlIGNvbnRleHQgd2l0aCBzb21ldGhpbmcgdW5leHBlY3RlZC4gV2UgZXhwZWN0IGFuIGFycmF5IG9mIHN0cmluZyBvciBvYmplY3RzIHdpdGggYSBzb3VyY2UgYXR0cmlidXRlIHdoZXJlIHRoZSBzdHJpbmcgb3IgdGhlIHNvdXJjZSBhdHRyaWJ1dGUgcmVmZXJlbmNlIGEgcmVsYXRpdmUgcGF0aCB0byBhIG1vZHVsZS4gVGhlIGNvbnRleHQgY2FuIGJlIHNldCBpbiB0aGUgY29udGV4dCBvcHRpb24gb2YgdGhlIEFwcCBDb25zdHJ1Y3RvciBPcHRpb25zLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5yZWxhdGl2ZUFzc2V0UGF0aCA9IHJlbGF0aXZlQXNzZXRQYXRoO1xuXG4gICAgLy8gQ3JlYXRlIGEgdG1wIGRpciBmb3IgdGhlIGFzc2V0XG4gICAgY29uc3QgdG1wRGlyID0gZnMubWtkdGVtcFN5bmMoXG4gICAgICBwYXRoLmpvaW4ob3MudG1wZGlyKCksIFwiY2RrdGYtbW9kdWxlLWFzc2V0LVwiKSxcbiAgICApO1xuXG4gICAgLy8gQ29weSBhbGwgbW9kdWxlcyBpbnRvIHRoZSB0bXAgZGlyXG4gICAgZm9yIChjb25zdCBtb2R1bGUgb2YgbW9kdWxlU291cmNlcykge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gcGF0aC5qb2luKHRtcERpciwgdGhpcy5yZWxhdGl2ZU1vZHVsZVBhdGgobW9kdWxlKSk7XG4gICAgICBjb3B5U3luYyhtb2R1bGUsIHRhcmdldCk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGFzc2V0IGJhc2VkIG9uIHRtcCBkaXJcbiAgICB0aGlzLmFzc2V0ID0gbmV3IFRlcnJhZm9ybUFzc2V0KHRoaXMsIFwiYXNzZXRcIiwge1xuICAgICAgcGF0aDogdG1wRGlyLFxuICAgICAgdHlwZTogQXNzZXRUeXBlLkRJUkVDVE9SWSxcbiAgICAgIGFzc2V0SGFzaDogc3RhdGljTW9kdWxlQXNzZXRIYXNoID8/IGhhc2hQYXRoKHJlbGF0aXZlQXNzZXRQYXRoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb2YoY29uc3RydWN0OiBDb25zdHJ1Y3QpOiBUZXJyYWZvcm1Nb2R1bGVBc3NldCB7XG4gICAgY29uc3Qgc3RhY2sgPSBUZXJyYWZvcm1TdGFjay5vZihjb25zdHJ1Y3QpO1xuXG4gICAgbGV0IGFzc2V0ID0gKHN0YWNrIGFzIGFueSlbVEVSUkFGT1JNX01PRFVMRV9BU1NFVF9TWU1CT0xdO1xuICAgIGlmICghYXNzZXQpIHtcbiAgICAgIGFzc2V0ID0gbmV3IFRlcnJhZm9ybU1vZHVsZUFzc2V0KHN0YWNrLCBcIl9fY2RrdGZfbW9kdWxlX2Fzc2V0XCIpO1xuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RhY2ssIFRFUlJBRk9STV9NT0RVTEVfQVNTRVRfU1lNQk9MLCB7XG4gICAgICAgIHZhbHVlOiBhc3NldCxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGFzc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBzb3VyY2UgaXMgcmVsYXRpdmUgdG8gY3dkLCBidXQgd2Ugd2FudCB0aGUgdmFsdWUgcmVsYXRpdmVcbiAgICogdG8gdGhlIGFzc2V0cyB0YXJnZXQsIHNvIHRoZSBjb21tb24gcGF0aCBwcmVmaXhcbiAgICovXG4gIHByaXZhdGUgcmVsYXRpdmVNb2R1bGVQYXRoKHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUoc291cmNlKTtcbiAgICBjb25zdCBhYnNvbHV0ZUFzc2V0UGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnJlbGF0aXZlQXNzZXRQYXRoKTtcbiAgICByZXR1cm4gcGF0aC5yZWxhdGl2ZShhYnNvbHV0ZUFzc2V0UGF0aCwgYWJzb2x1dGVTb3VyY2VQYXRoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBc3NldFBhdGhGb3JNb2R1bGUoc291cmNlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgLi8ke3BhdGguam9pbih0aGlzLmFzc2V0LnBhdGgsIHRoaXMucmVsYXRpdmVNb2R1bGVQYXRoKHNvdXJjZSkpfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgbG93ZXN0IGNvbW1vbiBwYXRoIG9mIGFsbCByZWxhdGljdmUgcGF0aHMgaW4gdGhlIGdpdmVuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTG93ZXN0Q29tbW9uUGF0aChwYXRoczogc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAocGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIFdlIGZpcnN0IG5lZWQgdG8gbWFrZSB0aGUgcGF0aHMgYWJzb2x1dGUgc28gdGhhdCB3ZSBjYW4gY29tcGFyZSB0aGVtXG4gIGNvbnN0IGFic29sdXRlUGF0aHMgPSBwYXRocy5tYXAoKHApID0+IHBhdGgucmVzb2x2ZShwKSk7XG5cbiAgLy8gV2UgdGFrZSB0aGUgZmlyc3QgcGF0aCBhcyB0aGUgYmFzZSBhbmQgdGhlbiByZW1vdmUgcGFydHMgZnJvbSB0aGUgZW5kIHVudGlsIHdlIGZpbmQgdGhlIGxvd2VzdCBjb21tb24gcGF0aFxuICBsZXQgYWJzb2x1dGVQYXRoUHJlZml4ID0gYWJzb2x1dGVQYXRoc1swXTtcbiAgd2hpbGUgKFxuICAgICFhYnNvbHV0ZVBhdGhzLmV2ZXJ5KChwKSA9PiBwLnN0YXJ0c1dpdGgoYWJzb2x1dGVQYXRoUHJlZml4KSkgJiZcbiAgICBhYnNvbHV0ZVBhdGhQcmVmaXggIT09IFwiL1wiXG4gICkge1xuICAgIGFic29sdXRlUGF0aFByZWZpeCA9IHBhdGguZGlybmFtZShhYnNvbHV0ZVBhdGhQcmVmaXgpO1xuICB9XG5cbiAgY29uc3QgcmVsYXRpdmVQYXRoID0gcGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBhYnNvbHV0ZVBhdGhQcmVmaXgpO1xuICByZXR1cm4gcmVsYXRpdmVQYXRoID09PSBcIlwiID8gXCIuXCIgOiByZWxhdGl2ZVBhdGg7XG59XG5cbi8qKlxuICogQ29waWVzIGEgZmlsZSBvciBkaXJlY3RvcnkgcmVjdXJzaXZlbHlcbiAqIEBwYXJhbSBmcm9tXG4gKiBAcGFyYW0gdG9cbiAqL1xuZnVuY3Rpb24gY29weVN5bmMoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKSB7XG4gIGlmIChmcy5sc3RhdFN5bmMoZnJvbSkuaXNEaXJlY3RvcnkoKSkge1xuICAgIGZzLm1rZGlyU3luYyh0bywgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZzLnJlYWRkaXJTeW5jKGZyb20pKSB7XG4gICAgICBjb3B5U3luYyhwYXRoLmpvaW4oZnJvbSwgZmlsZSksIHBhdGguam9pbih0bywgZmlsZSkpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBmcy5jb3B5RmlsZVN5bmMoZnJvbSwgdG8pO1xuICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS1hc3NldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tbW9kdWxlLWFzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQTBHSCxvREFtQkM7QUEzSEQsMkNBQXVDO0FBQ3ZDLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLHVEQUFtRDtBQUNuRCx1REFBOEQ7QUFDOUQscUNBQXdDO0FBRXhDLE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBRS9FOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLHNCQUFTO0lBR2pELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxlQUFlLEdBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbEQsTUFBTSxxQkFBcUIsR0FBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQ3ZFLDRCQUE0QixDQUM3QixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQ2Isd2hCQUF3aEIsQ0FDemhCLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25ELE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNwRCxDQUFDO1FBRUYsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixNQUFNLElB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a0JBQWtCLEtBQUssR0FBRyxFQUMxQixDQUFDO1FBQ0Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7QUFDbEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFFBQVEsQ0FBQyxJQUFZLEVBQUUsRUFBVTtJQUN4QyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUNyQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQgeyBBc3NldFR5cGUsIFRlcnJhZm9ybUFzc2V0IH0gZnJvbSBcIi4vdGVycmFmb3JtLWFzc2V0XCI7XG5pbXBvcnQgeyBoYXNoUGF0aCB9IGZyb20gXCIuL3ByaXZhdGUvZnNcIjtcblxuY29uc3QgVEVSUkFGT1JNX01PRFVMRV9BU1NFVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYuVGVycmFmb3JtTW9kdWxlQXNzZXRcIik7XG5cbi8qKlxuICogVGhpcyBDb25zdHJ1Y3QgaXMgYmVpbmcgY3JlYXRlZCBhcyBhIHNpbmdsZXRvbiB3aGVuZXZlciB0aGUgZmlyc3RcbiAqIFRlcnJhZm9ybU1vZHVsZSB3aXRoIGEgbG9jYWwgc291cmNlIGlzIGNyZWF0ZWQgaW4gYSBzdGFjay5cbiAqXG4gKiBXaGVuIFRlcnJhZm9ybSBtb2R1bGVzIGRlcGVuZCBvbiBsb2NhbCBtb2R1bGVzLCB0aGUgbG9jYWwgbW9kdWxlc1xuICogdGhleSBkZXBlbmQgb24gbmVlZCB0byBoYXZlIHRoZSBjb3JyZWN0IHJlbGF0aXZlIHBhdGggdG8gdGhlIG1vZHVsZVxuICogaW4gdGhlIGFzc2V0LiBUaGlzIG9ubHkgd29ya3MgaWYgYWxsIG1vZHVsZXMgYXJlIGluIG9uZSBhc3NldC5cbiAqXG4gKiAoV2UgY291bGQgdGhlb3JldGljYWxseSBkZXRlY3QgaWYgYSBtb2R1bGUgdXNlcyByZWxhdGl2ZSBwYXRoIHJlZmVyZW5jZXMsIGJ1dCB0aGlzIGlzIGVhc2llcilcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtTW9kdWxlQXNzZXQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbGF0aXZlQXNzZXRQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzZXQ6IFRlcnJhZm9ybUFzc2V0O1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHJlbGF0aXZlTW9kdWxlczogQXJyYXk8c3RyaW5nIHwgeyBzb3VyY2U6IHN0cmluZyB9PiB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLm5vZGUudHJ5R2V0Q29udGV4dChcImNka3RmUmVsYXRpdmVNb2R1bGVzXCIpO1xuICAgIGNvbnN0IHN0YXRpY01vZHVsZUFzc2V0SGFzaDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoXG4gICAgICBcImNka3RmU3RhdGljTW9kdWxlQXNzZXRIYXNoXCIsXG4gICAgKTtcblxuICAgIGlmICghcmVsYXRpdmVNb2R1bGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiWW91IGFyZSB0cnlpbmcgdG8gdXNlIGEgbG9jYWwgbW9kdWxlIHdpdGggYSByZWxhdGl2ZSBwYXRoLCBidXQgdGhlIGNka3RmUmVsYXRpdmVNb2R1bGVzIGNvbnRleHQgaXMgbm90IHNldC4gSXQgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncyBjb250YWluaW5nIHRoZSByZWxhdGl2ZSBwYXRocyB0byB0aGUgcmVsYXRpdmUgbW9kdWxlcyB5b3VyIGFwcCBpcyB1c2luZy4gWW91IGVpdGhlciBuZWVkIHRvIHN1cHBseSBpdCBpbiB0aGUgQXBwcyBjb25zdHJ1Y3RvciB2aWEgdGhlIGNvbnRleHQgb3B0aW9uIG9yIGludm9rZSB0aGUgc3ludGhlc2lzIHRocm91Z2ggdGhlIENMSS4gV2UgbmVlZCB0aGlzIGluZm9ybWF0aW9uIHNvIHRoYXQgYXNzZXRzIHdpdGggcmVsYXRpdmUgcGF0aHMgYXJlIHByb3Blcmx5IGhhbmRsZWQgd2hlbiB1c2VkIHdpdGggYXNzZXRzLCBzbyB5b3UgY2FuIGFsc28gc2V0IHRoZSBza2lwQXNzZXRDcmVhdGlvbkZyb21Mb2NhbE1vZHVsZXMgdG8gdHJ1ZSBvbiB5b3VyIHJlbGF0aXZlIG1vZHVsZXMuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZHVsZVNvdXJjZXMgPSByZWxhdGl2ZU1vZHVsZXMubWFwKChtb2R1bGUpID0+XG4gICAgICB0eXBlb2YgbW9kdWxlID09PSBcInN0cmluZ1wiID8gbW9kdWxlIDogbW9kdWxlLnNvdXJjZSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVsYXRpdmVBc3NldFBhdGggPSBmaW5kTG93ZXN0Q29tbW9uUGF0aChtb2R1bGVTb3VyY2VzKTtcbiAgICBpZiAoIXJlbGF0aXZlQXNzZXRQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ291bGQgbm90IGZpbmQgbG93ZXN0IGNvbW1vbiBwYXRoIGZvciByZWxhdGl2ZSBtb2R1bGVzLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCB5b3UgbWlnaHQgYmUgb3ZlcndyaXRpbmcgdGhlIGNka3RmUmVsYXRpdmVNb2R1bGVzIHZhbHVlIG9mIHRoZSBjb250ZXh0IHdpdGggc29tZXRoaW5nIHVuZXhwZWN0ZWQuIFdlIGV4cGVjdCBhbiBhcnJheSBvZiBzdHJpbmcgb3Igb2JqZWN0cyB3aXRoIGEgc291cmNlIGF0dHJpYnV0ZSB3aGVyZSB0aGUgc3RyaW5nIG9yIHRoZSBzb3VyY2UgYXR0cmlidXRlIHJlZmVyZW5jZSBhIHJlbGF0aXZlIHBhdGggdG8gYSBtb2R1bGUuIFRoZSBjb250ZXh0IGNhbiBiZSBzZXQgaW4gdGhlIGNvbnRleHQgb3B0aW9uIG9mIHRoZSBBcHAgQ29uc3RydWN0b3IgT3B0aW9ucy5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMucmVsYXRpdmVBc3NldFBhdGggPSByZWxhdGl2ZUFzc2V0UGF0aDtcblxuICAgIC8vIENyZWF0ZSBhIHRtcCBkaXIgZm9yIHRoZSBhc3NldFxuICAgIGNvbnN0IHRtcERpciA9IGZzLm1rZHRlbXBTeW5jKFxuICAgICAgcGF0aC5qb2luKG9zLnRtcGRpcigpLCBcImNka3RmLW1vZHVsZS1hc3NldC1cIiksXG4gICAgKTtcblxuICAgIC8vIENvcHkgYWxsIG1vZHVsZXMgaW50byB0aGUgdG1wIGRpclxuICAgIGZvciAoY29uc3QgbW9kdWxlIG9mIG1vZHVsZVNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHBhdGguam9pbih0bXBEaXIsIHRoaXMucmVsYXRpdmVNb2R1bGVQYXRoKG1vZHVsZSkpO1xuICAgICAgY29weVN5bmMobW9kdWxlLCB0YXJnZXQpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhc3NldCBiYXNlZCBvbiB0bXAgZGlyXG4gICAgdGhpcy5hc3NldCA9IG5ldyBUZXJyYWZvcm1Bc3NldCh0aGlzLCBcImFzc2V0XCIsIHtcbiAgICAgIHBhdGg6IHRtcERpcixcbiAgICAgIHR5cGU6IEFzc2V0VHlwZS5ESVJFQ1RPUlksXG4gICAgICBhc3NldEhhc2g6IHN0YXRpY01vZHVsZUFzc2V0SGFzaCA/PyBoYXNoUGF0aChyZWxhdGl2ZUFzc2V0UGF0aCksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG9mKGNvbnN0cnVjdDogQ29uc3RydWN0KTogVGVycmFmb3JtTW9kdWxlQXNzZXQge1xuICAgIGNvbnN0IHN0YWNrID0gVGVycmFmb3JtU3RhY2sub2YoY29uc3RydWN0KTtcblxuICAgIGxldCBhc3NldCA9IChzdGFjayBhcyBhbnkpW1RFUlJBRk9STV9NT0RVTEVfQVNTRVRfU1lNQk9MXTtcbiAgICBpZiAoIWFzc2V0KSB7XG4gICAgICBhc3NldCA9IG5ldyBUZXJyYWZvcm1Nb2R1bGVBc3NldChzdGFjaywgXCJfX2Nka3RmX21vZHVsZV9hc3NldFwiKTtcblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0YWNrLCBURVJSQUZPUk1fTU9EVUxFX0FTU0VUX1NZTUJPTCwge1xuICAgICAgICB2YWx1ZTogYXNzZXQsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBhc3NldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgc291cmNlIGlzIHJlbGF0aXZlIHRvIGN3ZCwgYnV0IHdlIHdhbnQgdGhlIHZhbHVlIHJlbGF0aXZlXG4gICAqIHRvIHRoZSBhc3NldHMgdGFyZ2V0LCBzbyB0aGUgY29tbW9uIHBhdGggcHJlZml4XG4gICAqL1xuICBwcml2YXRlIHJlbGF0aXZlTW9kdWxlUGF0aChzb3VyY2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYWJzb2x1dGVTb3VyY2VQYXRoID0gcGF0aC5yZXNvbHZlKHNvdXJjZSk7XG4gICAgY29uc3QgYWJzb2x1dGVBc3NldFBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5yZWxhdGl2ZUFzc2V0UGF0aCk7XG4gICAgcmV0dXJuIHBhdGgucmVsYXRpdmUoYWJzb2x1dGVBc3NldFBhdGgsIGFic29sdXRlU291cmNlUGF0aCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXNzZXRQYXRoRm9yTW9kdWxlKHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC4vJHtwYXRoLmpvaW4odGhpcy5hc3NldC5wYXRoLCB0aGlzLnJlbGF0aXZlTW9kdWxlUGF0aChzb3VyY2UpKX1gO1xuICB9XG59XG5cbi8qKlxuICogRmluZHMgdGhlIGxvd2VzdCBjb21tb24gcGF0aCBvZiBhbGwgcmVsYXRpY3ZlIHBhdGhzIGluIHRoZSBnaXZlbiBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZExvd2VzdENvbW1vblBhdGgocGF0aHM6IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBXZSBmaXJzdCBuZWVkIHRvIG1ha2UgdGhlIHBhdGhzIGFic29sdXRlIHNvIHRoYXQgd2UgY2FuIGNvbXBhcmUgdGhlbVxuICBjb25zdCBhYnNvbHV0ZVBhdGhzID0gcGF0aHMubWFwKChwKSA9PiBwYXRoLnJlc29sdmUocCkpO1xuXG4gIC8vIFdlIHRha2UgdGhlIGZpcnN0IHBhdGggYXMgdGhlIGJhc2UgYW5kIHRoZW4gcmVtb3ZlIHBhcnRzIGZyb20gdGhlIGVuZCB1bnRpbCB3ZSBmaW5kIHRoZSBsb3dlc3QgY29tbW9uIHBhdGhcbiAgbGV0IGFic29sdXRlUGF0aFByZWZpeCA9IGFic29sdXRlUGF0aHNbMF07XG4gIHdoaWxlIChcbiAgICAhYWJzb2x1dGVQYXRocy5ldmVyeSgocCkgPT4gcC5zdGFydHNXaXRoKGFic29sdXRlUGF0aFByZWZpeCkpICYmXG4gICAgYWJzb2x1dGVQYXRoUHJlZml4ICE9PSBcIi9cIlxuICApIHtcbiAgICBhYnNvbHV0ZVBhdGhQcmVmaXggPSBwYXRoLmRpcm5hbWUoYWJzb2x1dGVQYXRoUHJlZml4KTtcbiAgfVxuXG4gIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUocHJvY2Vzcy5jd2QoKSwgYWJzb2x1dGVQYXRoUHJlZml4KTtcbiAgcmV0dXJuIHJlbGF0aXZlUGF0aCA9PT0gXCJcIiA/IFwiLlwiIDogcmVsYXRpdmVQYXRoO1xufVxuXG4vKipcbiAqIENvcGllcyBhIGZpbGUgb3IgZGlyZWN0b3J5IHJlY3Vyc2l2ZWx5XG4gKiBAcGFyYW0gZnJvbVxuICogQHBhcmFtIHRvXG4gKi9cbmZ1bmN0aW9uIGNvcHlTeW5jKGZyb206IHN0cmluZywgdG86IHN0cmluZykge1xuICBpZiAoZnMubHN0YXRTeW5jKGZyb20pLmlzRGlyZWN0b3J5KCkpIHtcbiAgICBmcy5ta2RpclN5bmModG8sIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmcy5yZWFkZGlyU3luYyhmcm9tKSkge1xuICAgICAgY29weVN5bmMocGF0aC5qb2luKGZyb20sIGZpbGUpLCBwYXRoLmpvaW4odG8sIGZpbGUpKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZnMuY29weUZpbGVTeW5jKGZyb20sIHRvKTtcbiAgfVxufVxuIl19
@@ -172,5 +172,5 @@ class TerraformModule extends terraform_element_1.TerraformElement {
172
172
  }
173
173
  exports.TerraformModule = TerraformModule;
174
174
  _a = JSII_RTTI_SYMBOL_1;
175
- TerraformModule[_a] = { fqn: "cdktn.TerraformModule", version: "0.23.1" };
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwyREFBdUQ7QUFDdkQsNkRBQXlEO0FBQ3pELGlDQUFtQztBQUVuQyxxQ0FBaUM7QUFDakMsaURBQWlEO0FBRWpELHFDQUE0RTtBQUM1RSxxRUFBZ0U7QUFtQmhFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBc0IsZUFDcEIsU0FBUSxvQ0FBZ0I7SUFVeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1lBQy9DLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEUsa0dBQWtHO2dCQUNsRyxJQUFJLENBQUMsTUFBTSxHQUFHLDZDQUFvQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxxQkFBcUIsQ0FDaEUsT0FBTyxDQUFDLE1BQU0sQ0FDZixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1FBQ3pDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDcEQsSUFBQSx5QkFBVSxFQUFDLFVBQVUsQ0FBQyxDQUN2QixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRUQsOEJBQThCO0lBQ3RCLE9BQU87UUFDYiwyRkFBMkY7UUFDM0YsMkNBQTJDO1FBQzNDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBQSxtQ0FBMEIsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsc0NBQXNDO0lBQzVCLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxzQ0FBc0M7SUFDNUIsdUJBQXVCO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLHNCQUFzQixDQUFDLFlBQW9CO1FBQ2hELE9BQU8sSUFBQSxrQkFBRyxFQUNSLFVBQVUsSUFBSSxDQUFDLGdCQUFnQixHQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3hCLElBQUksWUFBWSxFQUFFLEVBQ2xCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBcUQ7UUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQkFBUyxFQUMxQjtZQUNFLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2pDLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ2xCLElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2dCQUNkLGdCQUFnQixFQUFFLFFBQVE7YUFDM0I7WUFFRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLENBQUMsQ0FBQztvQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQ25CLElBQUksRUFBRSxRQUFRO29CQUNkLE9BQU8sRUFBRSxLQUFLO29CQUNkLGdCQUFnQixFQUFFLFFBQVE7aUJBQzNCO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBRWIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxJQUFJLHNDQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDcEQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU87d0JBQ0wsR0FBRyxDQUFDO3dCQUNKLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLHFCQUFxQixJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUN0RCxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUc7cUJBQ2pCLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUMsRUFBRSxFQUFFLENBQUM7WUFFTixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3hCLENBQUMsQ0FBQztvQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3JCLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxLQUFLO29CQUNkLGdCQUFnQixFQUFFLFFBQVE7aUJBQzNCO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBRWIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUU7U0FDaEQsRUFDRCxJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO1FBRUYsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUU5QyxPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsVUFBVTthQUNwQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLFVBQVUsR0FBRyxJQUFBLGdCQUFTLEVBQzFCO1lBQ0UsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFDLElBQUksc0NBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNwRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTzt3QkFDTCxHQUFHLENBQUM7d0JBQ0osQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQ3RELENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRztxQkFDakIsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRTtTQUNoRCxFQUNELElBQUksQ0FBQyxZQUFZLENBQ2xCLENBQUM7UUFFRixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRTlDLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxVQUFVO2FBQ3BDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUMxRDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8saUNBQWlDO1FBQ3ZDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxzQ0FBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3QyxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztZQUNqQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxJQUFBLDZCQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXJNSCwwQ0FzTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXIgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcHJvdmlkZXJcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyByZWYsIGRlcGVuZGFibGUgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgbW9kdWxlc1dpdGhTYW1lQWxpYXMsIHRlcnJhZm9ybU1vZHVsZUhhc0NoaWxkcmVuIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Nb2R1bGVBc3NldCB9IGZyb20gXCIuL3RlcnJhZm9ybS1tb2R1bGUtYXNzZXRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1Nb2R1bGVVc2VyQ29uZmlnIHtcbiAgcmVhZG9ubHkgcHJvdmlkZXJzPzogKFRlcnJhZm9ybVByb3ZpZGVyIHwgVGVycmFmb3JtTW9kdWxlUHJvdmlkZXIpW107XG4gIHJlYWRvbmx5IGRlcGVuZHNPbj86IElUZXJyYWZvcm1EZXBlbmRhYmxlW107XG4gIHJlYWRvbmx5IGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHJlYWRvbmx5IHNraXBBc3NldENyZWF0aW9uRnJvbUxvY2FsTW9kdWxlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtTW9kdWxlQ29uZmlnIGV4dGVuZHMgVGVycmFmb3JtTW9kdWxlVXNlckNvbmZpZyB7XG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU1vZHVsZVByb3ZpZGVyIHtcbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFRlcnJhZm9ybVByb3ZpZGVyO1xuICByZWFkb25seSBtb2R1bGVBbGlhczogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRlcnJhZm9ybU1vZHVsZSBjYW4gYmUgdXNlZCB0byByZWZlcmVuY2UgYSBsb2NhbCB0ZXJyYWZvcm0gbW9kdWxlIG9yIGEgbW9kdWxlIGZyb20gdGhlIFRlcnJhZm9ybSBSZWdpc3RyeS5cbiAqIEl0IHNob3VsZCBiZSB1c2VkIGlmIHlvdSBjYW4gbm90IHVzZSBnZW5lcmF0ZWQgYmluZGluZ3MgZm9yIHRoZSBtb2R1bGUgYXMgeW91IHdvdWxkIGdldCBieSBhZGRpbmcgdGhlIG1vZHVsZVxuICogdG8geW91ciBjZGt0Zi5qc29uIGZpbGVzIFwidGVycmFmb3JtTW9kdWxlc1wiIGFycmF5IGFuZCBydW5uaW5nIGNka3RuIGdldC5cbiAqXG4gKiBUaGlzIGNsYXNzIGlzIG5vdCBjcmVhdGluZyBhIFRlcnJhZm9ybSBtb2R1bGUgdG8gYmUgdXNlZCBvdXRzaWRlIG9mIENES1ROLlxuICogSWYgeW91IHdhbnQgdG8gYnVuZGxlIGNlcnRhaW4gcmVzb3VyY2VzIHRvZ2V0aGVyIGxpa2UgeW91IHdvdWxkIGRvIHdpdGggYSBUZXJyYWZvcm0gbW9kdWxlLFxuICogeW91IHNob3VsZCB1c2UgQ29uc3RydWN0cyBpbnN0ZWFkLCBzZWUgaHR0cDovL2Nkay50Zi9jb25zdHJ1Y3RzIGZvciBtb3JlIGRldGFpbHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXJyYWZvcm1Nb2R1bGVcbiAgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50XG4gIGltcGxlbWVudHMgSVRlcnJhZm9ybURlcGVuZGFibGVcbntcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbiAgcHJpdmF0ZSBfcHJvdmlkZXJzPzogKFRlcnJhZm9ybVByb3ZpZGVyIHwgVGVycmFmb3JtTW9kdWxlUHJvdmlkZXIpW107XG4gIHB1YmxpYyBkZXBlbmRzT24/OiBzdHJpbmdbXTtcbiAgcHVibGljIGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHB1YmxpYyByZWFkb25seSBza2lwQXNzZXRDcmVhdGlvbkZyb21Mb2NhbE1vZHVsZXM/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IFRlcnJhZm9ybU1vZHVsZUNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgXCJtb2R1bGVcIik7XG5cbiAgICB0aGlzLnNvdXJjZSA9IG9wdGlvbnMuc291cmNlO1xuXG4gICAgaWYgKCFvcHRpb25zLnNraXBBc3NldENyZWF0aW9uRnJvbUxvY2FsTW9kdWxlcykge1xuICAgICAgaWYgKG9wdGlvbnMuc291cmNlLnN0YXJ0c1dpdGgoXCIuL1wiKSB8fCBvcHRpb25zLnNvdXJjZS5zdGFydHNXaXRoKFwiLi4vXCIpKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhbiBhc3NldCBvciByZXVzZSBleGlzdGluZyBcInNpbmdsZXRvbiBhc3NldFwiIGZvciB0aGUgbG9jYWwgbW9kdWxlIGZvciBiZXR0ZXIgVEZDIHN1cHBvcnRcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBUZXJyYWZvcm1Nb2R1bGVBc3NldC5vZihzY29wZSkuZ2V0QXNzZXRQYXRoRm9yTW9kdWxlKFxuICAgICAgICAgIG9wdGlvbnMuc291cmNlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmVyc2lvbiA9IG9wdGlvbnMudmVyc2lvbjtcbiAgICB0aGlzLl9wcm92aWRlcnMgPSBvcHRpb25zLnByb3ZpZGVycztcbiAgICB0aGlzLnZhbGlkYXRlSWZQcm92aWRlcnNIYXZlVW5pcXVlS2V5cygpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMuZGVwZW5kc09uKSkge1xuICAgICAgdGhpcy5kZXBlbmRzT24gPSBvcHRpb25zLmRlcGVuZHNPbi5tYXAoKGRlcGVuZGVuY3kpID0+XG4gICAgICAgIGRlcGVuZGFibGUoZGVwZW5kZW5jeSksXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmZvckVhY2ggPSBvcHRpb25zLmZvckVhY2g7XG4gIH1cblxuICAvLyBBZGRzIHN5bnRoLXRpbWUgdmFsaWRhdGlvbnNcbiAgcHJpdmF0ZSBvblN5bnRoKCk6IHZvaWQge1xuICAgIC8vIFdlIGRvbid0IGFsbG93IGFueSBuZXN0ZWQgY29uc3RydWN0cyB3aXRoaW4gVGVycmFmb3JtTW9kdWxlcywgaXQncyBtb3N0IGxpa2VseSBhIG1pc3Rha2VcbiAgICAvLyB3aGVyZSBjb25zdHJ1Y3RzIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuXG4gICAgaWYgKHRoaXMubm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyB0ZXJyYWZvcm1Nb2R1bGVIYXNDaGlsZHJlbih0aGlzLm5vZGUucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG1vZHVsZU91dHB1dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlZihcbiAgICAgIGBtb2R1bGUuJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9JHtcbiAgICAgICAgdGhpcy5mb3JFYWNoID8gXCIuKlwiIDogXCJcIlxuICAgICAgfS4ke21vZHVsZU91dHB1dH1gLFxuICAgICAgdGhpcy5jZGt0ZlN0YWNrLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyaW5nKG91dHB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBwcm92aWRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVycztcbiAgfVxuXG4gIHB1YmxpYyBhZGRQcm92aWRlcihwcm92aWRlcjogVGVycmFmb3JtUHJvdmlkZXIgfCBUZXJyYWZvcm1Nb2R1bGVQcm92aWRlcikge1xuICAgIGlmICghdGhpcy5fcHJvdmlkZXJzKSB7XG4gICAgICB0aGlzLl9wcm92aWRlcnMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5fcHJvdmlkZXJzLnB1c2gocHJvdmlkZXIpO1xuICAgIHRoaXMudmFsaWRhdGVJZlByb3ZpZGVyc0hhdmVVbmlxdWVLZXlzKCk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICB0aGlzLm9uU3ludGgoKTtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAge1xuICAgICAgICAuLi50aGlzLnN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCksXG4gICAgICAgIHNvdXJjZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnNvdXJjZSxcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG5cbiAgICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZlcnNpb24sXG4gICAgICAgICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuXG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5fcHJvdmlkZXJzPy5yZWR1Y2UoKGEsIHApID0+IHtcbiAgICAgICAgICBpZiAoVGVycmFmb3JtUHJvdmlkZXIuaXNUZXJyYWZvcm1Qcm92aWRlcihwKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uYSwgW3AudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogcC5mcW4gfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgW2Ake3AucHJvdmlkZXIudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3AubW9kdWxlQWxpYXN9YF06XG4gICAgICAgICAgICAgICAgcC5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSwge30pLFxuXG4gICAgICAgIGRlcGVuZHNfb246IHRoaXMuZGVwZW5kc09uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgICAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuXG4gICAgICAgIGZvcl9lYWNoOiB0aGlzLmZvckVhY2g/Ll9nZXRGb3JFYWNoRXhwcmVzc2lvbigpLFxuICAgICAgfSxcbiAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICk7XG5cbiAgICBhdHRyaWJ1dGVzW1wiLy9cIl0gPSB0aGlzLmNvbnN0cnVjdE5vZGVNZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBtb2R1bGU6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICB0aGlzLm9uU3ludGgoKTtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAge1xuICAgICAgICAuLi50aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICAgICAgcHJvdmlkZXJzOiB0aGlzLl9wcm92aWRlcnM/LnJlZHVjZSgoYSwgcCkgPT4ge1xuICAgICAgICAgIGlmIChUZXJyYWZvcm1Qcm92aWRlci5pc1RlcnJhZm9ybVByb3ZpZGVyKHApKSB7XG4gICAgICAgICAgICByZXR1cm4geyAuLi5hLCBbcC50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBwLmZxbiB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICBbYCR7cC5wcm92aWRlci50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7cC5tb2R1bGVBbGlhc31gXTpcbiAgICAgICAgICAgICAgICBwLnByb3ZpZGVyLmZxbixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9LCB7fSksXG4gICAgICAgIGRlcGVuZHNfb246IHRoaXMuZGVwZW5kc09uLFxuICAgICAgICBmb3JfZWFjaDogdGhpcy5mb3JFYWNoPy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKSxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIFtgbW9kdWxlLiR7dGhpcy5zb3VyY2V9YF06IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJZlByb3ZpZGVyc0hhdmVVbmlxdWVLZXlzKCk6IHZvaWQge1xuICAgIGNvbnN0IG1vZHVsZUFsaWFzZXMgPSB0aGlzLl9wcm92aWRlcnM/Lm1hcCgocCkgPT4ge1xuICAgICAgaWYgKFRlcnJhZm9ybVByb3ZpZGVyLmlzVGVycmFmb3JtUHJvdmlkZXIocCkpIHtcbiAgICAgICAgcmV0dXJuIHAudGVycmFmb3JtUmVzb3VyY2VUeXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGAke3AucHJvdmlkZXIudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3AubW9kdWxlQWxpYXN9YDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHVuaXF1ZU1vZHVsZUFsaWFzZXMgPSBuZXcgU2V0KCk7XG4gICAgbW9kdWxlQWxpYXNlcz8uZm9yRWFjaCgoYWxpYXMpID0+IHtcbiAgICAgIGlmICh1bmlxdWVNb2R1bGVBbGlhc2VzLmhhcyhhbGlhcykpIHtcbiAgICAgICAgdGhyb3cgbW9kdWxlc1dpdGhTYW1lQWxpYXMoYWxpYXMpO1xuICAgICAgfVxuICAgICAgdW5pcXVlTW9kdWxlQWxpYXNlcy5hZGQoYWxpYXMpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
175
+ TerraformModule[_a] = { fqn: "cdktn.TerraformModule", version: "0.23.3" };
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQXVEO0FBQ3ZELDZEQUF5RDtBQUN6RCxpQ0FBbUM7QUFFbkMscUNBQWlDO0FBQ2pDLGlEQUFpRDtBQUVqRCxxQ0FBNEU7QUFDNUUscUVBQWdFO0FBbUJoRTs7Ozs7Ozs7R0FRRztBQUNILE1BQXNCLGVBQ3BCLFNBQVEsb0NBQWdCO0lBVXhCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsT0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLGtHQUFrRztnQkFDbEcsSUFBSSxDQUFDLE1BQU0sR0FBRyw2Q0FBb0IsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLENBQ2hFLE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFP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QUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sSUFBQSw2QkFBb0IsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyTUgsMENBc01DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgcmVmLCBkZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IG1vZHVsZXNXaXRoU2FtZUFsaWFzLCB0ZXJyYWZvcm1Nb2R1bGVIYXNDaGlsZHJlbiB9IGZyb20gXCIuL2Vycm9yc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtTW9kdWxlQXNzZXQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlLWFzc2V0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtTW9kdWxlVXNlckNvbmZpZyB7XG4gIHJlYWRvbmx5IHByb3ZpZGVycz86IChUZXJyYWZvcm1Qcm92aWRlciB8IFRlcnJhZm9ybU1vZHVsZVByb3ZpZGVyKVtdO1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICByZWFkb25seSBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICByZWFkb25seSBza2lwQXNzZXRDcmVhdGlvbkZyb21Mb2NhbE1vZHVsZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU1vZHVsZUNvbmZpZyBleHRlbmRzIFRlcnJhZm9ybU1vZHVsZVVzZXJDb25maWcge1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1Nb2R1bGVQcm92aWRlciB7XG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBUZXJyYWZvcm1Qcm92aWRlcjtcbiAgcmVhZG9ubHkgbW9kdWxlQWxpYXM6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUZXJyYWZvcm1Nb2R1bGUgY2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIGEgbG9jYWwgdGVycmFmb3JtIG1vZHVsZSBvciBhIG1vZHVsZSBmcm9tIHRoZSBUZXJyYWZvcm0gUmVnaXN0cnkuXG4gKiBJdCBzaG91bGQgYmUgdXNlZCBpZiB5b3UgY2FuIG5vdCB1c2UgZ2VuZXJhdGVkIGJpbmRpbmdzIGZvciB0aGUgbW9kdWxlIGFzIHlvdSB3b3VsZCBnZXQgYnkgYWRkaW5nIHRoZSBtb2R1bGVcbiAqIHRvIHlvdXIgY2RrdGYuanNvbiBmaWxlcyBcInRlcnJhZm9ybU1vZHVsZXNcIiBhcnJheSBhbmQgcnVubmluZyBjZGt0biBnZXQuXG4gKlxuICogVGhpcyBjbGFzcyBpcyBub3QgY3JlYXRpbmcgYSBUZXJyYWZvcm0gbW9kdWxlIHRvIGJlIHVzZWQgb3V0c2lkZSBvZiBDREtUTi5cbiAqIElmIHlvdSB3YW50IHRvIGJ1bmRsZSBjZXJ0YWluIHJlc291cmNlcyB0b2dldGhlciBsaWtlIHlvdSB3b3VsZCBkbyB3aXRoIGEgVGVycmFmb3JtIG1vZHVsZSxcbiAqIHlvdSBzaG91bGQgdXNlIENvbnN0cnVjdHMgaW5zdGVhZCwgc2VlIGh0dHA6Ly9jZGsudGYvY29uc3RydWN0cyBmb3IgbW9yZSBkZXRhaWxzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVycmFmb3JtTW9kdWxlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1EZXBlbmRhYmxlXG57XG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3Byb3ZpZGVycz86IChUZXJyYWZvcm1Qcm92aWRlciB8IFRlcnJhZm9ybU1vZHVsZVByb3ZpZGVyKVtdO1xuICBwdWJsaWMgZGVwZW5kc09uPzogc3RyaW5nW107XG4gIHB1YmxpYyBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgcmVhZG9ubHkgc2tpcEFzc2V0Q3JlYXRpb25Gcm9tTG9jYWxNb2R1bGVzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBUZXJyYWZvcm1Nb2R1bGVDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIFwibW9kdWxlXCIpO1xuXG4gICAgdGhpcy5zb3VyY2UgPSBvcHRpb25zLnNvdXJjZTtcblxuICAgIGlmICghb3B0aW9ucy5za2lwQXNzZXRDcmVhdGlvbkZyb21Mb2NhbE1vZHVsZXMpIHtcbiAgICAgIGlmIChvcHRpb25zLnNvdXJjZS5zdGFydHNXaXRoKFwiLi9cIikgfHwgb3B0aW9ucy5zb3VyY2Uuc3RhcnRzV2l0aChcIi4uL1wiKSkge1xuICAgICAgICAvLyBDcmVhdGUgYW4gYXNzZXQgb3IgcmV1c2UgZXhpc3RpbmcgXCJzaW5nbGV0b24gYXNzZXRcIiBmb3IgdGhlIGxvY2FsIG1vZHVsZSBmb3IgYmV0dGVyIFRGQyBzdXBwb3J0XG4gICAgICAgIHRoaXMuc291cmNlID0gVGVycmFmb3JtTW9kdWxlQXNzZXQub2Yoc2NvcGUpLmdldEFzc2V0UGF0aEZvck1vZHVsZShcbiAgICAgICAgICBvcHRpb25zLnNvdXJjZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnZlcnNpb24gPSBvcHRpb25zLnZlcnNpb247XG4gICAgdGhpcy5fcHJvdmlkZXJzID0gb3B0aW9ucy5wcm92aWRlcnM7XG4gICAgdGhpcy52YWxpZGF0ZUlmUHJvdmlkZXJzSGF2ZVVuaXF1ZUtleXMoKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLmRlcGVuZHNPbikpIHtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gb3B0aW9ucy5kZXBlbmRzT24ubWFwKChkZXBlbmRlbmN5KSA9PlxuICAgICAgICBkZXBlbmRhYmxlKGRlcGVuZGVuY3kpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5mb3JFYWNoID0gb3B0aW9ucy5mb3JFYWNoO1xuICB9XG5cbiAgLy8gQWRkcyBzeW50aC10aW1lIHZhbGlkYXRpb25zXG4gIHByaXZhdGUgb25TeW50aCgpOiB2b2lkIHtcbiAgICAvLyBXZSBkb24ndCBhbGxvdyBhbnkgbmVzdGVkIGNvbnN0cnVjdHMgd2l0aGluIFRlcnJhZm9ybU1vZHVsZXMsIGl0J3MgbW9zdCBsaWtlbHkgYSBtaXN0YWtlXG4gICAgLy8gd2hlcmUgY29uc3RydWN0cyBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICAgIGlmICh0aGlzLm5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgdGVycmFmb3JtTW9kdWxlSGFzQ2hpbGRyZW4odGhpcy5ub2RlLnBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGpzaWkgY2FuJ3QgaGFuZGxlIGFic3RyYWN0IGNsYXNzZXM/XG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgaW50ZXJwb2xhdGlvbkZvck91dHB1dChtb2R1bGVPdXRwdXQ6IHN0cmluZykge1xuICAgIHJldHVybiByZWYoXG4gICAgICBgbW9kdWxlLiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfSR7XG4gICAgICAgIHRoaXMuZm9yRWFjaCA/IFwiLipcIiA6IFwiXCJcbiAgICAgIH0uJHttb2R1bGVPdXRwdXR9YCxcbiAgICAgIHRoaXMuY2RrdGZTdGFjayxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZyhvdXRwdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvdmlkZXJzKCkge1xuICAgIHJldHVybiB0aGlzLl9wcm92aWRlcnM7XG4gIH1cblxuICBwdWJsaWMgYWRkUHJvdmlkZXIocHJvdmlkZXI6IFRlcnJhZm9ybVByb3ZpZGVyIHwgVGVycmFmb3JtTW9kdWxlUHJvdmlkZXIpIHtcbiAgICBpZiAoIXRoaXMuX3Byb3ZpZGVycykge1xuICAgICAgdGhpcy5fcHJvdmlkZXJzID0gW107XG4gICAgfVxuICAgIHRoaXMuX3Byb3ZpZGVycy5wdXNoKHByb3ZpZGVyKTtcbiAgICB0aGlzLnZhbGlkYXRlSWZQcm92aWRlcnNIYXZlVW5pcXVlS2V5cygpO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgdGhpcy5vblN5bnRoKCk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHtcbiAgICAgICAgLi4udGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zb3VyY2UsXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICB9LFxuXG4gICAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52ZXJzaW9uLFxuICAgICAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcblxuICAgICAgICBwcm92aWRlcnM6IHRoaXMuX3Byb3ZpZGVycz8ucmVkdWNlKChhLCBwKSA9PiB7XG4gICAgICAgICAgaWYgKFRlcnJhZm9ybVByb3ZpZGVyLmlzVGVycmFmb3JtUHJvdmlkZXIocCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmEsIFtwLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHAuZnFuIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgIFtgJHtwLnByb3ZpZGVyLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHtwLm1vZHVsZUFsaWFzfWBdOlxuICAgICAgICAgICAgICAgIHAucHJvdmlkZXIuZnFuLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcblxuICAgICAgICBkZXBlbmRzX29uOiB0aGlzLmRlcGVuZHNPblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5kZXBlbmRzT24sXG4gICAgICAgICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcblxuICAgICAgICBmb3JfZWFjaDogdGhpcy5mb3JFYWNoPy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKSxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgdGhpcy5vblN5bnRoKCk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHtcbiAgICAgICAgLi4udGhpcy5zeW50aGVzaXplQXR0cmlidXRlcygpLFxuICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5fcHJvdmlkZXJzPy5yZWR1Y2UoKGEsIHApID0+IHtcbiAgICAgICAgICBpZiAoVGVycmFmb3JtUHJvdmlkZXIuaXNUZXJyYWZvcm1Qcm92aWRlcihwKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uYSwgW3AudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogcC5mcW4gfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgW2Ake3AucHJvdmlkZXIudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3AubW9kdWxlQWxpYXN9YF06XG4gICAgICAgICAgICAgICAgcC5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSwge30pLFxuICAgICAgICBkZXBlbmRzX29uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgICAgZm9yX2VhY2g6IHRoaXMuZm9yRWFjaD8uX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICB9LFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHRoaXMuY29uc3RydWN0Tm9kZU1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZHVsZToge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBbYG1vZHVsZS4ke3RoaXMuc291cmNlfWBdOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlSWZQcm92aWRlcnNIYXZlVW5pcXVlS2V5cygpOiB2b2lkIHtcbiAgICBjb25zdCBtb2R1bGVBbGlhc2VzID0gdGhpcy5fcHJvdmlkZXJzPy5tYXAoKHApID0+IHtcbiAgICAgIGlmIChUZXJyYWZvcm1Qcm92aWRlci5pc1RlcnJhZm9ybVByb3ZpZGVyKHApKSB7XG4gICAgICAgIHJldHVybiBwLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgJHtwLnByb3ZpZGVyLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHtwLm1vZHVsZUFsaWFzfWA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmlxdWVNb2R1bGVBbGlhc2VzID0gbmV3IFNldCgpO1xuICAgIG1vZHVsZUFsaWFzZXM/LmZvckVhY2goKGFsaWFzKSA9PiB7XG4gICAgICBpZiAodW5pcXVlTW9kdWxlQWxpYXNlcy5oYXMoYWxpYXMpKSB7XG4gICAgICAgIHRocm93IG1vZHVsZXNXaXRoU2FtZUFsaWFzKGFsaWFzKTtcbiAgICAgIH1cbiAgICAgIHVuaXF1ZU1vZHVsZUFsaWFzZXMuYWRkKGFsaWFzKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -107,5 +107,5 @@ class Op {
107
107
  }
108
108
  exports.Op = Op;
109
109
  _a = JSII_RTTI_SYMBOL_1;
110
- Op[_a] = { fqn: "cdktn.Op", version: "0.23.1" };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW9wZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7O0dBR0c7QUFFSCxpREFBZ0U7QUFDaEUscUNBQWlDO0FBR2pDOzs7R0FHRztBQUNILE1BQWEsRUFBRTtJQUNiOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFzQjtRQUN0QyxPQUFPLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBc0I7UUFDekMsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNsRCxPQUFPLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLElBQUksaUNBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbEQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLElBQUksaUNBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbEQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7QUF4R0gsZ0JBeUdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBFeHByZXNzaW9uLCBPcGVyYXRvckV4cHJlc3Npb24gfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSB9IGZyb20gXCIuL3Rva2Vucy9yZXNvbHZhYmxlXCI7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBjb250YWlucyBzdGF0aWMgZnVuY3Rpb25zIGZvciBhbGwgYXJpdGhtZXRpY2FsIGFuZCBsb2dpY2FsIG9wZXJhdG9yc1xuICogaW4gdGhlIFRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGxhbmd1YWdlLlxuICovXG5leHBvcnQgY2xhc3MgT3Age1xuICAvKipcbiAgICogUmVuZGVycyAhZXhwcmVzc2lvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBub3QoZXhwcmVzc2lvbjogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIiFcIiwgZXhwcmVzc2lvbik7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyAtZXhwcmVzc2lvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBuZWdhdGUoZXhwcmVzc2lvbjogRXhwcmVzc2lvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCItXCIsIGV4cHJlc3Npb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgKiByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtdWwobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiKlwiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAvIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRpdihsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIvXCIsIGxlZnQsIHJpZ2h0KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICUgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbW9kKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIiVcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgKyByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGQobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiK1wiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAtIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN1YihsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCItXCIsIGxlZnQsIHJpZ2h0KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID4gcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ3QobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCI+XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgPj0gcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ3RlKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPj1cIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA8IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGx0KGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPFwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0IDw9IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGx0ZShsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIjw9XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgPT0gcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXEobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCI9PVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICE9IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG5lcShsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIiE9XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgJiYgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW5kKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiJiZcIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCB8fCByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvcihsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcInx8XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxufVxuIl19
110
+ Op[_a] = { fqn: "cdktn.Op", version: "0.23.3" };
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW9wZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztHQUdHO0FBRUgsaURBQWdFO0FBQ2hFLHFDQUFpQztBQUdqQzs7O0dBR0c7QUFDSCxNQUFhLEVBQUU7SUFDYjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBc0I7UUFDdEMsT0FBTyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQXNCO1FBQ3pDLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbEQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNsRCxPQUFPLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLElBQUksaUNBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBeEdILGdCQXlHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgRXhwcmVzc2lvbiwgT3BlcmF0b3JFeHByZXNzaW9uIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgY29udGFpbnMgc3RhdGljIGZ1bmN0aW9ucyBmb3IgYWxsIGFyaXRobWV0aWNhbCBhbmQgbG9naWNhbCBvcGVyYXRvcnNcbiAqIGluIHRoZSBUZXJyYWZvcm0gY29uZmlndXJhdGlvbiBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wIHtcbiAgLyoqXG4gICAqIFJlbmRlcnMgIWV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbm90KGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIhXCIsIGV4cHJlc3Npb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgLWV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmVnYXRlKGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiLVwiLCBleHByZXNzaW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICogcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbXVsKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIipcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgLyByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXYobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiL1wiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAlIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1vZChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIlXCIsIGxlZnQsIHJpZ2h0KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICsgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWRkKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIitcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgLSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdWIobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiLVwiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA+IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGd0KGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPlwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID49IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGd0ZShsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIj49XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgPCByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsdChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIjxcIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA8PSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsdGUobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCI8PVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID09IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVxKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPT1cIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAhPSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBuZXEobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIhPVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICYmIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFuZChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIiYmXCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgfHwgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3IobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCJ8fFwiLCBsZWZ0LCByaWdodCk7XG4gIH1cbn1cbiJdfQ==
@@ -118,5 +118,5 @@ class TerraformOutput extends terraform_element_1.TerraformElement {
118
118
  }
119
119
  exports.TerraformOutput = TerraformOutput;
120
120
  _a = JSII_RTTI_SYMBOL_1;
121
- TerraformOutput[_a] = { fqn: "cdktn.TerraformOutput", version: "0.23.1" };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBSW5DLHFDQUFpQztBQUdqQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWlCcEUsK0NBQStDO0FBQy9DLE1BQWEsZUFBZ0IsU0FBUSxvQ0FBZ0I7SUFPbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBTTtRQUNwQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHVCQUF1QixJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxRQUFRO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBQzlDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVPLHVCQUF1QixDQUM3QixNQUFXO1FBRVgsT0FBTyxDQUNMLE1BQU07WUFDTixPQUFPLE1BQU0sS0FBSyxRQUFRO1lBQzFCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEIsS0FBSyxJQUFJLE1BQU0sQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsR0FBUTtRQUM5QixJQUFJLGNBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDNUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUMsRUFDRCxFQUErQixDQUNoQyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztTQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDdkMsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZ0JBQWdCLEVBQUUsRUFBRTthQUNyQjtZQUNELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQ3ZCLElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2dCQUNkLGdCQUFnQixFQUFFLFFBQVE7YUFDM0I7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUNyQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxPQUFPLEVBQUUsS0FBSztnQkFDZCxnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDdEQsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZ0JBQWdCLEVBQUUsWUFBWTthQUMvQjtTQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNoQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FDbEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNoQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FDbEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDdkM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7QUE3SUgsMENBOElDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgUHJlY29uZGl0aW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtLWNvbmRpdGlvbnNcIjtcblxuY29uc3QgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtT3V0cHV0XCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU91dHB1dENvbmZpZyB7XG4gIHJlYWRvbmx5IHZhbHVlOiBFeHByZXNzaW9uIHwgSVRlcnJhZm9ybURlcGVuZGFibGU7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBzZW5zaXRpdmU/OiBib29sZWFuO1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUgdGhlIHN5bnRoZXNpemVkIFRlcnJhZm9ybSBPdXRwdXQgd2lsbCBiZSBuYW1lZCBhZnRlciB0aGUgYGlkYFxuICAgKiBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgKFRlcnJhZm9ybU91dHB1dC5mcmllbmRseVVuaXF1ZUlkKVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljSWQ/OiBib29sZWFuO1xuICByZWFkb25seSBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtT3V0cHV0IGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudCB7XG4gIHB1YmxpYyB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1BZGRyZXNzYWJsZTtcbiAgcHVibGljIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcHVibGljIGRlcGVuZHNPbj86IElUZXJyYWZvcm1EZXBlbmRhYmxlW107XG4gIHB1YmxpYyBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1PdXRwdXRDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY29uZmlnLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc2Vuc2l0aXZlID0gY29uZmlnLnNlbnNpdGl2ZTtcbiAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT247XG4gICAgdGhpcy5zdGF0aWNJZCA9IGNvbmZpZy5zdGF0aWNJZCB8fCBmYWxzZTtcbiAgICB0aGlzLnByZWNvbmRpdGlvbiA9IGNvbmZpZy5wcmVjb25kaXRpb247XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybU91dHB1dCh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RhdGljSWQoc3RhdGljSWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdGljSWQpIHRoaXMub3ZlcnJpZGVMb2dpY2FsSWQodGhpcy5ub2RlLmlkKTtcbiAgICBlbHNlIHRoaXMucmVzZXRPdmVycmlkZUxvZ2ljYWxJZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0aWNJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mcmllbmRseVVuaXF1ZUlkID09PSB0aGlzLm5vZGUuaWQ7XG4gIH1cblxuICBwcml2YXRlIGlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKFxuICAgIG9iamVjdDogYW55LFxuICApOiBvYmplY3QgaXMgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIHtcbiAgICByZXR1cm4gKFxuICAgICAgb2JqZWN0ICYmXG4gICAgICB0eXBlb2Ygb2JqZWN0ID09PSBcIm9iamVjdFwiICYmXG4gICAgICAhQXJyYXkuaXNBcnJheShvYmplY3QpICYmXG4gICAgICBcImZxblwiIGluIG9iamVjdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN5bnRoZXNpemVWYWx1ZShhcmc6IGFueSk6IGFueSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcuZnFuO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcubWFwKChpbm5lckFyZykgPT4gdGhpcy5zeW50aGVzaXplVmFsdWUoaW5uZXJBcmcpKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGFyZyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFyZykucmVkdWNlKFxuICAgICAgICAocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGFyZ1trZXldKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdGhpcy5zeW50aGVzaXplVmFsdWUodGhpcy52YWx1ZSksXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHNlbnNpdGl2ZTogdGhpcy5zZW5zaXRpdmUsXG4gICAgICBkZXBlbmRzX29uOiB0aGlzLmRlcGVuZHNPbj8ubWFwKChyZXNvdXJjZSkgPT4gcmVzb3VyY2UuZnFuKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHNlbnNpdGl2ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbFwiLFxuICAgICAgICB9LFxuICAgICAgICBkZXBlbmRzX29uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVwZW5kc09uPy5tYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZS5mcW4pLFxuICAgICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nTGlzdFwiLFxuICAgICAgICB9LFxuICAgICAgfSkuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgb3V0cHV0OiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBkZWVwTWVyZ2UoXG4gICAgICAgICAgdGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBvdXRwdXQ6IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
121
+ TerraformOutput[_a] = { fqn: "cdktn.TerraformOutput", version: "0.23.3" };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQXVEO0FBQ3ZELGlDQUFtQztBQUluQyxxQ0FBaUM7QUFHakMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFpQnBFLCtDQUErQztBQUMvQyxNQUFhLGVBQWdCLFNBQVEsb0NBQWdCO0lBT25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQU07UUFDcEMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUTtZQUFFLElBQUks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LElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxLQUFLO2dCQUNkLGdCQUFnQixFQUFFLFlBQVk7YUFDL0I7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQzlCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQzNCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBN0lILDBDQThJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyBFeHByZXNzaW9uIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFByZWNvbmRpdGlvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5cbmNvbnN0IFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybU91dHB1dFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1PdXRwdXRDb25maWcge1xuICByZWFkb25seSB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1EZXBlbmRhYmxlO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogSVRlcnJhZm9ybURlcGVuZGFibGVbXTtcbiAgLyoqXG4gICAqIElmIHNldCB0byB0cnVlIHRoZSBzeW50aGVzaXplZCBUZXJyYWZvcm0gT3V0cHV0IHdpbGwgYmUgbmFtZWQgYWZ0ZXIgdGhlIGBpZGBcbiAgICogcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3RvciBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IChUZXJyYWZvcm1PdXRwdXQuZnJpZW5kbHlVbmlxdWVJZClcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0lkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcHJlY29uZGl0aW9uPzogUHJlY29uZGl0aW9uO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybU91dHB1dCBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnQge1xuICBwdWJsaWMgdmFsdWU6IEV4cHJlc3Npb24gfCBJVGVycmFmb3JtQWRkcmVzc2FibGU7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIHNlbnNpdGl2ZT86IGJvb2xlYW47XG4gIHB1YmxpYyBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICBwdWJsaWMgcHJlY29uZGl0aW9uPzogUHJlY29uZGl0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogVGVycmFmb3JtT3V0cHV0Q29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsdWUgPSBjb25maWcudmFsdWU7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLnNlbnNpdGl2ZSA9IGNvbmZpZy5zZW5zaXRpdmU7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBjb25maWcuZGVwZW5kc09uO1xuICAgIHRoaXMuc3RhdGljSWQgPSBjb25maWcuc3RhdGljSWQgfHwgZmFsc2U7XG4gICAgdGhpcy5wcmVjb25kaXRpb24gPSBjb25maWcucHJlY29uZGl0aW9uO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fT1VUUFVUX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1PdXRwdXQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1PdXRwdXQge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgc2V0IHN0YXRpY0lkKHN0YXRpY0lkOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXRpY0lkKSB0aGlzLm92ZXJyaWRlTG9naWNhbElkKHRoaXMubm9kZS5pZCk7XG4gICAgZWxzZSB0aGlzLnJlc2V0T3ZlcnJpZGVMb2dpY2FsSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGljSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZnJpZW5kbHlVbmlxdWVJZCA9PT0gdGhpcy5ub2RlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0lUZXJyYWZvcm1BZGRyZXNzYWJsZShcbiAgICBvYmplY3Q6IGFueSxcbiAgKTogb2JqZWN0IGlzIElUZXJyYWZvcm1BZGRyZXNzYWJsZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIG9iamVjdCAmJlxuICAgICAgdHlwZW9mIG9iamVjdCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgIUFycmF5LmlzQXJyYXkob2JqZWN0KSAmJlxuICAgICAgXCJmcW5cIiBpbiBvYmplY3RcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW50aGVzaXplVmFsdWUoYXJnOiBhbnkpOiBhbnkge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoYXJnKSkge1xuICAgICAgcmV0dXJuIGFyZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0lUZXJyYWZvcm1BZGRyZXNzYWJsZShhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnLmZxbjtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnLm1hcCgoaW5uZXJBcmcpID0+IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGlubmVyQXJnKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhcmcgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhcmcpLnJlZHVjZShcbiAgICAgICAgKHJlc3VsdCwga2V5KSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnN5bnRoZXNpemVWYWx1ZShhcmdba2V5XSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZztcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICBzZW5zaXRpdmU6IHRoaXMuc2Vuc2l0aXZlLFxuICAgICAgZGVwZW5kc19vbjogdGhpcy5kZXBlbmRzT24/Lm1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlLmZxbiksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoe1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnN5bnRoZXNpemVWYWx1ZSh0aGlzLnZhbHVlKSxcbiAgICAgICAgICB0eXBlOiBcImFueVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICB9LFxuICAgICAgICBzZW5zaXRpdmU6IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zZW5zaXRpdmUsXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcImJvb2xcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVwZW5kc19vbjoge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmRlcGVuZHNPbj8ubWFwKChyZXNvdXJjZSkgPT4gcmVzb3VyY2UuZnFuKSxcbiAgICAgICAgICB0eXBlOiBcImxpc3RcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ0xpc3RcIixcbiAgICAgICAgfSxcbiAgICAgIH0pLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGRlZXBNZXJnZShcbiAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgb3V0cHV0OiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==