cdktn 0.23.2 → 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 (363) hide show
  1. package/.jsii +34 -34
  2. package/README.md +1 -1
  3. package/lib/annotations.js +1 -1
  4. package/lib/app.js +1 -1
  5. package/lib/aspect.js +1 -1
  6. package/lib/backends/azurerm-backend.js +2 -2
  7. package/lib/backends/cloud-backend.js +4 -4
  8. package/lib/backends/consul-backend.js +2 -2
  9. package/lib/backends/cos-backend.js +2 -2
  10. package/lib/backends/gcs-backend.js +2 -2
  11. package/lib/backends/http-backend.js +2 -2
  12. package/lib/backends/local-backend.js +2 -2
  13. package/lib/backends/oss-backend.js +2 -2
  14. package/lib/backends/pg-backend.js +2 -2
  15. package/lib/backends/remote-backend.js +4 -4
  16. package/lib/backends/s3-backend.js +2 -2
  17. package/lib/backends/swift-backend.js +2 -2
  18. package/lib/complex-computed-list.js +25 -25
  19. package/lib/errors.d.ts +1 -2
  20. package/lib/errors.js +11 -8
  21. package/lib/functions/terraform-functions.generated.js +1 -1
  22. package/lib/importable-resource.js +1 -1
  23. package/lib/manifest.js +4 -5
  24. package/lib/resource.js +1 -1
  25. package/lib/synthesize/synthesizer.js +4 -5
  26. package/lib/terraform-asset.js +1 -1
  27. package/lib/terraform-backend.js +1 -1
  28. package/lib/terraform-count.js +1 -1
  29. package/lib/terraform-data-resource.js +1 -1
  30. package/lib/terraform-data-source.js +1 -1
  31. package/lib/terraform-dynamic-block.js +2 -2
  32. package/lib/terraform-dynamic-expression.js +2 -2
  33. package/lib/terraform-element.js +1 -1
  34. package/lib/terraform-functions.js +1 -1
  35. package/lib/terraform-hcl-module.js +1 -1
  36. package/lib/terraform-iterator.js +5 -5
  37. package/lib/terraform-local.js +1 -1
  38. package/lib/terraform-module.js +1 -1
  39. package/lib/terraform-operators.js +1 -1
  40. package/lib/terraform-output.js +1 -1
  41. package/lib/terraform-provider.js +1 -1
  42. package/lib/terraform-provisioner.js +1 -1
  43. package/lib/terraform-remote-state.js +1 -1
  44. package/lib/terraform-resource-targets.js +1 -1
  45. package/lib/terraform-resource.js +1 -1
  46. package/lib/terraform-stack.js +1 -1
  47. package/lib/terraform-variable.js +2 -2
  48. package/lib/testing/index.js +7 -8
  49. package/lib/testing/matchers.js +1 -1
  50. package/lib/tokens/lazy.js +4 -4
  51. package/lib/tokens/private/intrinsic.d.ts +0 -5
  52. package/lib/tokens/private/intrinsic.js +2 -9
  53. package/lib/tokens/private/stack-trace.d.ts +6 -0
  54. package/lib/tokens/private/stack-trace.js +14 -1
  55. package/lib/tokens/resolvable.js +4 -4
  56. package/lib/tokens/string-fragments.js +1 -1
  57. package/lib/tokens/token.js +2 -2
  58. package/lib/tsconfig.tsbuildinfo +1 -1
  59. package/lib/upgrade-id-aspect.js +1 -1
  60. package/node_modules/{call-bind-apply-helpers → safe-stable-stringify}/LICENSE +2 -2
  61. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  62. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  63. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  64. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  65. package/node_modules/safe-stable-stringify/index.js +625 -0
  66. package/node_modules/safe-stable-stringify/package.json +65 -0
  67. package/node_modules/safe-stable-stringify/readme.md +179 -0
  68. package/package.json +5 -6
  69. package/node_modules/call-bind/.eslintignore +0 -1
  70. package/node_modules/call-bind/.eslintrc +0 -16
  71. package/node_modules/call-bind/.github/FUNDING.yml +0 -12
  72. package/node_modules/call-bind/.nycrc +0 -9
  73. package/node_modules/call-bind/CHANGELOG.md +0 -106
  74. package/node_modules/call-bind/LICENSE +0 -21
  75. package/node_modules/call-bind/README.md +0 -64
  76. package/node_modules/call-bind/callBound.js +0 -15
  77. package/node_modules/call-bind/index.js +0 -24
  78. package/node_modules/call-bind/package.json +0 -93
  79. package/node_modules/call-bind/test/callBound.js +0 -54
  80. package/node_modules/call-bind/test/index.js +0 -74
  81. package/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  82. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  83. package/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  84. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  85. package/node_modules/call-bind-apply-helpers/README.md +0 -62
  86. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  87. package/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  88. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  89. package/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  90. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  91. package/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  92. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  93. package/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  94. package/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  95. package/node_modules/call-bind-apply-helpers/index.js +0 -15
  96. package/node_modules/call-bind-apply-helpers/package.json +0 -85
  97. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  98. package/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  99. package/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  100. package/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  101. package/node_modules/call-bound/.eslintrc +0 -13
  102. package/node_modules/call-bound/.github/FUNDING.yml +0 -12
  103. package/node_modules/call-bound/.nycrc +0 -9
  104. package/node_modules/call-bound/CHANGELOG.md +0 -42
  105. package/node_modules/call-bound/LICENSE +0 -21
  106. package/node_modules/call-bound/README.md +0 -53
  107. package/node_modules/call-bound/index.d.ts +0 -94
  108. package/node_modules/call-bound/index.js +0 -19
  109. package/node_modules/call-bound/package.json +0 -99
  110. package/node_modules/call-bound/test/index.js +0 -61
  111. package/node_modules/call-bound/tsconfig.json +0 -10
  112. package/node_modules/define-data-property/.eslintrc +0 -24
  113. package/node_modules/define-data-property/.github/FUNDING.yml +0 -12
  114. package/node_modules/define-data-property/.nycrc +0 -13
  115. package/node_modules/define-data-property/CHANGELOG.md +0 -70
  116. package/node_modules/define-data-property/LICENSE +0 -21
  117. package/node_modules/define-data-property/README.md +0 -67
  118. package/node_modules/define-data-property/index.d.ts +0 -12
  119. package/node_modules/define-data-property/index.js +0 -56
  120. package/node_modules/define-data-property/package.json +0 -106
  121. package/node_modules/define-data-property/test/index.js +0 -392
  122. package/node_modules/define-data-property/tsconfig.json +0 -59
  123. package/node_modules/dunder-proto/.eslintrc +0 -5
  124. package/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  125. package/node_modules/dunder-proto/.nycrc +0 -13
  126. package/node_modules/dunder-proto/CHANGELOG.md +0 -24
  127. package/node_modules/dunder-proto/LICENSE +0 -21
  128. package/node_modules/dunder-proto/README.md +0 -54
  129. package/node_modules/dunder-proto/get.d.ts +0 -5
  130. package/node_modules/dunder-proto/get.js +0 -30
  131. package/node_modules/dunder-proto/package.json +0 -76
  132. package/node_modules/dunder-proto/set.d.ts +0 -5
  133. package/node_modules/dunder-proto/set.js +0 -35
  134. package/node_modules/dunder-proto/test/get.js +0 -34
  135. package/node_modules/dunder-proto/test/index.js +0 -4
  136. package/node_modules/dunder-proto/test/set.js +0 -50
  137. package/node_modules/dunder-proto/tsconfig.json +0 -9
  138. package/node_modules/es-define-property/.eslintrc +0 -13
  139. package/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  140. package/node_modules/es-define-property/.nycrc +0 -9
  141. package/node_modules/es-define-property/CHANGELOG.md +0 -29
  142. package/node_modules/es-define-property/LICENSE +0 -21
  143. package/node_modules/es-define-property/README.md +0 -49
  144. package/node_modules/es-define-property/index.d.ts +0 -3
  145. package/node_modules/es-define-property/index.js +0 -14
  146. package/node_modules/es-define-property/package.json +0 -81
  147. package/node_modules/es-define-property/test/index.js +0 -56
  148. package/node_modules/es-define-property/tsconfig.json +0 -10
  149. package/node_modules/es-errors/.eslintrc +0 -5
  150. package/node_modules/es-errors/.github/FUNDING.yml +0 -12
  151. package/node_modules/es-errors/CHANGELOG.md +0 -40
  152. package/node_modules/es-errors/LICENSE +0 -21
  153. package/node_modules/es-errors/README.md +0 -55
  154. package/node_modules/es-errors/eval.d.ts +0 -3
  155. package/node_modules/es-errors/eval.js +0 -4
  156. package/node_modules/es-errors/index.d.ts +0 -3
  157. package/node_modules/es-errors/index.js +0 -4
  158. package/node_modules/es-errors/package.json +0 -80
  159. package/node_modules/es-errors/range.d.ts +0 -3
  160. package/node_modules/es-errors/range.js +0 -4
  161. package/node_modules/es-errors/ref.d.ts +0 -3
  162. package/node_modules/es-errors/ref.js +0 -4
  163. package/node_modules/es-errors/syntax.d.ts +0 -3
  164. package/node_modules/es-errors/syntax.js +0 -4
  165. package/node_modules/es-errors/test/index.js +0 -19
  166. package/node_modules/es-errors/tsconfig.json +0 -49
  167. package/node_modules/es-errors/type.d.ts +0 -3
  168. package/node_modules/es-errors/type.js +0 -4
  169. package/node_modules/es-errors/uri.d.ts +0 -3
  170. package/node_modules/es-errors/uri.js +0 -4
  171. package/node_modules/es-object-atoms/.eslintrc +0 -16
  172. package/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  173. package/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  174. package/node_modules/es-object-atoms/LICENSE +0 -21
  175. package/node_modules/es-object-atoms/README.md +0 -63
  176. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  177. package/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  178. package/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  179. package/node_modules/es-object-atoms/ToObject.js +0 -10
  180. package/node_modules/es-object-atoms/index.d.ts +0 -3
  181. package/node_modules/es-object-atoms/index.js +0 -4
  182. package/node_modules/es-object-atoms/isObject.d.ts +0 -3
  183. package/node_modules/es-object-atoms/isObject.js +0 -6
  184. package/node_modules/es-object-atoms/package.json +0 -80
  185. package/node_modules/es-object-atoms/test/index.js +0 -38
  186. package/node_modules/es-object-atoms/tsconfig.json +0 -6
  187. package/node_modules/function-bind/.eslintrc +0 -21
  188. package/node_modules/function-bind/.github/FUNDING.yml +0 -12
  189. package/node_modules/function-bind/.github/SECURITY.md +0 -3
  190. package/node_modules/function-bind/.nycrc +0 -13
  191. package/node_modules/function-bind/CHANGELOG.md +0 -136
  192. package/node_modules/function-bind/LICENSE +0 -20
  193. package/node_modules/function-bind/README.md +0 -46
  194. package/node_modules/function-bind/implementation.js +0 -84
  195. package/node_modules/function-bind/index.js +0 -5
  196. package/node_modules/function-bind/package.json +0 -87
  197. package/node_modules/function-bind/test/.eslintrc +0 -9
  198. package/node_modules/function-bind/test/index.js +0 -252
  199. package/node_modules/get-intrinsic/.eslintrc +0 -42
  200. package/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  201. package/node_modules/get-intrinsic/.nycrc +0 -9
  202. package/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  203. package/node_modules/get-intrinsic/LICENSE +0 -21
  204. package/node_modules/get-intrinsic/README.md +0 -71
  205. package/node_modules/get-intrinsic/index.js +0 -378
  206. package/node_modules/get-intrinsic/package.json +0 -97
  207. package/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  208. package/node_modules/get-proto/.eslintrc +0 -10
  209. package/node_modules/get-proto/.github/FUNDING.yml +0 -12
  210. package/node_modules/get-proto/.nycrc +0 -9
  211. package/node_modules/get-proto/CHANGELOG.md +0 -21
  212. package/node_modules/get-proto/LICENSE +0 -21
  213. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  214. package/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  215. package/node_modules/get-proto/README.md +0 -50
  216. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  217. package/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  218. package/node_modules/get-proto/index.d.ts +0 -5
  219. package/node_modules/get-proto/index.js +0 -27
  220. package/node_modules/get-proto/package.json +0 -81
  221. package/node_modules/get-proto/test/index.js +0 -68
  222. package/node_modules/get-proto/tsconfig.json +0 -9
  223. package/node_modules/gopd/.eslintrc +0 -16
  224. package/node_modules/gopd/.github/FUNDING.yml +0 -12
  225. package/node_modules/gopd/CHANGELOG.md +0 -45
  226. package/node_modules/gopd/LICENSE +0 -21
  227. package/node_modules/gopd/README.md +0 -40
  228. package/node_modules/gopd/gOPD.d.ts +0 -1
  229. package/node_modules/gopd/gOPD.js +0 -4
  230. package/node_modules/gopd/index.d.ts +0 -5
  231. package/node_modules/gopd/index.js +0 -15
  232. package/node_modules/gopd/package.json +0 -77
  233. package/node_modules/gopd/test/index.js +0 -36
  234. package/node_modules/gopd/tsconfig.json +0 -9
  235. package/node_modules/has-property-descriptors/.eslintrc +0 -13
  236. package/node_modules/has-property-descriptors/.github/FUNDING.yml +0 -12
  237. package/node_modules/has-property-descriptors/.nycrc +0 -9
  238. package/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
  239. package/node_modules/has-property-descriptors/LICENSE +0 -21
  240. package/node_modules/has-property-descriptors/README.md +0 -43
  241. package/node_modules/has-property-descriptors/index.js +0 -22
  242. package/node_modules/has-property-descriptors/package.json +0 -77
  243. package/node_modules/has-property-descriptors/test/index.js +0 -57
  244. package/node_modules/has-symbols/.eslintrc +0 -11
  245. package/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  246. package/node_modules/has-symbols/.nycrc +0 -9
  247. package/node_modules/has-symbols/CHANGELOG.md +0 -91
  248. package/node_modules/has-symbols/LICENSE +0 -21
  249. package/node_modules/has-symbols/README.md +0 -46
  250. package/node_modules/has-symbols/index.d.ts +0 -3
  251. package/node_modules/has-symbols/index.js +0 -14
  252. package/node_modules/has-symbols/package.json +0 -111
  253. package/node_modules/has-symbols/shams.d.ts +0 -3
  254. package/node_modules/has-symbols/shams.js +0 -45
  255. package/node_modules/has-symbols/test/index.js +0 -22
  256. package/node_modules/has-symbols/test/shams/core-js.js +0 -29
  257. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  258. package/node_modules/has-symbols/test/tests.js +0 -58
  259. package/node_modules/has-symbols/tsconfig.json +0 -10
  260. package/node_modules/hasown/.eslintrc +0 -5
  261. package/node_modules/hasown/.github/FUNDING.yml +0 -12
  262. package/node_modules/hasown/.nycrc +0 -13
  263. package/node_modules/hasown/CHANGELOG.md +0 -40
  264. package/node_modules/hasown/LICENSE +0 -21
  265. package/node_modules/hasown/README.md +0 -40
  266. package/node_modules/hasown/index.d.ts +0 -3
  267. package/node_modules/hasown/index.js +0 -8
  268. package/node_modules/hasown/package.json +0 -92
  269. package/node_modules/hasown/tsconfig.json +0 -6
  270. package/node_modules/isarray/LICENSE +0 -21
  271. package/node_modules/isarray/README.md +0 -38
  272. package/node_modules/isarray/index.js +0 -5
  273. package/node_modules/isarray/package.json +0 -48
  274. package/node_modules/json-stable-stringify/.eslintrc +0 -31
  275. package/node_modules/json-stable-stringify/.github/FUNDING.yml +0 -12
  276. package/node_modules/json-stable-stringify/CHANGELOG.md +0 -160
  277. package/node_modules/json-stable-stringify/LICENSE +0 -21
  278. package/node_modules/json-stable-stringify/README.md +0 -157
  279. package/node_modules/json-stable-stringify/example/key_cmp.js +0 -9
  280. package/node_modules/json-stable-stringify/example/nested.js +0 -7
  281. package/node_modules/json-stable-stringify/example/str.js +0 -7
  282. package/node_modules/json-stable-stringify/example/value_cmp.js +0 -12
  283. package/node_modules/json-stable-stringify/index.d.ts +0 -25
  284. package/node_modules/json-stable-stringify/index.js +0 -124
  285. package/node_modules/json-stable-stringify/package.json +0 -88
  286. package/node_modules/json-stable-stringify/test/cmp.js +0 -33
  287. package/node_modules/json-stable-stringify/test/nested.js +0 -48
  288. package/node_modules/json-stable-stringify/test/replacer.js +0 -81
  289. package/node_modules/json-stable-stringify/test/space.js +0 -127
  290. package/node_modules/json-stable-stringify/test/str.js +0 -46
  291. package/node_modules/json-stable-stringify/test/to-json.js +0 -22
  292. package/node_modules/json-stable-stringify/tsconfig.json +0 -10
  293. package/node_modules/jsonify/.eslintrc +0 -21
  294. package/node_modules/jsonify/.github/FUNDING.yml +0 -12
  295. package/node_modules/jsonify/CHANGELOG.md +0 -48
  296. package/node_modules/jsonify/README.md +0 -66
  297. package/node_modules/jsonify/index.js +0 -4
  298. package/node_modules/jsonify/lib/parse.js +0 -261
  299. package/node_modules/jsonify/lib/stringify.js +0 -151
  300. package/node_modules/jsonify/package.json +0 -62
  301. package/node_modules/jsonify/test/parse.js +0 -20
  302. package/node_modules/jsonify/test/stringify.js +0 -18
  303. package/node_modules/math-intrinsics/.eslintrc +0 -16
  304. package/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  305. package/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  306. package/node_modules/math-intrinsics/LICENSE +0 -21
  307. package/node_modules/math-intrinsics/README.md +0 -50
  308. package/node_modules/math-intrinsics/abs.d.ts +0 -1
  309. package/node_modules/math-intrinsics/abs.js +0 -4
  310. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  311. package/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  312. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  313. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  314. package/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  315. package/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  316. package/node_modules/math-intrinsics/floor.d.ts +0 -1
  317. package/node_modules/math-intrinsics/floor.js +0 -4
  318. package/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  319. package/node_modules/math-intrinsics/isFinite.js +0 -12
  320. package/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  321. package/node_modules/math-intrinsics/isInteger.js +0 -16
  322. package/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  323. package/node_modules/math-intrinsics/isNaN.js +0 -6
  324. package/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  325. package/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  326. package/node_modules/math-intrinsics/max.d.ts +0 -1
  327. package/node_modules/math-intrinsics/max.js +0 -4
  328. package/node_modules/math-intrinsics/min.d.ts +0 -1
  329. package/node_modules/math-intrinsics/min.js +0 -4
  330. package/node_modules/math-intrinsics/mod.d.ts +0 -3
  331. package/node_modules/math-intrinsics/mod.js +0 -9
  332. package/node_modules/math-intrinsics/package.json +0 -86
  333. package/node_modules/math-intrinsics/pow.d.ts +0 -1
  334. package/node_modules/math-intrinsics/pow.js +0 -4
  335. package/node_modules/math-intrinsics/round.d.ts +0 -1
  336. package/node_modules/math-intrinsics/round.js +0 -4
  337. package/node_modules/math-intrinsics/sign.d.ts +0 -3
  338. package/node_modules/math-intrinsics/sign.js +0 -11
  339. package/node_modules/math-intrinsics/test/index.js +0 -192
  340. package/node_modules/math-intrinsics/tsconfig.json +0 -3
  341. package/node_modules/object-keys/.editorconfig +0 -13
  342. package/node_modules/object-keys/.eslintrc +0 -17
  343. package/node_modules/object-keys/.travis.yml +0 -277
  344. package/node_modules/object-keys/CHANGELOG.md +0 -232
  345. package/node_modules/object-keys/LICENSE +0 -21
  346. package/node_modules/object-keys/README.md +0 -76
  347. package/node_modules/object-keys/implementation.js +0 -122
  348. package/node_modules/object-keys/index.js +0 -32
  349. package/node_modules/object-keys/isArguments.js +0 -17
  350. package/node_modules/object-keys/package.json +0 -88
  351. package/node_modules/object-keys/test/index.js +0 -5
  352. package/node_modules/set-function-length/.eslintrc +0 -27
  353. package/node_modules/set-function-length/.github/FUNDING.yml +0 -12
  354. package/node_modules/set-function-length/.nycrc +0 -13
  355. package/node_modules/set-function-length/CHANGELOG.md +0 -70
  356. package/node_modules/set-function-length/LICENSE +0 -21
  357. package/node_modules/set-function-length/README.md +0 -56
  358. package/node_modules/set-function-length/env.d.ts +0 -9
  359. package/node_modules/set-function-length/env.js +0 -25
  360. package/node_modules/set-function-length/index.d.ts +0 -7
  361. package/node_modules/set-function-length/index.js +0 -42
  362. package/node_modules/set-function-length/package.json +0 -102
  363. package/node_modules/set-function-length/tsconfig.json +0 -9
@@ -7,8 +7,7 @@ exports.addCustomSynthesis = addCustomSynthesis;
7
7
  // SPDX-License-Identifier: MPL-2.0
8
8
  const path = require("path");
9
9
  const fs = require("fs");
10
- // eslint-disable-next-line @typescript-eslint/no-require-imports
11
- const stringify = require("json-stable-stringify");
10
+ const safe_stable_stringify_1 = require("safe-stable-stringify");
12
11
  const annotations_1 = require("../annotations");
13
12
  const constructs_1 = require("constructs");
14
13
  const aspect_1 = require("../aspect");
@@ -71,11 +70,11 @@ class StackSynthesizer {
71
70
  if (this.hclOutput) {
72
71
  const hcl = this.stack.toHclTerraform();
73
72
  fs.writeFileSync(path.join(session.outdir, stackManifest.synthesizedStackPath), hcl.hcl);
74
- fs.writeFileSync(path.join(session.outdir, stackManifest.stackMetadataPath), stringify(hcl.metadata, { space: 2 }));
73
+ fs.writeFileSync(path.join(session.outdir, stackManifest.stackMetadataPath), (0, safe_stable_stringify_1.default)(hcl.metadata, null, 2));
75
74
  return;
76
75
  }
77
76
  const jsonTfConfig = this.stack.toTerraform();
78
- fs.writeFileSync(path.join(session.outdir, stackManifest.synthesizedStackPath), stringify(jsonTfConfig, { space: 2 }));
77
+ fs.writeFileSync(path.join(session.outdir, stackManifest.synthesizedStackPath), (0, safe_stable_stringify_1.default)(jsonTfConfig, null, 2));
79
78
  }
80
79
  }
81
80
  exports.StackSynthesizer = StackSynthesizer;
@@ -143,4 +142,4 @@ function addCustomSynthesis(construct, synthesis) {
143
142
  function getCustomSynthesis(construct) {
144
143
  return construct[CUSTOM_SYNTHESIS_SYM];
145
144
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ludGhlc2l6ZS9zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5SEEsc0NBeUNDO0FBbUNELGdEQVFDO0FBN01ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixpRUFBaUU7QUFDakUsbURBQW9EO0FBR3BELGdEQUEwRTtBQUMxRSwyQ0FBdUU7QUFDdkUsc0NBQTZDO0FBRTdDLDBGQUFxRjtBQUNyRixzQ0FBZ0U7QUFFaEUsK0NBQStDO0FBQy9DLE1BQWEsZ0JBQWdCO0lBQzNCOzs7OztPQUtHO0lBQ0gsWUFDWSxLQUFxQixFQUN2Qiw2QkFBNkIsS0FBSyxFQUNsQyxZQUFZLEtBQUs7UUFGZixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN2QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQVE7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUN4QixDQUFDO0lBRUosVUFBVSxDQUFDLE9BQTBCO1FBQ25DLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUMzQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsMkdBQTJHLENBQzVHLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ2hDLE9BQU8sQ0FBQyxNQUFNLEVBQ2QsYUFBYSxDQUFDLGdCQUFnQixDQUMvQixDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7WUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFckUscURBQXFEO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTthQUNaLE9BQU8sQ0FBQywyQkFBYyxDQUFDLFNBQVMsQ0FBQzthQUNqQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXRFLG9DQUFvQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7YUFDaEMsT0FBTyxFQUFFO2FBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsSUFBSTtZQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7U0FDM0QsQ0FBQyxDQUFDO2FBQ0YsR0FBRyxDQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FDOUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzdCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBbUM7WUFDbkQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ3RCLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUMsQ0FDSjthQUNBLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWU7UUFFNUUsMkVBQTJFO1FBQzFFLGFBQWEsQ0FBQyxXQUFtQixHQUFHLFdBQVcsQ0FBQztRQUVqRCwrREFBK0Q7UUFDL0QsSUFDRSxDQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUNuQyxDQUFDO1lBQ0QsTUFBTSxJQUFBLDRDQUFtQyxFQUN2QyxXQUFXO2lCQUNSLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztpQkFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hDLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUM3RCxHQUFHLENBQUMsR0FBRyxDQUNSLENBQUM7WUFFRixFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsaUJBQWtCLENBQUMsRUFDM0QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQVcsQ0FDaEQsQ0FBQztZQUVGLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5QyxFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsb0JBQW9CLENBQUMsRUFDN0QsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBVyxDQUNoRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbEdELDRDQWtHQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsSUFBZ0I7SUFDNUMsTUFBTSxhQUFhLEdBQXNDLEVBQUUsQ0FBQztJQUU1RCxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNoQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWxCLCtDQUErQztJQUMvQyxTQUFTLE9BQU8sQ0FBQyxTQUFxQixFQUFFLGdCQUEyQjtRQUNqRSxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLGdCQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDNUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNwQyxJQUFJLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM3QixTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFeEIsMEdBQTBHO1lBQzFHLG1HQUFtRztZQUNuRyxJQUFJLENBQUMsbUJBQW1CLElBQUksZ0JBQWdCLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEUseUJBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUNsQyw2RUFBNkUsQ0FDOUUsQ0FBQztnQkFDRixtQkFBbUIsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztZQUVELGdDQUFnQztZQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLDRCQUE0QixHQUFHO0lBQ25DLHlDQUEyQixDQUFDLElBQUk7SUFDaEMseUNBQTJCLENBQUMsSUFBSTtJQUNoQyx5Q0FBMkIsQ0FBQyxLQUFLO0NBQ3RCLENBQUM7QUFFZCwrQ0FBK0M7QUFDL0MsU0FBUyxvQkFBb0IsQ0FBQyxRQUF1QjtJQUNuRCxPQUFPLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELCtDQUErQztBQUMvQyxTQUFTLGlCQUFpQixDQUFDLFVBQTJCO0lBQ3BELE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyx5Q0FBMkIsQ0FBQyxLQUFLLENBQUM7QUFDaEUsQ0FBQztBQUVELHFKQUFxSjtBQUNySixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWVqRSwrQ0FBK0M7QUFDL0MsU0FBZ0Isa0JBQWtCLENBQ2hDLFNBQXFCLEVBQ3JCLFNBQTJCO0lBRTNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLG9CQUFvQixFQUFFO1FBQ3JELEtBQUssRUFBRSxTQUFTO1FBQ2hCLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsU0FBUyxrQkFBa0IsQ0FDekIsU0FBcUI7SUFFckIsT0FBUSxTQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5pbXBvcnQgc3RyaW5naWZ5ID0gcmVxdWlyZShcImpzb24tc3RhYmxlLXN0cmluZ2lmeVwiKTtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgSVN0YWNrU3ludGhlc2l6ZXIsIElTeW50aGVzaXNTZXNzaW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSwgQW5ub3RhdGlvbnMgfSBmcm9tIFwiLi4vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdE9yZGVyLCBJQ29uc3RydWN0LCBNZXRhZGF0YUVudHJ5IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFzcGVjdHMsIElBc3BlY3QgfSBmcm9tIFwiLi4vYXNwZWN0XCI7XG5pbXBvcnQgeyBTdGFja0Fubm90YXRpb24gfSBmcm9tIFwiLi4vbWFuaWZlc3RcIjtcbmltcG9ydCB7IFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbiB9IGZyb20gXCIuLi92YWxpZGF0aW9ucy92YWxpZGF0ZS10ZXJyYWZvcm0tdmVyc2lvblwiO1xuaW1wb3J0IHsgZW5jb3VudGVyZWRBbm5vdGF0aW9uV2l0aExldmVsRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgU3RhY2tTeW50aGVzaXplciBpbXBsZW1lbnRzIElTdGFja1N5bnRoZXNpemVyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBzdGFjayB0aGUgc3RhY2sgdG8gc3ludGhlc2l6ZVxuICAgKiBAcGFyYW0gY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgaWYgc2V0IHRvIHRydWUsIGBzeW50aGVzaXplKClgIHdpbGwgbm90IHRocm93IGFuIGVycm9yXG4gICAqIGlmIGl0IGVuY291bnRlcnMgYW4gZXJyb3IgQW5ub3RhdGlvbi4gSG93ZXZlciwgaXQgd2lsbCBzdGlsbCBhZGQgYWxsIGVycm9ycyB0byB0aGUgbWFuaWZlc3RcbiAgICogZmlsZS4gVGhlIGNka3RuLWNsaSB1c2VzIHRoaXMgZmxhZyB0byBwcmludCB0aGUgZXJyb3JzIGl0c2VsZi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdGFjazogVGVycmFmb3JtU3RhY2ssXG4gICAgcHJpdmF0ZSBjb250aW51ZU9uRXJyb3JBbm5vdGF0aW9ucyA9IGZhbHNlLFxuICAgIHByaXZhdGUgaGNsT3V0cHV0ID0gZmFsc2UsXG4gICkge31cblxuICBzeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgaW52b2tlQXNwZWN0cyh0aGlzLnN0YWNrKTtcblxuICAgIGlmICh0aGlzLnN0YWNrLmhhc1Jlc291cmNlTW92ZSgpKSB7XG4gICAgICB0aGlzLnN0YWNrLm5vZGUuYWRkVmFsaWRhdGlvbihcbiAgICAgICAgbmV3IFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbihcbiAgICAgICAgICBcIj49MS41XCIsXG4gICAgICAgICAgYFJlc291cmNlIG1vdmUgZnVuY3Rpb25hbGl0eSBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgVGVycmFmb3JtID49MS41LiBQbGVhc2UgdXBncmFkZSB5b3VyIFRlcnJhZm9ybSB2ZXJzaW9uLmAsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghc2Vzc2lvbi5za2lwVmFsaWRhdGlvbikge1xuICAgICAgdGhpcy5zdGFjay5ydW5BbGxWYWxpZGF0aW9ucygpO1xuICAgIH1cblxuICAgIGNvbnN0IG1hbmlmZXN0ID0gc2Vzc2lvbi5tYW5pZmVzdDtcbiAgICBjb25zdCBzdGFja01hbmlmZXN0ID0gbWFuaWZlc3QuZm9yU3RhY2sodGhpcy5zdGFjayk7XG5cbiAgICBjb25zdCB3b3JraW5nRGlyZWN0b3J5ID0gcGF0aC5qb2luKFxuICAgICAgc2Vzc2lvbi5vdXRkaXIsXG4gICAgICBzdGFja01hbmlmZXN0LndvcmtpbmdEaXJlY3RvcnksXG4gICAgKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMod29ya2luZ0RpcmVjdG9yeSkpIGZzLm1rZGlyU3luYyh3b3JraW5nRGlyZWN0b3J5KTtcblxuICAgIC8vIGNhbGwgY3VzdG9tIHN5bnRoZXNpcyBvbiBjaGlsZCBub2RlcyAobGVhZnMgZmlyc3QpXG4gICAgdGhpcy5zdGFjay5ub2RlXG4gICAgICAuZmluZEFsbChDb25zdHJ1Y3RPcmRlci5QT1NUT1JERVIpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gZ2V0Q3VzdG9tU3ludGhlc2lzKG5vZGUpPy5vblN5bnRoZXNpemUoc2Vzc2lvbikpO1xuXG4gICAgLy8gY29sbGVjdCBBbm5vdGF0aW9ucyBpbnRvIE1hbmlmZXN0XG4gICAgY29uc3QgYW5ub3RhdGlvbnMgPSB0aGlzLnN0YWNrLm5vZGVcbiAgICAgIC5maW5kQWxsKClcbiAgICAgIC5tYXAoKG5vZGUpID0+ICh7XG4gICAgICAgIG5vZGUsXG4gICAgICAgIG1ldGFkYXRhczogbm9kZS5ub2RlLm1ldGFkYXRhLmZpbHRlcihpc0Fubm90YXRpb25NZXRhZGF0YSksXG4gICAgICB9KSlcbiAgICAgIC5tYXA8U3RhY2tBbm5vdGF0aW9uW10+KCh7IG5vZGUsIG1ldGFkYXRhcyB9KSA9PlxuICAgICAgICBtZXRhZGF0YXMubWFwKChtZXRhZGF0YSkgPT4gKHtcbiAgICAgICAgICBjb25zdHJ1Y3RQYXRoOiBub2RlLm5vZGUucGF0aCxcbiAgICAgICAgICBsZXZlbDogbWV0YWRhdGEudHlwZSBhcyBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUsXG4gICAgICAgICAgbWVzc2FnZTogbWV0YWRhdGEuZGF0YSxcbiAgICAgICAgICBzdGFja3RyYWNlOiBtZXRhZGF0YS50cmFjZSxcbiAgICAgICAgfSkpLFxuICAgICAgKVxuICAgICAgLnJlZHVjZSgobGlzdCwgbWV0YWRhdGFzKSA9PiBbLi4ubGlzdCwgLi4ubWV0YWRhdGFzXSwgW10pOyAvLyBBcnJheS5mbGF0KClcblxuICAgIC8vIGl0IGlzIHJlYWRvbmx5IGJ1dCB0aGlzIGlzIHRoZSBwbGFjZSB3aGVyZSB3ZSBhcmUgYWxsb3dlZCB0byB3cml0ZSB0byBpdFxuICAgIChzdGFja01hbmlmZXN0LmFubm90YXRpb25zIGFzIGFueSkgPSBhbm5vdGF0aW9ucztcblxuICAgIC8vIGFib3J0IGlmIG9uZSBvciBtb3JlIGVycm9yIGFubm90YXRpb25zIGhhdmUgYmVlbiBlbmNvdW50ZXJlZFxuICAgIGlmIChcbiAgICAgICF0aGlzLmNvbnRpbnVlT25FcnJvckFubm90YXRpb25zICYmXG4gICAgICBhbm5vdGF0aW9ucy5zb21lKGlzRXJyb3JBbm5vdGF0aW9uKVxuICAgICkge1xuICAgICAgdGhyb3cgZW5jb3VudGVyZWRBbm5vdGF0aW9uV2l0aExldmVsRXJyb3IoXG4gICAgICAgIGFubm90YXRpb25zXG4gICAgICAgICAgLmZpbHRlcihpc0Vycm9yQW5ub3RhdGlvbilcbiAgICAgICAgICAubWFwKChhKSA9PiBgWyR7YS5jb25zdHJ1Y3RQYXRofV0gJHthLm1lc3NhZ2V9YClcbiAgICAgICAgICAuam9pbihcIlxcblwiKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGNsT3V0cHV0KSB7XG4gICAgICBjb25zdCBoY2wgPSB0aGlzLnN0YWNrLnRvSGNsVGVycmFmb3JtKCk7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgICBoY2wuaGNsLFxuICAgICAgKTtcblxuICAgICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgICAgcGF0aC5qb2luKHNlc3Npb24ub3V0ZGlyLCBzdGFja01hbmlmZXN0LnN0YWNrTWV0YWRhdGFQYXRoISksXG4gICAgICAgIHN0cmluZ2lmeShoY2wubWV0YWRhdGEsIHsgc3BhY2U6IDIgfSkgYXMgc3RyaW5nLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGpzb25UZkNvbmZpZyA9IHRoaXMuc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgc3RyaW5naWZ5KGpzb25UZkNvbmZpZywgeyBzcGFjZTogMiB9KSBhcyBzdHJpbmcsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZSBhc3BlY3RzIG9uIHRoZSBnaXZlbiBjb25zdHJ1Y3QgdHJlZS5cbiAqXG4gKiBvcmlnaW5hbGx5IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvZGNhZTNlZWFkMGRiZjlhY2IxZWQ4MGJhOTViYjEwNGM2NGNiMWJkNy9wYWNrYWdlcy9AYXdzLWNkay9jb3JlL2xpYi9wcml2YXRlL3N5bnRoZXNpcy50cyNMOTktTDEzN1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXNwZWN0cyhyb290OiBJQ29uc3RydWN0KSB7XG4gIGNvbnN0IGludm9rZWRCeVBhdGg6IHsgW25vZGVQYXRoOiBzdHJpbmddOiBJQXNwZWN0W10gfSA9IHt9O1xuXG4gIGxldCBuZXN0ZWRBc3BlY3RXYXJuaW5nID0gZmFsc2U7XG4gIHJlY3Vyc2Uocm9vdCwgW10pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gIGZ1bmN0aW9uIHJlY3Vyc2UoY29uc3RydWN0OiBJQ29uc3RydWN0LCBpbmhlcml0ZWRBc3BlY3RzOiBJQXNwZWN0W10pIHtcbiAgICBjb25zdCBub2RlID0gY29uc3RydWN0Lm5vZGU7XG4gICAgY29uc3QgYXNwZWN0cyA9IEFzcGVjdHMub2YoY29uc3RydWN0KTtcbiAgICBjb25zdCBhbGxBc3BlY3RzSGVyZSA9IFsuLi4oaW5oZXJpdGVkQXNwZWN0cyA/PyBbXSksIC4uLmFzcGVjdHMuYWxsXTtcbiAgICBjb25zdCBub2RlQXNwZWN0c0NvdW50ID0gYXNwZWN0cy5hbGwubGVuZ3RoO1xuICAgIGZvciAoY29uc3QgYXNwZWN0IG9mIGFsbEFzcGVjdHNIZXJlKSB7XG4gICAgICBsZXQgaW52b2tlZCA9IGludm9rZWRCeVBhdGhbbm9kZS5wYXRoXTtcbiAgICAgIGlmICghaW52b2tlZCkge1xuICAgICAgICBpbnZva2VkID0gaW52b2tlZEJ5UGF0aFtub2RlLnBhdGhdID0gW107XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnZva2VkLmluY2x1ZGVzKGFzcGVjdCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGFzcGVjdC52aXNpdChjb25zdHJ1Y3QpO1xuXG4gICAgICAvLyBpZiBhbiBhc3BlY3Qgd2FzIGFkZGVkIHRvIHRoZSBub2RlIHdoaWxlIGludm9raW5nIGFub3RoZXIgYXNwZWN0IGl0IHdpbGwgbm90IGJlIGludm9rZWQsIGVtaXQgYSB3YXJuaW5nXG4gICAgICAvLyB0aGUgYG5lc3RlZEFzcGVjdFdhcm5pbmdgIGZsYWcgaXMgdXNlZCB0byBwcmV2ZW50IHRoZSB3YXJuaW5nIGZyb20gYmVpbmcgZW1pdHRlZCBmb3IgZXZlcnkgY2hpbGRcbiAgICAgIGlmICghbmVzdGVkQXNwZWN0V2FybmluZyAmJiBub2RlQXNwZWN0c0NvdW50ICE9PSBhc3BlY3RzLmFsbC5sZW5ndGgpIHtcbiAgICAgICAgQW5ub3RhdGlvbnMub2YoY29uc3RydWN0KS5hZGRXYXJuaW5nKFxuICAgICAgICAgIFwiV2UgZGV0ZWN0ZWQgYW4gQXNwZWN0IHdhcyBhZGRlZCB2aWEgYW5vdGhlciBBc3BlY3QsIGFuZCB3aWxsIG5vdCBiZSBhcHBsaWVkXCIsXG4gICAgICAgICk7XG4gICAgICAgIG5lc3RlZEFzcGVjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBtYXJrIGFzIGludm9rZWQgZm9yIHRoaXMgbm9kZVxuICAgICAgaW52b2tlZC5wdXNoKGFzcGVjdCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb25zdHJ1Y3Qubm9kZS5jaGlsZHJlbikge1xuICAgICAgcmVjdXJzZShjaGlsZCwgYWxsQXNwZWN0c0hlcmUpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGVzID0gW1xuICBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuSU5GTyxcbiAgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLldBUk4sXG4gIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUixcbl0gYXMgc3RyaW5nW107XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBpc0Fubm90YXRpb25NZXRhZGF0YShtZXRhZGF0YTogTWV0YWRhdGFFbnRyeSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlcy5pbmNsdWRlcyhtZXRhZGF0YS50eXBlKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGlzRXJyb3JBbm5vdGF0aW9uKGFubm90YXRpb246IFN0YWNrQW5ub3RhdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gYW5ub3RhdGlvbi5sZXZlbCA9PT0gQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLkVSUk9SO1xufVxuXG4vLyBvcmlnaW5hbGx5IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvZGNhZTNlZWFkMGRiZjlhY2IxZWQ4MGJhOTViYjEwNGM2NGNiMWJkNy9wYWNrYWdlcy8lNDBhd3MtY2RrL2NvcmUvbGliL3ByaXZhdGUvc3ludGhlc2lzLnRzI0w1MlxuY29uc3QgQ1VTVE9NX1NZTlRIRVNJU19TWU0gPSBTeW1ib2wuZm9yKFwiY2RrdGYvY3VzdG9tU3ludGhlc2lzXCIpO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY29uc3RydWN0cyB0aGF0IHdhbnQgdG8gZG8gc29tZXRoaW5nIGN1c3RvbSBkdXJpbmcgc3ludGhlc2lzXG4gKlxuICogVGhpcyBmZWF0dXJlIGlzIGludGVuZGVkIGZvciB1c2UgYnkgdGhlIENES1ROIG9ubHk7IDNyZCBwYXJ0eVxuICogbGlicmFyeSBhdXRob3JzIGFuZCBDREsgdXNlcnMgc2hvdWxkIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3VzdG9tU3ludGhlc2lzIHtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBjb25zdHJ1Y3QgaXMgc3ludGhlc2l6ZWRcbiAgICovXG4gIG9uU3ludGhlc2l6ZShzZXNzaW9uOiBJU3ludGhlc2lzU2Vzc2lvbik6IHZvaWQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgZnVuY3Rpb24gYWRkQ3VzdG9tU3ludGhlc2lzKFxuICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QsXG4gIHN5bnRoZXNpczogSUN1c3RvbVN5bnRoZXNpcyxcbik6IHZvaWQge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29uc3RydWN0LCBDVVNUT01fU1lOVEhFU0lTX1NZTSwge1xuICAgIHZhbHVlOiBzeW50aGVzaXMsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gIH0pO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZ2V0Q3VzdG9tU3ludGhlc2lzKFxuICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QsXG4pOiBJQ3VzdG9tU3ludGhlc2lzIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChjb25zdHJ1Y3QgYXMgYW55KVtDVVNUT01fU1lOVEhFU0lTX1NZTV07XG59XG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ludGhlc2l6ZS9zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3SEEsc0NBeUNDO0FBbUNELGdEQVFDO0FBNU1ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixpRUFBOEM7QUFHOUMsZ0RBQTBFO0FBQzFFLDJDQUF1RTtBQUN2RSxzQ0FBNkM7QUFFN0MsMEZBQXFGO0FBQ3JGLHNDQUFnRTtBQUVoRSwrQ0FBK0M7QUFDL0MsTUFBYSxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxZQUNZLEtBQXFCLEVBQ3ZCLDZCQUE2QixLQUFLLEVBQ2xDLFlBQVksS0FBSztRQUZmLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBUTtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ3hCLENBQUM7SUFFSixVQUFVLENBQUMsT0FBMEI7UUFDbkMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQzNCLElBQUkscURBQXdCLENBQzFCLE9BQU8sRUFDUCwyR0FBMkcsQ0FDNUcsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBE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LFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsU0FBUyxrQkFBa0IsQ0FDekIsU0FBcUI7SUFFckIsT0FBUSxTQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBzdHJpbmdpZnkgZnJvbSBcInNhZmUtc3RhYmxlLXN0cmluZ2lmeVwiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQgeyBJU3RhY2tTeW50aGVzaXplciwgSVN5bnRoZXNpc1Nlc3Npb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLCBBbm5vdGF0aW9ucyB9IGZyb20gXCIuLi9hbm5vdGF0aW9uc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0T3JkZXIsIElDb25zdHJ1Y3QsIE1ldGFkYXRhRW50cnkgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXNwZWN0cywgSUFzcGVjdCB9IGZyb20gXCIuLi9hc3BlY3RcIjtcbmltcG9ydCB7IFN0YWNrQW5ub3RhdGlvbiB9IGZyb20gXCIuLi9tYW5pZmVzdFwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4uL3ZhbGlkYXRpb25zL3ZhbGlkYXRlLXRlcnJhZm9ybS12ZXJzaW9uXCI7XG5pbXBvcnQgeyBlbmNvdW50ZXJlZEFubm90YXRpb25XaXRoTGV2ZWxFcnJvciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBTdGFja1N5bnRoZXNpemVyIGltcGxlbWVudHMgSVN0YWNrU3ludGhlc2l6ZXIge1xuICAvKipcbiAgICogQHBhcmFtIHN0YWNrIHRoZSBzdGFjayB0byBzeW50aGVzaXplXG4gICAqIEBwYXJhbSBjb250aW51ZU9uRXJyb3JBbm5vdGF0aW9ucyBpZiBzZXQgdG8gdHJ1ZSwgYHN5bnRoZXNpemUoKWAgd2lsbCBub3QgdGhyb3cgYW4gZXJyb3JcbiAgICogaWYgaXQgZW5jb3VudGVycyBhbiBlcnJvciBBbm5vdGF0aW9uLiBIb3dldmVyLCBpdCB3aWxsIHN0aWxsIGFkZCBhbGwgZXJyb3JzIHRvIHRoZSBtYW5pZmVzdFxuICAgKiBmaWxlLiBUaGUgY2RrdG4tY2xpIHVzZXMgdGhpcyBmbGFnIHRvIHByaW50IHRoZSBlcnJvcnMgaXRzZWxmLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN0YWNrOiBUZXJyYWZvcm1TdGFjayxcbiAgICBwcml2YXRlIGNvbnRpbnVlT25FcnJvckFubm90YXRpb25zID0gZmFsc2UsXG4gICAgcHJpdmF0ZSBoY2xPdXRwdXQgPSBmYWxzZSxcbiAgKSB7fVxuXG4gIHN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pIHtcbiAgICBpbnZva2VBc3BlY3RzKHRoaXMuc3RhY2spO1xuXG4gICAgaWYgKHRoaXMuc3RhY2suaGFzUmVzb3VyY2VNb3ZlKCkpIHtcbiAgICAgIHRoaXMuc3RhY2subm9kZS5hZGRWYWxpZGF0aW9uKFxuICAgICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICAgIFwiPj0xLjVcIixcbiAgICAgICAgICBgUmVzb3VyY2UgbW92ZSBmdW5jdGlvbmFsaXR5IGlzIG9ubHkgc3VwcG9ydGVkIGZvciBUZXJyYWZvcm0gPj0xLjUuIFBsZWFzZSB1cGdyYWRlIHlvdXIgVGVycmFmb3JtIHZlcnNpb24uYCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFzZXNzaW9uLnNraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLnN0YWNrLnJ1bkFsbFZhbGlkYXRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWFuaWZlc3QgPSBzZXNzaW9uLm1hbmlmZXN0O1xuICAgIGNvbnN0IHN0YWNrTWFuaWZlc3QgPSBtYW5pZmVzdC5mb3JTdGFjayh0aGlzLnN0YWNrKTtcblxuICAgIGNvbnN0IHdvcmtpbmdEaXJlY3RvcnkgPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Qud29ya2luZ0RpcmVjdG9yeSxcbiAgICApO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh3b3JraW5nRGlyZWN0b3J5KSkgZnMubWtkaXJTeW5jKHdvcmtpbmdEaXJlY3RvcnkpO1xuXG4gICAgLy8gY2FsbCBjdXN0b20gc3ludGhlc2lzIG9uIGNoaWxkIG5vZGVzIChsZWFmcyBmaXJzdClcbiAgICB0aGlzLnN0YWNrLm5vZGVcbiAgICAgIC5maW5kQWxsKENvbnN0cnVjdE9yZGVyLlBPU1RPUkRFUilcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiBnZXRDdXN0b21TeW50aGVzaXMobm9kZSk/Lm9uU3ludGhlc2l6ZShzZXNzaW9uKSk7XG5cbiAgICAvLyBjb2xsZWN0IEFubm90YXRpb25zIGludG8gTWFuaWZlc3RcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHRoaXMuc3RhY2subm9kZVxuICAgICAgLmZpbmRBbGwoKVxuICAgICAgLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbWV0YWRhdGFzOiBub2RlLm5vZGUubWV0YWRhdGEuZmlsdGVyKGlzQW5ub3RhdGlvbk1ldGFkYXRhKSxcbiAgICAgIH0pKVxuICAgICAgLm1hcDxTdGFja0Fubm90YXRpb25bXT4oKHsgbm9kZSwgbWV0YWRhdGFzIH0pID0+XG4gICAgICAgIG1ldGFkYXRhcy5tYXAoKG1ldGFkYXRhKSA9PiAoe1xuICAgICAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUubm9kZS5wYXRoLFxuICAgICAgICAgIGxldmVsOiBtZXRhZGF0YS50eXBlIGFzIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSxcbiAgICAgICAgICBtZXNzYWdlOiBtZXRhZGF0YS5kYXRhLFxuICAgICAgICAgIHN0YWNrdHJhY2U6IG1ldGFkYXRhLnRyYWNlLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAucmVkdWNlKChsaXN0LCBtZXRhZGF0YXMpID0+IFsuLi5saXN0LCAuLi5tZXRhZGF0YXNdLCBbXSk7IC8vIEFycmF5LmZsYXQoKVxuXG4gICAgLy8gaXQgaXMgcmVhZG9ubHkgYnV0IHRoaXMgaXMgdGhlIHBsYWNlIHdoZXJlIHdlIGFyZSBhbGxvd2VkIHRvIHdyaXRlIHRvIGl0XG4gICAgKHN0YWNrTWFuaWZlc3QuYW5ub3RhdGlvbnMgYXMgYW55KSA9IGFubm90YXRpb25zO1xuXG4gICAgLy8gYWJvcnQgaWYgb25lIG9yIG1vcmUgZXJyb3IgYW5ub3RhdGlvbnMgaGF2ZSBiZWVuIGVuY291bnRlcmVkXG4gICAgaWYgKFxuICAgICAgIXRoaXMuY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgJiZcbiAgICAgIGFubm90YXRpb25zLnNvbWUoaXNFcnJvckFubm90YXRpb24pXG4gICAgKSB7XG4gICAgICB0aHJvdyBlbmNvdW50ZXJlZEFubm90YXRpb25XaXRoTGV2ZWxFcnJvcihcbiAgICAgICAgYW5ub3RhdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKGlzRXJyb3JBbm5vdGF0aW9uKVxuICAgICAgICAgIC5tYXAoKGEpID0+IGBbJHthLmNvbnN0cnVjdFBhdGh9XSAke2EubWVzc2FnZX1gKVxuICAgICAgICAgIC5qb2luKFwiXFxuXCIpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oY2xPdXRwdXQpIHtcbiAgICAgIGNvbnN0IGhjbCA9IHRoaXMuc3RhY2sudG9IY2xUZXJyYWZvcm0oKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICAgIHBhdGguam9pbihzZXNzaW9uLm91dGRpciwgc3RhY2tNYW5pZmVzdC5zeW50aGVzaXplZFN0YWNrUGF0aCksXG4gICAgICAgIGhjbC5oY2wsXG4gICAgICApO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3RhY2tNZXRhZGF0YVBhdGghKSxcbiAgICAgICAgc3RyaW5naWZ5KGhjbC5tZXRhZGF0YSwgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGpzb25UZkNvbmZpZyA9IHRoaXMuc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgc3RyaW5naWZ5KGpzb25UZkNvbmZpZywgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnZva2UgYXNwZWN0cyBvbiB0aGUgZ2l2ZW4gY29uc3RydWN0IHRyZWUuXG4gKlxuICogb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvQGF3cy1jZGsvY29yZS9saWIvcHJpdmF0ZS9zeW50aGVzaXMudHMjTDk5LUwxMzdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUFzcGVjdHMocm9vdDogSUNvbnN0cnVjdCkge1xuICBjb25zdCBpbnZva2VkQnlQYXRoOiB7IFtub2RlUGF0aDogc3RyaW5nXTogSUFzcGVjdFtdIH0gPSB7fTtcblxuICBsZXQgbmVzdGVkQXNwZWN0V2FybmluZyA9IGZhbHNlO1xuICByZWN1cnNlKHJvb3QsIFtdKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICBmdW5jdGlvbiByZWN1cnNlKGNvbnN0cnVjdDogSUNvbnN0cnVjdCwgaW5oZXJpdGVkQXNwZWN0czogSUFzcGVjdFtdKSB7XG4gICAgY29uc3Qgbm9kZSA9IGNvbnN0cnVjdC5ub2RlO1xuICAgIGNvbnN0IGFzcGVjdHMgPSBBc3BlY3RzLm9mKGNvbnN0cnVjdCk7XG4gICAgY29uc3QgYWxsQXNwZWN0c0hlcmUgPSBbLi4uKGluaGVyaXRlZEFzcGVjdHMgPz8gW10pLCAuLi5hc3BlY3RzLmFsbF07XG4gICAgY29uc3Qgbm9kZUFzcGVjdHNDb3VudCA9IGFzcGVjdHMuYWxsLmxlbmd0aDtcbiAgICBmb3IgKGNvbnN0IGFzcGVjdCBvZiBhbGxBc3BlY3RzSGVyZSkge1xuICAgICAgbGV0IGludm9rZWQgPSBpbnZva2VkQnlQYXRoW25vZGUucGF0aF07XG4gICAgICBpZiAoIWludm9rZWQpIHtcbiAgICAgICAgaW52b2tlZCA9IGludm9rZWRCeVBhdGhbbm9kZS5wYXRoXSA9IFtdO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW52b2tlZC5pbmNsdWRlcyhhc3BlY3QpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBhc3BlY3QudmlzaXQoY29uc3RydWN0KTtcblxuICAgICAgLy8gaWYgYW4gYXNwZWN0IHdhcyBhZGRlZCB0byB0aGUgbm9kZSB3aGlsZSBpbnZva2luZyBhbm90aGVyIGFzcGVjdCBpdCB3aWxsIG5vdCBiZSBpbnZva2VkLCBlbWl0IGEgd2FybmluZ1xuICAgICAgLy8gdGhlIGBuZXN0ZWRBc3BlY3RXYXJuaW5nYCBmbGFnIGlzIHVzZWQgdG8gcHJldmVudCB0aGUgd2FybmluZyBmcm9tIGJlaW5nIGVtaXR0ZWQgZm9yIGV2ZXJ5IGNoaWxkXG4gICAgICBpZiAoIW5lc3RlZEFzcGVjdFdhcm5pbmcgJiYgbm9kZUFzcGVjdHNDb3VudCAhPT0gYXNwZWN0cy5hbGwubGVuZ3RoKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKGNvbnN0cnVjdCkuYWRkV2FybmluZyhcbiAgICAgICAgICBcIldlIGRldGVjdGVkIGFuIEFzcGVjdCB3YXMgYWRkZWQgdmlhIGFub3RoZXIgQXNwZWN0LCBhbmQgd2lsbCBub3QgYmUgYXBwbGllZFwiLFxuICAgICAgICApO1xuICAgICAgICBuZXN0ZWRBc3BlY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gbWFyayBhcyBpbnZva2VkIGZvciB0aGlzIG5vZGVcbiAgICAgIGludm9rZWQucHVzaChhc3BlY3QpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29uc3RydWN0Lm5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIHJlY3Vyc2UoY2hpbGQsIGFsbEFzcGVjdHNIZXJlKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgYW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlcyA9IFtcbiAgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLklORk8sXG4gIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5XQVJOLFxuICBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuRVJST1IsXG5dIGFzIHN0cmluZ1tdO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gaXNBbm5vdGF0aW9uTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFkYXRhRW50cnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZXMuaW5jbHVkZXMobWV0YWRhdGEudHlwZSk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBpc0Vycm9yQW5ub3RhdGlvbihhbm5vdGF0aW9uOiBTdGFja0Fubm90YXRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb24ubGV2ZWwgPT09IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUjtcbn1cblxuLy8gb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvJTQwYXdzLWNkay9jb3JlL2xpYi9wcml2YXRlL3N5bnRoZXNpcy50cyNMNTJcbmNvbnN0IENVU1RPTV9TWU5USEVTSVNfU1lNID0gU3ltYm9sLmZvcihcImNka3RmL2N1c3RvbVN5bnRoZXNpc1wiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbnN0cnVjdHMgdGhhdCB3YW50IHRvIGRvIHNvbWV0aGluZyBjdXN0b20gZHVyaW5nIHN5bnRoZXNpc1xuICpcbiAqIFRoaXMgZmVhdHVyZSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSBDREtUTiBvbmx5OyAzcmQgcGFydHlcbiAqIGxpYnJhcnkgYXV0aG9ycyBhbmQgQ0RLIHVzZXJzIHNob3VsZCBub3QgdXNlIHRoaXMgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVN5bnRoZXNpcyB7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY29uc3RydWN0IGlzIHN5bnRoZXNpemVkXG4gICAqL1xuICBvblN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuICBzeW50aGVzaXM6IElDdXN0b21TeW50aGVzaXMsXG4pOiB2b2lkIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdCwgQ1VTVE9NX1NZTlRIRVNJU19TWU0sIHtcbiAgICB2YWx1ZTogc3ludGhlc2lzLFxuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICB9KTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGdldEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuKTogSUN1c3RvbVN5bnRoZXNpcyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiAoY29uc3RydWN0IGFzIGFueSlbQ1VTVE9NX1NZTlRIRVNJU19TWU1dO1xufVxuIl19
@@ -116,5 +116,5 @@ class TerraformAsset extends constructs_1.Construct {
116
116
  }
117
117
  exports.TerraformAsset = TerraformAsset;
118
118
  _a = JSII_RTTI_SYMBOL_1;
119
- TerraformAsset[_a] = { fqn: "cdktn.TerraformAsset", version: "0.23.2" };
119
+ TerraformAsset[_a] = { fqn: "cdktn.TerraformAsset", version: "0.23.3" };
120
120
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWFzc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1hc3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQXVDO0FBQ3ZDLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IscUNBS3NCO0FBRXRCLDBEQUE4RDtBQUM5RCx1REFBbUQ7QUFDbkQscUNBSWtCO0FBV2xCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBSSxDQUFBO0lBQ0osbURBQVMsQ0FBQTtJQUNULCtDQUFPLENBQUE7QUFDVCxDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCO0FBRUQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBRWxDLCtDQUErQztBQUMvQyxNQUFhLGNBQWUsU0FBUSxzQkFBUztJQVEzQzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxhQUFhLEdBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztnQkFDekMsSUFBQSxxQkFBZ0IsRUFBQyxZQUFZLENBQUMsQ0FBQztZQUNqQyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQiwwSEFBMEg7Z0JBQzFILE1BQU0sWUFB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SUFBQSxnQ0FBdUIsR0FBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDOztBQTVISCx3Q0E2SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgY29weVN5bmMsXG4gIGFyY2hpdmVTeW5jLFxuICBoYXNoUGF0aCxcbiAgZmluZEZpbGVBYm92ZUN3ZCxcbn0gZnJvbSBcIi4vcHJpdmF0ZS9mc1wiO1xuaW1wb3J0IHsgSVN5bnRoZXNpc1Nlc3Npb24gfSBmcm9tIFwiLi9zeW50aGVzaXplXCI7XG5pbXBvcnQgeyBhZGRDdXN0b21TeW50aGVzaXMgfSBmcm9tIFwiLi9zeW50aGVzaXplL3N5bnRoZXNpemVyXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHtcbiAgYXNzZXRFeHBlY3RzRGlyZWN0b3J5LFxuICBhc3NldE91dE9mU2NvcGVPZkNES1RGSnNvbixcbiAgYXNzZXRUeXBlTm90SW1wbGVtZW50ZWQsXG59IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUFzc2V0Q29uZmlnIHtcbiAgLy8gcGF0aCB0byB0aGUgZmlsZSBvciBmb2xkZXIgY29uZmlndXJlZC4gSWYgcmVsYXRpdmUsIHRoZSBwYXRoIGlzIHJlc29sdmVkIGZyb20gdGhlIGxvY2F0aW9uIG9mIGNka3RmLmpzb25cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICAvLyBmaWxlIHR5cGUgb2YgdGhlIGFzc2V0LCBlaXRoZXIgQXNzZXRUeXBlLkZJTEUsIEFzc2V0VHlwZS5ESVJFQ1RPUlksIEFzc2V0VHlwZS5BUkNISVZFXG4gIHJlYWRvbmx5IHR5cGU/OiBBc3NldFR5cGU7XG4gIC8vIGhhc2ggdmFsdWUgb2YgdGhlIGFzc2V0LCBpZiBwYXNzZWQgd2lsbCBiZSB1c2VkIGFzIHJldHVybmVkIGFzc2V0SGFzaFxuICByZWFkb25seSBhc3NldEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEFzc2V0VHlwZSB7XG4gIEZJTEUsXG4gIERJUkVDVE9SWSxcbiAgQVJDSElWRSxcbn1cblxuY29uc3QgQVJDSElWRV9OQU1FID0gXCJhcmNoaXZlLnppcFwiO1xuY29uc3QgQVNTRVRTX0RJUkVDVE9SWSA9IFwiYXNzZXRzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQXNzZXQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgcHJpdmF0ZSBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIC8vIGhhc2ggdmFsdWUgb2YgdGhlIGFzc2V0IHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjb25zdW1pbmcgY29uc3RydWN0cyAoZS5nLiB0byBub3QgcmVjcmVhdGUgYSBsYW1iZGEgZnVuY3Rpb24gaW4gY2FzZSB0aGUgdW5kZXJseWluZyBmaWxlcyBkaWQgbm90IGNoYW5nZSlcbiAgcHVibGljIGFzc2V0SGFzaDogc3RyaW5nO1xuICAvLyBmaWxlIHR5cGUgb2YgdGhlIGFzc2V0LCBlaXRoZXIgQXNzZXRUeXBlLkZJTEUsIEFzc2V0VHlwZS5ESVJFQ1RPUlksIEFzc2V0VHlwZS5BUkNISVZFXG4gIHB1YmxpYyB0eXBlOiBBc3NldFR5cGU7XG5cbiAgLyoqXG4gICAqIEEgVGVycmFmb3JtIEFzc2V0IHRha2VzIGEgZmlsZSBvciBkaXJlY3Rvcnkgb3V0c2lkZSBvZiB0aGUgQ0RLIFRlcnJhaW4gY29udGV4dCBhbmQgbW92ZXMgaXQgaW50byBpdC5cbiAgICogQXNzZXRzIGNvcHkgcmVmZXJlbmNlZCBmaWxlcyBpbnRvIHRoZSBzdGFja3MgY29udGV4dCBmb3IgZnVydGhlciB1c2FnZSBpbiBvdGhlciByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSBzY29wZVxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1Bc3NldENvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnN0YWNrID0gVGVycmFmb3JtU3RhY2sub2YodGhpcyk7XG5cbiAgICBpZiAocGF0aC5pc0Fic29sdXRlKGNvbmZpZy5wYXRoKSkge1xuICAgICAgdGhpcy5zb3VyY2VQYXRoID0gY29uZmlnLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNka3RmSnNvblBhdGggPVxuICAgICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoXCJjZGt0Zkpzb25QYXRoXCIpID8/XG4gICAgICAgIGZpbmRGaWxlQWJvdmVDd2QoXCJjZGt0Zi5qc29uXCIpO1xuICAgICAgaWYgKGNka3RmSnNvblBhdGgpIHtcbiAgICAgICAgLy8gUmVsYXRpdmUgcGF0aHMgYXJlIGFsd2F5cyBjb25zaWRlcmVkIHRvIGJlIHJlbGF0aXZlIHRvIGNka3RmLmpzb24sIGJ1dCBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgcmVsYXRpdmUgdG8gcHJvY2Vzcy5jd2RcbiAgICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICAgIHBhdGguZGlybmFtZShjZGt0Zkpzb25QYXRoKSxcbiAgICAgICAgICBjb25maWcucGF0aCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zb3VyY2VQYXRoID0gcGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBhYnNvbHV0ZVBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgYXNzZXRPdXRPZlNjb3BlT2ZDREtURkpzb24oaWQsIGNvbmZpZy5wYXRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmModGhpcy5zb3VyY2VQYXRoKTtcbiAgICBjb25zdCBpbmZlcnJlZFR5cGUgPSBzdGF0LmlzRmlsZSgpID8gQXNzZXRUeXBlLkZJTEUgOiBBc3NldFR5cGUuRElSRUNUT1JZO1xuICAgIHRoaXMudHlwZSA9IGNvbmZpZy50eXBlID8/IGluZmVycmVkVHlwZTtcbiAgICB0aGlzLmFzc2V0SGFzaCA9IGNvbmZpZy5hc3NldEhhc2ggfHwgaGFzaFBhdGgodGhpcy5zb3VyY2VQYXRoKTtcblxuICAgIGlmIChzdGF0LmlzRmlsZSgpICYmIHRoaXMudHlwZSAhPT0gQXNzZXRUeXBlLkZJTEUpIHtcbiAgICAgIHRocm93IGFzc2V0RXhwZWN0c0RpcmVjdG9yeShpZCwgY29uZmlnLnBhdGgpO1xuICAgIH1cblxuICAgIGlmICghc3RhdC5pc0ZpbGUoKSAmJiB0aGlzLnR5cGUgPT09IEFzc2V0VHlwZS5GSUxFKSB7XG4gICAgICB0aHJvdyBhc3NldEV4cGVjdHNEaXJlY3RvcnkoaWQsIGNvbmZpZy5wYXRoKTtcbiAgICB9XG5cbiAgICBhZGRDdXN0b21TeW50aGVzaXModGhpcywge1xuICAgICAgb25TeW50aGVzaXplOiB0aGlzLl9vblN5bnRoZXNpemUuYmluZCh0aGlzKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG5hbWVkRm9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucG9zaXguam9pbihcbiAgICAgIEFTU0VUU19ESVJFQ1RPUlksXG4gICAgICB0aGlzLnN0YWNrLmdldExvZ2ljYWxJZCh0aGlzLm5vZGUpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBhdGggcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHRlcnJhZm9ybSBkaXJlY3RvcnkgaW4gcG9zaXggZm9ybWF0XG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIHJlZmVyZW5jZSB0aGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgcGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXG4gICAgICB0aGlzLm5hbWVkRm9sZGVyLCAvLyByZWFkYWJsZSBuYW1lXG4gICAgICB0aGlzLmFzc2V0SGFzaCwgLy8gaGFzaCBkZXBlbmRpbmcgb24gY29udGVudCBzbyB0aGF0IHBhdGggY2hhbmdlcyBpZiBjb250ZW50IGNoYW5nZXNcbiAgICAgIHRoaXMudHlwZSA9PT0gQXNzZXRUeXBlLkRJUkVDVE9SWSA/IFwiXCIgOiB0aGlzLmZpbGVOYW1lLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBc3NldFR5cGUuQVJDSElWRTpcbiAgICAgICAgcmV0dXJuIEFSQ0hJVkVfTkFNRTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBwYXRoLmJhc2VuYW1lKHRoaXMuc291cmNlUGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25TeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgY29uc3Qgc3RhY2tNYW5pZmVzdCA9IHNlc3Npb24ubWFuaWZlc3QuZm9yU3RhY2sodGhpcy5zdGFjayk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm1hbmlmZXN0Lm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgsXG4gICAgICBcIi4uXCIsXG4gICAgKTtcblxuICAgIC8vIENsZWFudXAgZXhpc3RpbmcgYXNzZXRzXG4gICAgY29uc3QgcHJldmlvdXNWZXJzaW9uc0ZvbGRlciA9IHBhdGguam9pbihiYXNlUGF0aCwgdGhpcy5uYW1lZEZvbGRlcik7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocHJldmlvdXNWZXJzaW9uc0ZvbGRlcikpIHtcbiAgICAgIGZzLnJtU3luYyhwcmV2aW91c1ZlcnNpb25zRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRQYXRoID0gcGF0aC5qb2luKGJhc2VQYXRoLCB0aGlzLnBhdGgpO1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gQXNzZXRUeXBlLkRJUkVDVE9SWSkge1xuICAgICAgZnMubWtkaXJTeW5jKHRhcmdldFBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKHRhcmdldFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBc3NldFR5cGUuRklMRTpcbiAgICAgICAgZnMuY29weUZpbGVTeW5jKHRoaXMuc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFzc2V0VHlwZS5ESVJFQ1RPUlk6XG4gICAgICAgIGNvcHlTeW5jKHRoaXMuc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFzc2V0VHlwZS5BUkNISVZFOlxuICAgICAgICBhcmNoaXZlU3luYyh0aGlzLnNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IGFzc2V0VHlwZU5vdEltcGxlbWVudGVkKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -55,5 +55,5 @@ class TerraformBackend extends terraform_element_1.TerraformElement {
55
55
  }
56
56
  exports.TerraformBackend = TerraformBackend;
57
57
  _a = JSII_RTTI_SYMBOL_1;
58
- TerraformBackend[_a] = { fqn: "cdktn.TerraformBackend", version: "0.23.2" };
58
+ TerraformBackend[_a] = { fqn: "cdktn.TerraformBackend", version: "0.23.3" };
59
59
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWJhY2tlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWJhY2tlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBRW5DLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUU1RCwrQ0FBK0M7QUFDL0MsTUFBc0IsZ0JBQWlCLFNBQVEsb0NBQWdCO0lBQzdELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNTLElBQVk7UUFFL0IsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUZFLFNBQUksR0FBSixJQUFJLENBQVE7UUFHL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBTTtRQUM1QixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLGNBQWMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELHNDQUFzQztJQUM1QixvQkFBb0I7UUFDNUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQVdNLGNBQWM7UUFDbkIsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUU7b0JBQ1AsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNwQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FDbEI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFO29CQUNQLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDcEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQzNCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFDO0lBQ0osQ0FBQzs7QUFwRUgsNENBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1SZW1vdGVTdGF0ZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1yZW1vdGUtc3RhdGVcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5jb25zdCBCQUNLRU5EX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1CYWNrZW5kXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlcnJhZm9ybUJhY2tlbmQgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIEJBQ0tFTkRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0JhY2tlbmQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1CYWNrZW5kIHtcbiAgICByZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBCQUNLRU5EX1NZTUJPTCBpbiB4O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVGVycmFmb3JtUmVtb3RlU3RhdGUgcmVzb3VyY2UgdGhhdCBhY2Nlc3NlcyB0aGlzIGJhY2tlbmQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0UmVtb3RlU3RhdGVEYXRhU291cmNlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGZyb21TdGFjazogc3RyaW5nLFxuICApOiBUZXJyYWZvcm1SZW1vdGVTdGF0ZTtcblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGVycmFmb3JtOiB7XG4gICAgICAgIGJhY2tlbmQ6IHtcbiAgICAgICAgICBbdGhpcy5uYW1lXTogZGVlcE1lcmdlKFxuICAgICAgICAgICAgdGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgYmFja2VuZDoge1xuICAgICAgICAgIFt0aGlzLm5hbWVdOiBkZWVwTWVyZ2UoXG4gICAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2VuZDogdGhpcy5uYW1lLFxuICAgICAgLi4uKE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGggPiAwXG4gICAgICAgID8geyBvdmVycmlkZXM6IHsgYmFja2VuZDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpIH0gfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -34,5 +34,5 @@ class TerraformCount {
34
34
  }
35
35
  exports.TerraformCount = TerraformCount;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- TerraformCount[_a] = { fqn: "cdktn.TerraformCount", version: "0.23.2" };
37
+ TerraformCount[_a] = { fqn: "cdktn.TerraformCount", version: "0.23.3" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWNvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1jb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsaURBQXFDO0FBQ3JDLHFDQUFpQztBQUNqQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFDekIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNO1FBQ25DLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFBcUMsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDaEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLGtCQUFHLEVBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7QUF0Qkgsd0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmNvbnN0IENPVU5UX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1Db3VudFwiKTtcblxuLyoqXG4gKiBJdGVyYXRvciBmb3IgdGhlIFRlcnJhZm9ybSBjb3VudCBwcm9wZXJ0eVxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQ291bnQge1xuICBzdGF0aWMgb2YoY291bnQ6IG51bWJlcik6IFRlcnJhZm9ybUNvdW50IHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUNvdW50KGNvdW50KTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtQ291bnQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1Db3VudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgQ09VTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY291bnQ6IG51bWJlcikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBDT1VOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHJlZihcImNvdW50LmluZGV4XCIpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvdW50O1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY291bnQudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -131,7 +131,7 @@ class DataResource extends terraform_resource_1.TerraformResource {
131
131
  }
132
132
  exports.DataResource = DataResource;
133
133
  _a = JSII_RTTI_SYMBOL_1;
134
- DataResource[_a] = { fqn: "cdktn.DataResource", version: "0.23.2" };
134
+ DataResource[_a] = { fqn: "cdktn.DataResource", version: "0.23.3" };
135
135
  // =================
136
136
  // STATIC PROPERTIES
137
137
  // =================
@@ -120,5 +120,5 @@ class TerraformDataSource extends terraform_element_1.TerraformElement {
120
120
  }
121
121
  exports.TerraformDataSource = TerraformDataSource;
122
122
  _a = JSII_RTTI_SYMBOL_1;
123
- TerraformDataSource[_a] = { fqn: "cdktn.TerraformDataSource", version: "0.23.2" };
123
+ TerraformDataSource[_a] = { fqn: "cdktn.TerraformDataSource", version: "0.23.3" };
124
124
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHFDQUFpQztBQUNqQywyREFBdUQ7QUFFdkQsNkRBTThCO0FBQzlCLGlDQUtnQjtBQUVoQixpREFBaUQ7QUFHakQsdURBQW1EO0FBQ25ELGlFQUFpRTtBQUNqRSxpQ0FBa0M7QUFFbEMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFN0UsK0NBQStDO0FBQy9DLE1BQWEsbUJBQ1gsU0FBUSxvQ0FBZ0I7SUFjeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzFELElBQUksQ0FBQywwQkFBMEIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUM7UUFDcEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNuRCxJQUFBLHlCQUFVLEVBQUMsVUFBVSxDQUFDLENBQ3ZCLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFB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Q0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3RDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0seUJBQXlCLENBQUMsa0JBQTBCO1FBQ3pELE9BQU8sSUFBQSxrQkFBRyxFQUNSLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUN4QixJQUFJLGtCQUFrQixFQUFFLEVBQ3hCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDOztBQXhLSCxrREF5S0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyXCI7XG5pbXBvcnQge1xuICBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhLFxuICBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZyxcbiAgVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGUsXG4gIElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgbGlmZWN5Y2xlVG9UZXJyYWZvcm0sXG59IGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAga2V5c1RvU25ha2VDYXNlLFxuICBkZWVwTWVyZ2UsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsLFxufSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyByZWYsIGRlcGVuZGFibGUgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElJbnRlcnBvbGF0aW5nUGFyZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUNvdW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWNvdW50XCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IGFzc2VydCA9IHJlcXVpcmUoXCJhc3NlcnRcIik7XG5cbmNvbnN0IFRFUlJBRk9STV9EQVRBX1NPVVJDRV9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRGF0YVNvdXJjZVwiKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1EYXRhU291cmNlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1SZXNvdXJjZSwgSVRlcnJhZm9ybURlcGVuZGFibGUsIElJbnRlcnBvbGF0aW5nUGFyZW50XG57XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPzogVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YTtcblxuICAvLyBUZXJyYWZvcm1NZXRhQXJndW1lbnRzXG5cbiAgcHVibGljIGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICBwdWJsaWMgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgcHVibGljIHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIHB1YmxpYyBsaWZlY3ljbGU/OiBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZTtcbiAgcHVibGljIGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgYGRhdGEuJHtjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfWApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlO1xuICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGEgPSBjb25maWcudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRlcGVuZHNPbikpIHtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gY29uZmlnLmRlcGVuZHNPbi5tYXAoKGRlcGVuZGVuY3kpID0+XG4gICAgICAgIGRlcGVuZGFibGUoZGVwZW5kZW5jeSksXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNvdW50ID0gY29uZmlnLmNvdW50O1xuICAgIHRoaXMucHJvdmlkZXIgPSBjb25maWcucHJvdmlkZXI7XG4gICAgdGhpcy5saWZlY3ljbGUgPSBjb25maWcubGlmZWN5Y2xlO1xuICAgIHRoaXMuZm9yRWFjaCA9IGNvbmZpZy5mb3JFYWNoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybURhdGFTb3VyY2UoeDogYW55KTogeCBpcyBUZXJyYWZvcm1EYXRhU291cmNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZ0F0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0QXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbkF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJMaXN0QXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTGlzdChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyaW5nTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJNYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEJvb2xlYW5NYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbnlNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXJyYWZvcm1NZXRhQXJndW1lbnRzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBhc3NlcnQoXG4gICAgICAhdGhpcy5mb3JFYWNoIHx8IHR5cGVvZiB0aGlzLmNvdW50ID09PSBcInVuZGVmaW5lZFwiLFxuICAgICAgYGZvckVhY2ggYW5kIGNvdW50IGFyZSBib3RoIHNldCwgYnV0IHRoZXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gWW91IGNhbiBvbmx5IHVzZSBlaXRoZXIgb2YgdGhlbS4gQ2hlY2sgdGhlIGRhdGEgc291cmNlIGF0IHBhdGg6ICR7dGhpcy5ub2RlLnBhdGh9YCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBjb3VudDogVGVycmFmb3JtQ291bnQuaXNUZXJyYWZvcm1Db3VudCh0aGlzLmNvdW50KVxuICAgICAgICA/IHRoaXMuY291bnQudG9UZXJyYWZvcm0oKVxuICAgICAgICA6IHRoaXMuY291bnQsXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcj8uZnFuLFxuICAgICAgbGlmZWN5Y2xlOiBsaWZlY3ljbGVUb1RlcnJhZm9ybSh0aGlzLmxpZmVjeWNsZSksXG4gICAgICBmb3JFYWNoOiB0aGlzLmZvckVhY2g/Ll9nZXRGb3JFYWNoRXhwcmVzc2lvbigpLFxuICAgIH07XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCh0aGlzLnN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YToge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGlzIHJlc291cmNlIHRvIHRoZSB0ZXJyYWZvcm0gSlNPTiBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzKHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSksXG4gICAgICBrZXlzVG9TbmFrZUNhc2UodGhpcy50ZXJyYWZvcm1NZXRhQXJndW1lbnRzKSxcbiAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICk7XG5cbiAgICBhdHRyaWJ1dGVzW1wiLy9cIl0gPSB0aGlzLmNvbnN0cnVjdE5vZGVNZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHtcbiAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVmKFxuICAgICAgYGRhdGEuJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9JHtcbiAgICAgICAgdGhpcy5mb3JFYWNoID8gXCIuKlwiIDogXCJcIlxuICAgICAgfS4ke3RlcnJhZm9ybUF0dHJpYnV0ZX1gLFxuICAgICAgdGhpcy5jZGt0ZlN0YWNrLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -13,7 +13,7 @@ class TerraformDynamicBlock {
13
13
  constructor(args) {
14
14
  this.iterator = "each"; // name of temporary variable used in iteration, needed in the future when allowing nesting iterators
15
15
  Object.defineProperty(this, DYNAMIC_BLOCK_SYMBOL, { value: true });
16
- this.creationStack = (0, stack_trace_1.captureStackTrace)();
16
+ this.creationStack = (0, stack_trace_1.captureCreationStack)();
17
17
  this.forEach = args.forEach;
18
18
  this.content = args.content;
19
19
  }
@@ -54,4 +54,4 @@ class TerraformDynamicBlock {
54
54
  }
55
55
  }
56
56
  exports.TerraformDynamicBlock = TerraformDynamicBlock;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWR5bmFtaWMtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxxQ0FBb0Q7QUFHcEQscUNBQXFFO0FBQ3JFLDhEQUFpRTtBQUVqRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV2RSwrQ0FBK0M7QUFDL0MsTUFBYSxxQkFBcUI7SUFLaEMsK0hBQStIO0lBRS9ILFlBQW9CLElBR25CO1FBUGUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLHFHQUFxRztRQVF0SSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSwrQkFBaUIsR0FBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDakMsSUFBZ0M7UUFFaEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLElBQUEsaUNBQXdCLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxPQUFPLGFBQUksQ0FBQyxRQUFRLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxDQUFDLGdGQUFnRjtnQkFFM0gsT0FBTztvQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtvQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUN2QyxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sc0NBQXNDLENBQUM7SUFDaEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFNO1FBQzFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksb0JBQW9CLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQTVERCxzREE0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgZHluYW1pY0Jsb2NrTm90U3VwcG9ydGVkIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIElSZXNvbHZlQ29udGV4dCwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVTdGFja1RyYWNlIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19CTE9DS19TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0Jsb2NrXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayBpbXBsZW1lbnRzIElSZXNvbHZhYmxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0aW9uU3RhY2s6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9yRWFjaDogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlcmF0b3IgPSBcImVhY2hcIjsgLy8gbmFtZSBvZiB0ZW1wb3JhcnkgdmFyaWFibGUgdXNlZCBpbiBpdGVyYXRpb24sIG5lZWRlZCBpbiB0aGUgZnV0dXJlIHdoZW4gYWxsb3dpbmcgbmVzdGluZyBpdGVyYXRvcnNcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIC8vIGxhYmVsczogVE9ETzogc3VwcG9ydCBsYWJlbHMsIGJ1dCB0aGV5IHNlZW0gdG8gYmUgcXVpdGUgcmFyZSAoaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLWNkay9pc3N1ZXMvMTkzOSlcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBmb3JFYWNoOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gICAgY29udGVudDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgfSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBEWU5BTUlDX0JMT0NLX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlU3RhY2tUcmFjZSgpO1xuICAgIHRoaXMuZm9yRWFjaCA9IGFyZ3MuZm9yRWFjaDtcbiAgICB0aGlzLmNvbnRlbnQgPSBhcmdzLmNvbnRlbnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21EeW5hbWljRXhwcmVzc2lvbihcbiAgICBleHByOiBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbixcbiAgKTogVGVycmFmb3JtRHluYW1pY0Jsb2NrIHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUR5bmFtaWNCbG9jayh7XG4gICAgICBmb3JFYWNoOiBleHByLml0ZXJhdG9yLFxuICAgICAgY29udGVudDogZXhwci5jb250ZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUoKTogYW55IHtcbiAgICB0aHJvdyBkeW5hbWljQmxvY2tOb3RTdXBwb3J0ZWQodGhpcy5mb3JFYWNoLl9nZXRGb3JFYWNoRXhwcmVzc2lvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybUR5bmFtaWNCbG9ja0pzb24oKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29udGV4dC5pdGVyYXRvckNvbnRleHQgPSBcIkRZTkFNSUNfQkxPQ0tcIjsgLy8gcmVzb2x2ZSBuZXN0ZWQgTGF6eSB2YWx1ZXMgKHdpdGhpbiB0aGlzLmNvbnRlbnQpIGFzIGR5bmFtaWMgYmxvY2sgZXhwcmVzc2lvbnNcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZvcl9lYWNoOiB0aGlzLmZvckVhY2guX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICAgICAgaXRlcmF0b3I6IHRoaXMuaXRlcmF0b3IsXG4gICAgICAgICAgY29udGVudDogY29udGV4dC5yZXNvbHZlKHRoaXMuY29udGVudCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogVHVybiB0aGlzIER5bmFtaWMgQmxvY2sgaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWJsb2NrPlwiO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybUR5bmFtaWNCbG9jayh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgRFlOQU1JQ19CTE9DS19TWU1CT0wgaW4geDtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWR5bmFtaWMtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxxQ0FBb0Q7QUFHcEQscUNBQXFFO0FBQ3JFLDhEQUFvRTtBQUVwRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV2RSwrQ0FBK0M7QUFDL0MsTUFBYSxxQkFBcUI7SUFLaEMsK0hBQStIO0lBRS9ILFlBQW9CLElBR25CO1FBUGUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLHFHQUFxRztRQVF0SSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSxrQ0FBb0IsR0FBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDakMsSUFBZ0M7UUFFaEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLElBQUEsaUNBQXdCLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxPQUFPLGFBQUksQ0FBQyxRQUFRLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxDQUFDLGdGQUFnRjtnQkFFM0gsT0FBTztvQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtvQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUN2QyxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sc0NBQXNDLENBQUM7SUFDaEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFNO1FBQzFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksb0JBQW9CLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQTVERCxzREE0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgZHluYW1pY0Jsb2NrTm90U3VwcG9ydGVkIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIElSZXNvbHZlQ29udGV4dCwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVDcmVhdGlvblN0YWNrIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19CTE9DS19TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0Jsb2NrXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayBpbXBsZW1lbnRzIElSZXNvbHZhYmxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0aW9uU3RhY2s6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9yRWFjaDogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlcmF0b3IgPSBcImVhY2hcIjsgLy8gbmFtZSBvZiB0ZW1wb3JhcnkgdmFyaWFibGUgdXNlZCBpbiBpdGVyYXRpb24sIG5lZWRlZCBpbiB0aGUgZnV0dXJlIHdoZW4gYWxsb3dpbmcgbmVzdGluZyBpdGVyYXRvcnNcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIC8vIGxhYmVsczogVE9ETzogc3VwcG9ydCBsYWJlbHMsIGJ1dCB0aGV5IHNlZW0gdG8gYmUgcXVpdGUgcmFyZSAoaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLWNkay9pc3N1ZXMvMTkzOSlcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBmb3JFYWNoOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gICAgY29udGVudDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgfSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBEWU5BTUlDX0JMT0NLX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlQ3JlYXRpb25TdGFjaygpO1xuICAgIHRoaXMuZm9yRWFjaCA9IGFyZ3MuZm9yRWFjaDtcbiAgICB0aGlzLmNvbnRlbnQgPSBhcmdzLmNvbnRlbnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21EeW5hbWljRXhwcmVzc2lvbihcbiAgICBleHByOiBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbixcbiAgKTogVGVycmFmb3JtRHluYW1pY0Jsb2NrIHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUR5bmFtaWNCbG9jayh7XG4gICAgICBmb3JFYWNoOiBleHByLml0ZXJhdG9yLFxuICAgICAgY29udGVudDogZXhwci5jb250ZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUoKTogYW55IHtcbiAgICB0aHJvdyBkeW5hbWljQmxvY2tOb3RTdXBwb3J0ZWQodGhpcy5mb3JFYWNoLl9nZXRGb3JFYWNoRXhwcmVzc2lvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybUR5bmFtaWNCbG9ja0pzb24oKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29udGV4dC5pdGVyYXRvckNvbnRleHQgPSBcIkRZTkFNSUNfQkxPQ0tcIjsgLy8gcmVzb2x2ZSBuZXN0ZWQgTGF6eSB2YWx1ZXMgKHdpdGhpbiB0aGlzLmNvbnRlbnQpIGFzIGR5bmFtaWMgYmxvY2sgZXhwcmVzc2lvbnNcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZvcl9lYWNoOiB0aGlzLmZvckVhY2guX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICAgICAgaXRlcmF0b3I6IHRoaXMuaXRlcmF0b3IsXG4gICAgICAgICAgY29udGVudDogY29udGV4dC5yZXNvbHZlKHRoaXMuY29udGVudCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogVHVybiB0aGlzIER5bmFtaWMgQmxvY2sgaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWJsb2NrPlwiO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybUR5bmFtaWNCbG9jayh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgRFlOQU1JQ19CTE9DS19TWU1CT0wgaW4geDtcbiAgfVxufVxuIl19
@@ -18,7 +18,7 @@ const DYNAMIC_EXPRESSION_SYMBOL = Symbol.for("cdktf/TerraformDynamicExpression")
18
18
  class TerraformDynamicExpression {
19
19
  constructor(args) {
20
20
  Object.defineProperty(this, DYNAMIC_EXPRESSION_SYMBOL, { value: true });
21
- this.creationStack = (0, stack_trace_1.captureStackTrace)();
21
+ this.creationStack = (0, stack_trace_1.captureCreationStack)();
22
22
  this.iterator = args.iterator;
23
23
  this.content = args.content;
24
24
  }
@@ -56,4 +56,4 @@ class TerraformDynamicExpression {
56
56
  }
57
57
  }
58
58
  exports.TerraformDynamicExpression = TerraformDynamicExpression;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHdCQUFrQztBQUNsQyxxQ0FBb0Q7QUFDcEQsOERBQWlFO0FBRWpFLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDMUMsa0NBQWtDLENBQ25DLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLDBCQUEwQjtJQUtyQyxZQUFZLElBR1g7UUFDQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSwrQkFBaUIsR0FBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTztRQUNaLE9BQU8sYUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkIsd0VBQXdFO2dCQUN4RSxPQUFPLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFDO2dCQUMzQyxzREFBc0Q7Z0JBQ3RELDZFQUE2RTtnQkFDN0UscUNBQXFDO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUEsZ0JBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNwRSxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sMkNBQTJDLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDeEMsQ0FBTTtRQUVOLE9BQU8sQ0FDTCxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF4REQsZ0VBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgZm9yRXhwcmVzc2lvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVTdGFja1RyYWNlIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCA9IFN5bWJvbC5mb3IoXG4gIFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb25cIixcbik7XG5cbi8qKlxuICogQSBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiBpcyByZXR1cm5lZCBieSBUZXJyYWZvcm1JdGVyYXRvci5keW5hbWljXG4gKiBhbmQgY2FuIGJlIHBhc3NlZCB0byBsaXN0IGF0dHJpYnV0ZXMgb2YgZS5nLiBUZXJyYWZvcm1SZXNvdXJjZXNcbiAqIEFzIGl0IHJlc29sdmVzIHRvIGEgZm9yIGV4cHJlc3Npb24sIGl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IG9uIGF0dHJpYnV0ZXMgb2ZcbiAqIGEgbGlzdChvYmplY3QpIHR5cGUgKG9yIHNpbWlsYXIpIGFuZCBpbiBUZXJyYWZvcm0gZnVuY3Rpb25zIHRoYXQgdGFrZSBhIGxpc3QuXG4gKiBXaGVuIHVzZWQgaW4gYXR0cmlidXRlcyB0aGF0IGFyZSBvZiBhIGJsb2NrIHR5cGUgd2hpY2ggbmVlZCB0byBiZSBtb2RlbGVkIGFzXG4gKiBhIGR5bmFtaWMgYmxvY2ssIHRoZSBsaXN0TWFwcGVyIGZvciB0aGF0IGF0dHJpYnV0ZSB3aWxsIGNoYW5nZSB0aGlzIHRvIGFcbiAqIFRlcnJhZm9ybUR5bmFtaWNCbG9jaywgd2hpY2ggaW4gdHVybiB3aWxsIGJlIHByb3Blcmx5IGhhbmRsZWQgYnkgdGhlXG4gKiBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMoKSB1dGlsaXR5IGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gaW1wbGVtZW50cyBJUmVzb2x2YWJsZSB7XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGlvblN0YWNrOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZXJhdG9yOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBpdGVyYXRvcjogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICAgIGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH0pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlU3RhY2tUcmFjZSgpO1xuICAgIHRoaXMuaXRlcmF0b3IgPSBhcmdzLml0ZXJhdG9yO1xuICAgIHRoaXMuY29udGVudCA9IGFyZ3MuY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXNvbHZlcyB0aGlzIGFzIGEgVGVycmFmb3JtIGZvciBleHByZXNzaW9uLlxuICAgKiBUaGlzIGFsbG93cyB1c2luZyBpdGVyYXRvci5keW5hbWljKCkgb24gYXR0cmlidXRlcyB0aGF0IGFyZSBub3QgYmxvY2tzIGJ1dFxuICAgKiBsaXN0cyBvZiBvYmplY3RzICh3aGljaCBpcyBub3QgdmlzaWJsZSB0byB0aGUgdXNlciB3aGVuIHdvcmtpbmcgd2l0aCBwcm92aWRlclxuICAgKiBtYXBwaW5ncyBhcyBpdCBpcyBhYnN0cmFjdGVkIGF3YXkpXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZSgpOiBhbnkge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgIC8vIHJlc29sdmUgbmVzdGVkIExhenkgdmFsdWVzICh3aXRoaW4gdGhpcy5jb250ZW50KSBmb3IgYSBmb3IgZXhwcmVzc2lvblxuICAgICAgICBjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCA9IFwiRk9SX0VYUFJFU1NJT05cIjtcbiAgICAgICAgLy8gcmV0dXJucyBbIGZvciBrZXksIHZhbHVlIGluIGZvckVhY2hFeHByIDogY29udGVudCBdXG4gICAgICAgIC8vIGNvbnRleHQucmVzb2x2ZSBpcyByZXF1aXJlZCBmb3IgdGhlIGl0ZXJhdG9yQ29udGV4dCB0byBiZSBjb3JyZWN0bHkgcGFzc2VkXG4gICAgICAgIC8vIHRvIExhenkgdmFsdWVzIHdpdGhpbiB0aGlzLmNvbnRlbnRcbiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVzb2x2ZShcbiAgICAgICAgICBmb3JFeHByZXNzaW9uKHRoaXMuaXRlcmF0b3IuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCB0aGlzLmNvbnRlbnQpLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFR1cm4gdGhpcyBEeW5hbWljIEV4cHJlc3Npb24gaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb24+XCI7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24oXG4gICAgeDogYW55LFxuICApOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBEWU5BTUlDX0VYUFJFU1NJT05fU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHdCQUFrQztBQUNsQyxxQ0FBb0Q7QUFDcEQsOERBQW9FO0FBRXBFLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDMUMsa0NBQWtDLENBQ25DLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLDBCQUEwQjtJQUtyQyxZQUFZLElBR1g7UUFDQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSxrQ0FBb0IsR0FBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTztRQUNaLE9BQU8sYUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkIsd0VBQXdFO2dCQUN4RSxPQUFPLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFDO2dCQUMzQyxzREFBc0Q7Z0JBQ3RELDZFQUE2RTtnQkFDN0UscUNBQXFDO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUEsZ0JBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNwRSxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sMkNBQTJDLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDeEMsQ0FBTTtRQUVOLE9BQU8sQ0FDTCxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF4REQsZ0VBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgZm9yRXhwcmVzc2lvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVDcmVhdGlvblN0YWNrIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCA9IFN5bWJvbC5mb3IoXG4gIFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb25cIixcbik7XG5cbi8qKlxuICogQSBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiBpcyByZXR1cm5lZCBieSBUZXJyYWZvcm1JdGVyYXRvci5keW5hbWljXG4gKiBhbmQgY2FuIGJlIHBhc3NlZCB0byBsaXN0IGF0dHJpYnV0ZXMgb2YgZS5nLiBUZXJyYWZvcm1SZXNvdXJjZXNcbiAqIEFzIGl0IHJlc29sdmVzIHRvIGEgZm9yIGV4cHJlc3Npb24sIGl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IG9uIGF0dHJpYnV0ZXMgb2ZcbiAqIGEgbGlzdChvYmplY3QpIHR5cGUgKG9yIHNpbWlsYXIpIGFuZCBpbiBUZXJyYWZvcm0gZnVuY3Rpb25zIHRoYXQgdGFrZSBhIGxpc3QuXG4gKiBXaGVuIHVzZWQgaW4gYXR0cmlidXRlcyB0aGF0IGFyZSBvZiBhIGJsb2NrIHR5cGUgd2hpY2ggbmVlZCB0byBiZSBtb2RlbGVkIGFzXG4gKiBhIGR5bmFtaWMgYmxvY2ssIHRoZSBsaXN0TWFwcGVyIGZvciB0aGF0IGF0dHJpYnV0ZSB3aWxsIGNoYW5nZSB0aGlzIHRvIGFcbiAqIFRlcnJhZm9ybUR5bmFtaWNCbG9jaywgd2hpY2ggaW4gdHVybiB3aWxsIGJlIHByb3Blcmx5IGhhbmRsZWQgYnkgdGhlXG4gKiBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMoKSB1dGlsaXR5IGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gaW1wbGVtZW50cyBJUmVzb2x2YWJsZSB7XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGlvblN0YWNrOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZXJhdG9yOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBpdGVyYXRvcjogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICAgIGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH0pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlQ3JlYXRpb25TdGFjaygpO1xuICAgIHRoaXMuaXRlcmF0b3IgPSBhcmdzLml0ZXJhdG9yO1xuICAgIHRoaXMuY29udGVudCA9IGFyZ3MuY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXNvbHZlcyB0aGlzIGFzIGEgVGVycmFmb3JtIGZvciBleHByZXNzaW9uLlxuICAgKiBUaGlzIGFsbG93cyB1c2luZyBpdGVyYXRvci5keW5hbWljKCkgb24gYXR0cmlidXRlcyB0aGF0IGFyZSBub3QgYmxvY2tzIGJ1dFxuICAgKiBsaXN0cyBvZiBvYmplY3RzICh3aGljaCBpcyBub3QgdmlzaWJsZSB0byB0aGUgdXNlciB3aGVuIHdvcmtpbmcgd2l0aCBwcm92aWRlclxuICAgKiBtYXBwaW5ncyBhcyBpdCBpcyBhYnN0cmFjdGVkIGF3YXkpXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZSgpOiBhbnkge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgIC8vIHJlc29sdmUgbmVzdGVkIExhenkgdmFsdWVzICh3aXRoaW4gdGhpcy5jb250ZW50KSBmb3IgYSBmb3IgZXhwcmVzc2lvblxuICAgICAgICBjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCA9IFwiRk9SX0VYUFJFU1NJT05cIjtcbiAgICAgICAgLy8gcmV0dXJucyBbIGZvciBrZXksIHZhbHVlIGluIGZvckVhY2hFeHByIDogY29udGVudCBdXG4gICAgICAgIC8vIGNvbnRleHQucmVzb2x2ZSBpcyByZXF1aXJlZCBmb3IgdGhlIGl0ZXJhdG9yQ29udGV4dCB0byBiZSBjb3JyZWN0bHkgcGFzc2VkXG4gICAgICAgIC8vIHRvIExhenkgdmFsdWVzIHdpdGhpbiB0aGlzLmNvbnRlbnRcbiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVzb2x2ZShcbiAgICAgICAgICBmb3JFeHByZXNzaW9uKHRoaXMuaXRlcmF0b3IuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCB0aGlzLmNvbnRlbnQpLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFR1cm4gdGhpcyBEeW5hbWljIEV4cHJlc3Npb24gaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb24+XCI7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24oXG4gICAgeDogYW55LFxuICApOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBEWU5BTUlDX0VYUFJFU1NJT05fU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -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.2" };
106
+ TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.3" };
107
107
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLG1DQUE0QjtBQUM1QiwyQ0FBdUM7QUFDdkMscUNBQWlDO0FBQ2pDLHVEQUFtRDtBQUNuRCxpREFBcUM7QUFDckMscUNBQXdEO0FBRXhELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBUXRFLCtDQUErQztBQUMvQyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBZ0I3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFoQkEsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFpQnhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFFaEMsSUFBSSxjQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFBLHFDQUE0QixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLGdDQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBTTtRQUNyQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHdC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Q0FBQyxnQkFBZ0I7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO29CQUNqRSxFQUFFLEtBQUs7YUFDa0I7U0FDOUIsQ0FBQztJQUNKLENBQUM7O0FBaElILDRDQWlJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBvayB9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRva2VuSW5Db25zdHJ1Y3RJZCB9IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5jb25zdCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRWxlbWVudFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U6IHN0cmluZ1tdO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUVsZW1lbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmF3T3ZlcnJpZGVzOiBhbnkgPSB7fTtcblxuICAvKipcbiAgICogQW4gZXhwbGljaXQgbG9naWNhbCBJRCBwcm92aWRlZCBieSBgb3ZlcnJpZGVMb2dpY2FsSWRgLlxuICAgKi9cbiAgcHJpdmF0ZSBfbG9naWNhbElkT3ZlcnJpZGU/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.2" };
86
+ Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.3" };
87
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.2" };
55
+ TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.3" };
56
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.2" };
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.2" };
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.2" };
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.2" };
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.2" };
402
+ DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.3" };
403
403
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLHFDQUdrQjtBQUNsQixpRkFBNEU7QUFDNUUsK0RBQTJDO0FBRTNDLGlEQU13QjtBQUN4QixxQ0FBb0Q7QUF3Q3BELCtDQUErQztBQUMvQyxNQUFzQixpQkFBaUI7SUFNckM7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjO1FBQ25DLGdGQUFnRjtRQUNoRix3RkFBd0Y7UUFDeEYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLElBQXFCLEVBQ3JCLG1CQUEyQjtRQUUzQixPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FLOEI7UUFFOUIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUN6QixRQUE0QjtRQUU1QixPQUFPLElBQUkseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsU0FBaUI7UUFDekIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixPQUFPLGNBQUssQ0FBQyxLQUFLLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFNBQWlCO1FBQ3RCLE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsU0FBaUI7UUFDdkIsT0FBTyxjQUFLLENBQUMsTUFBTSxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxTQUFpQjtRQUM3QixPQUFPLGNBQUssQ0FBQyxZQUFZLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFNBQWlCO1FBQ3RCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxjQUFLLENBQUMsV0FBVyxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFpQjtRQUM1QixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBQSw2QkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLFNBQWlCO1FBQzdCLE9BQU8sY0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsU0FBaUI7UUFDekIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUEsNkJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ08sU0FBUztRQUNqQix5RkFBeUY7UUFDekYsT0FBTyxhQUFJLENBQUMsUUFBUSxDQUNsQjtZQUNFLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQixRQUFRLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDaEMsS0FBSyxlQUFlO3dCQUNsQixPQUFPLElBQUEsa0JBQUcsRUFBQyxZQUFZLENBQUMsQ0FBQztvQkFDM0IsS0FBSyxnQkFBZ0I7d0JBQ25CLE9BQU8sbUNBQW9CLENBQUM7b0JBQzlCO3dCQUNFLDRHQUE0Rzt3QkFDNUcsT0FBTyxJQUFBLGtCQUFHLEVBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzdCLENBQUM7WUFDSCxDQUFDO1NBQ0YsRUFDRCxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ08sT0FBTztRQUNmLHlGQUF5RjtRQUN6RixPQUFPLGFBQUksQ0FBQyxRQUFRLENBQ2xCO1lBQ0UsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25CLFFBQVEsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNoQyxLQUFLLGVBQWU7d0JBQ2xCLE9BQU8sSUFBQSxrQkFBRyxFQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUN6QixLQUFLLGdCQUFnQjt3QkFDbkIsT0FBTyxpQ0FBa0IsQ0FBQztvQkFDNUI7d0JBQ0UsNEdBQTRHO3dCQUM1RyxPQUFPLElBQUEsa0JBQUcsRUFBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNILENBQUM7U0FDRixFQUNELEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksT0FBTyxDQUFDLFVBQWtDO1FBQy9DLE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FDaEIsSUFBSSx5REFBMEIsQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSTtRQUNULE9BQU8sY0FBSyxDQUFDLEtBQUssQ0FDaEIsSUFBQSw0QkFBYSxFQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLGlDQUFrQixDQUFDLENBQ2pFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUNoQixJQUFBLDRCQUFhLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsbUNBQW9CLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxRQUFnQjtRQUNuQyxPQUFPLGNBQUssQ0FBQyxLQUFLLENBQ2hCLElBQUEsNEJBQWEsRUFDWCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFDN0IsSUFBQSw2QkFBYyxFQUFDLG1DQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDakQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxvQkFBb0IsQ0FBQyxVQUFnQztRQUMxRCxPQUFPLGNBQUssQ0FBQyxLQUFLLENBQ2hCLElBQUEsNEJBQWEsRUFBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLG1CQUFtQixDQUN4QixhQUFtQyxFQUNuQyxlQUFxQztRQUVyQyxPQUFPLGNBQUssQ0FBQyxLQUFLLENBQ2hCLElBQUEsNEJBQWEsRUFDWCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFDN0IsZUFBZSxFQUNmLGFBQWEsQ0FDZCxDQUNGLENBQUM7SUFDSixDQUFDOztBQTNVSCw4Q0E0VUM7OztBQUVELCtDQUErQztBQUMvQyxNQUFhLHFCQUFzQixTQUFRLGlCQUFpQjtJQUMxRCxZQUE2QixJQUFjO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBRG1CLFNBQUksR0FBSixJQUFJLENBQVU7SUFFM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLHlFQUF5RTtRQUN6RSxPQUFPLHdCQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztBQTVCSCxzREE2QkM7OztBQUVELCtDQUErQztBQUMvQyxNQUFhLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN6RCxZQUE2QixHQUFZO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRG1CLFFBQUcsR0FBSCxHQUFHLENBQVM7SUFFekMsQ0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLGlHQUFpRztRQUNqRyxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsR0FBRztRQUNaLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDOztBQXpCSCxvREEwQkM7OztBQUVELCtDQUErQztBQUMvQyxNQUFhLHlCQUEwQixTQUFRLGlCQUFpQjtJQUM5RCxZQUE2QixPQUEyQjtRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQURtQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUd0RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUEsb0NBQTJCLEdBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUEseUNBQWdDLEdBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxzQ0FBc0M7SUFDakUsQ0FBQzs7QUFuQ0gsOERBb0NDOzs7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBYSw0QkFBNkIsU0FBUSxvQkFBb0I7SUFDcEUsWUFDbUIsSUFBYyxFQUNkLG1CQUEyQjtRQUU1QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFISyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO0lBRzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUJBQXFCO1FBQzFCLHNGQUFzRjtRQUN0RixPQUFPLElBQUEsNEJBQWEsRUFDbEIsSUFBSSxDQUFDLElBQUksRUFDVCxtQ0FBb0IsRUFDcEIsd0JBQUUsQ0FBQyxZQUFZLENBQUMsbUNBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7O0FBN0JILG9FQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQge1xuICBBbnlNYXAsXG4gIEFueU1hcExpc3QsXG4gIEJvb2xlYW5NYXAsXG4gIEJvb2xlYW5NYXBMaXN0LFxuICBDb21wbGV4TGlzdCxcbiAgQ29tcGxleE1hcCxcbiAgTnVtYmVyTWFwLFxuICBOdW1iZXJNYXBMaXN0LFxuICBTdHJpbmdNYXAsXG4gIFN0cmluZ01hcExpc3QsXG59IGZyb20gXCIuL2NvbXBsZXgtY29tcHV0ZWQtbGlzdFwiO1xuaW1wb3J0IHtcbiAgaXRlcmF0b3JPblJlc291cmNlV2l0aENvdW50LFxuICBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCxcbn0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IEZuIH0gZnJvbSBcIi4vdGVycmFmb3JtLWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4vdGVycmFmb3JtLXJlc291cmNlXCI7XG5pbXBvcnQge1xuICBGT1JfRVhQUkVTU0lPTl9LRVksXG4gIEZPUl9FWFBSRVNTSU9OX1ZBTFVFLFxuICBmb3JFeHByZXNzaW9uLFxuICBwcm9wZXJ0eUFjY2VzcyxcbiAgcmVmLFxufSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlLCBMYXp5LCBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuXG4gICAqL1xuICBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueTtcbn1cblxudHlwZSBMaXN0VHlwZSA9XG4gIHwgQXJyYXk8c3RyaW5nPlxuICB8IEFycmF5PG51bWJlcj5cbiAgfCBBcnJheTxib29sZWFuIHwgSVJlc29sdmFibGU+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.2" };
85
+ TerraformLocal[_a] = { fqn: "cdktn.TerraformLocal", version: "0.23.3" };
86
86
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDJEQUF1RDtBQUN2RCxxQ0FBaUM7QUFDakMsaURBQXFDO0FBSXJDLCtDQUErQztBQUMvQyxNQUFhLGNBQ1gsU0FBUSxvQ0FBZ0I7SUFLeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxVQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLGNBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUEsa0JBQUcsRUFBQyxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDdkIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDMUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3RDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7QUE1Rkgsd0NBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyByZWYgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlIH0gZnJvbSBcIi4vdG9rZW5zL3Jlc29sdmFibGVcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUxvY2FsXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1BZGRyZXNzYWJsZVxue1xuICBwcml2YXRlIF9leHByZXNzaW9uOiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZXhwcmVzc2lvbjogYW55KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcImxvY2FsXCIpO1xuXG4gICAgdGhpcy5fZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBwdWJsaWMgc2V0IGV4cHJlc3Npb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2V4cHJlc3Npb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFzTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNTdHJpbmdNYXAoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNOdW1iZXJNYXAoKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuTWFwKCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNBbnlNYXAoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGludGVycG9sYXRpb24oKTogYW55IHtcbiAgICByZXR1cm4gcmVmKGBsb2NhbC4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLCB0aGlzLmNka3RmU3RhY2spO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2Fsczoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxzOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBsb2NhbDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHRva2VuIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIGxvY2FsXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFzU3RyaW5nO1xuICB9XG59XG4iXX0=
@@ -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.2" };
175
+ TerraformModule[_a] = { fqn: "cdktn.TerraformModule", version: "0.23.3" };
176
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.2" };
110
+ Op[_a] = { fqn: "cdktn.Op", version: "0.23.3" };
111
111
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW9wZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztHQUdHO0FBRUgsaURBQWdFO0FBQ2hFLHFDQUFpQztBQUdqQzs7O0dBR0c7QUFDSCxNQUFhLEVBQUU7SUFDYjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBc0I7UUFDdEMsT0FBTyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQXNCO1FBQ3pDLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbEQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNsRCxPQUFPLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLElBQUksaUNBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBeEdILGdCQXlHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgRXhwcmVzc2lvbiwgT3BlcmF0b3JFeHByZXNzaW9uIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgY29udGFpbnMgc3RhdGljIGZ1bmN0aW9ucyBmb3IgYWxsIGFyaXRobWV0aWNhbCBhbmQgbG9naWNhbCBvcGVyYXRvcnNcbiAqIGluIHRoZSBUZXJyYWZvcm0gY29uZmlndXJhdGlvbiBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wIHtcbiAgLyoqXG4gICAqIFJlbmRlcnMgIWV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbm90KGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIhXCIsIGV4cHJlc3Npb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgLWV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmVnYXRlKGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiLVwiLCBleHByZXNzaW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICogcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbXVsKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIipcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgLyByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXYobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiL1wiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAlIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1vZChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIlXCIsIGxlZnQsIHJpZ2h0KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICsgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWRkKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIitcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgLSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdWIobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiLVwiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA+IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGd0KGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPlwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID49IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGd0ZShsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIj49XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgPCByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsdChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIjxcIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA8PSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsdGUobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCI8PVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID09IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVxKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPT1cIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAhPSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBuZXEobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIhPVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICYmIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFuZChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIiYmXCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgfHwgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3IobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCJ8fFwiLCBsZWZ0LCByaWdodCk7XG4gIH1cbn1cbiJdfQ==