@grnsft/if 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CONTRIBUTING.md +4 -5
  2. package/README.md +14 -33
  3. package/Refactor-migration-guide.md +5 -6
  4. package/build/builtins/coefficient/index.d.ts +1 -2
  5. package/build/builtins/coefficient/index.js +18 -4
  6. package/build/builtins/copy-param/index.d.ts +2 -0
  7. package/build/builtins/copy-param/index.js +68 -0
  8. package/build/builtins/csv-lookup/index.d.ts +1 -1
  9. package/build/builtins/csv-lookup/index.js +44 -37
  10. package/build/builtins/divide/index.d.ts +1 -1
  11. package/build/builtins/divide/index.js +22 -11
  12. package/build/builtins/exponent/index.d.ts +1 -2
  13. package/build/builtins/exponent/index.js +9 -23
  14. package/build/builtins/export-csv-raw.d.ts +4 -2
  15. package/build/builtins/export-csv-raw.js +7 -7
  16. package/build/builtins/export-csv.js +8 -11
  17. package/build/builtins/export-log.js +1 -1
  18. package/build/builtins/export-yaml.js +6 -6
  19. package/build/builtins/group-by.d.ts +1 -1
  20. package/build/builtins/group-by.js +5 -5
  21. package/build/builtins/index.d.ts +1 -0
  22. package/build/builtins/index.js +4 -2
  23. package/build/builtins/interpolation/index.d.ts +1 -1
  24. package/build/builtins/interpolation/index.js +10 -8
  25. package/build/builtins/mock-observations/helpers/common-generator.d.ts +2 -2
  26. package/build/builtins/mock-observations/helpers/common-generator.js +10 -13
  27. package/build/builtins/mock-observations/helpers/rand-int-generator.d.ts +2 -2
  28. package/build/builtins/mock-observations/helpers/rand-int-generator.js +14 -24
  29. package/build/builtins/mock-observations/index.d.ts +1 -2
  30. package/build/builtins/mock-observations/index.js +2 -4
  31. package/build/builtins/multiply/index.d.ts +1 -2
  32. package/build/builtins/multiply/index.js +10 -16
  33. package/build/builtins/regex/index.d.ts +1 -2
  34. package/build/builtins/regex/index.js +8 -12
  35. package/build/builtins/sci/index.d.ts +1 -2
  36. package/build/builtins/sci/index.js +23 -22
  37. package/build/builtins/sci-embodied/index.d.ts +1 -1
  38. package/build/builtins/sci-embodied/index.js +16 -17
  39. package/build/builtins/shell/index.d.ts +1 -2
  40. package/build/builtins/shell/index.js +4 -4
  41. package/build/builtins/subtract/index.d.ts +1 -2
  42. package/build/builtins/subtract/index.js +7 -23
  43. package/build/builtins/sum/index.d.ts +1 -2
  44. package/build/builtins/sum/index.js +14 -11
  45. package/build/builtins/time-sync.d.ts +1 -2
  46. package/build/builtins/time-sync.js +62 -67
  47. package/build/check.d.ts +2 -0
  48. package/build/check.js +95 -0
  49. package/build/config/config.d.ts +13 -1
  50. package/build/config/config.js +61 -1
  51. package/build/config/params.js +1 -6
  52. package/build/config/strings.d.ts +45 -5
  53. package/build/config/strings.js +50 -9
  54. package/build/diff.js +2 -2
  55. package/build/env.d.ts +2 -0
  56. package/build/env.js +38 -0
  57. package/build/lib/aggregate.js +1 -1
  58. package/build/lib/compute.js +1 -1
  59. package/build/lib/exhaust.js +4 -4
  60. package/build/lib/initialize.js +20 -24
  61. package/build/lib/load.js +4 -4
  62. package/build/types/compute.d.ts +1 -1
  63. package/build/types/compute.js +1 -1
  64. package/build/types/if-env.d.ts +8 -0
  65. package/build/types/if-env.js +3 -0
  66. package/build/types/interface.d.ts +1 -19
  67. package/build/types/interface.js +1 -1
  68. package/build/types/npm.d.ts +9 -0
  69. package/build/types/npm.js +3 -0
  70. package/build/types/process-args.d.ts +9 -0
  71. package/build/types/process-args.js +1 -1
  72. package/build/util/aggregation-helper.d.ts +1 -1
  73. package/build/util/aggregation-helper.js +5 -5
  74. package/build/util/args.d.ts +23 -1
  75. package/build/util/args.js +91 -14
  76. package/build/util/debug-logger.js +8 -7
  77. package/build/util/fs.d.ts +20 -0
  78. package/build/util/fs.js +94 -0
  79. package/build/util/helpers.d.ts +25 -5
  80. package/build/util/helpers.js +111 -15
  81. package/build/util/npm.d.ts +28 -0
  82. package/build/util/npm.js +152 -0
  83. package/build/util/plugin-storage.js +4 -4
  84. package/build/util/validations.js +4 -4
  85. package/jest.config.js +1 -1
  86. package/manifests/{plugins → examples/builtins/csv-lookup}/cloud-metadata/failure-invalid-instance-type.yaml +9 -3
  87. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +27 -0
  88. package/manifests/{plugins → examples/builtins/csv-lookup}/cloud-metadata/failure-missing-cloud-vendor.yml +9 -3
  89. package/manifests/{plugins → examples/builtins/csv-lookup}/cloud-metadata/success.yml +8 -2
  90. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/failure-missing-column.yml +1 -2
  91. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/failure-missing-output.yml +1 -2
  92. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/success-renaming.yml +1 -2
  93. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/success.yml +2 -3
  94. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +23 -0
  95. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +24 -0
  96. package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +24 -0
  97. package/manifests/{plugins → examples/builtins}/divide/failure-denominator-equal-zero.yml +8 -9
  98. package/manifests/{plugins → examples/builtins}/divide/failure-invalid-config-denominator.yml +8 -9
  99. package/manifests/{plugins → examples/builtins}/divide/failure-missing-numerator.yml +8 -9
  100. package/manifests/{plugins → examples/builtins}/divide/success.yml +9 -10
  101. package/manifests/examples/builtins/exponent/success.yml +25 -0
  102. package/manifests/{plugins → examples/builtins}/groupby/success.yml +1 -1
  103. package/manifests/examples/builtins/interpolation/success.yml +23 -0
  104. package/manifests/{plugins → examples/builtins}/sci/failure-missing-input-param.yml +2 -6
  105. package/manifests/{plugins → examples/builtins}/sci/success.yml +0 -3
  106. package/manifests/examples/builtins/subtract/success.yml +24 -0
  107. package/manifests/{plugins → examples/builtins}/sum/success.yml +1 -1
  108. package/manifests/examples/{generics.yml → pipelines/generics.yml} +49 -13
  109. package/manifests/examples/{nesting.yml → pipelines/nesting.yml} +82 -35
  110. package/manifests/examples/{pipeline-teads-sci.yml → pipelines/pipeline-teads-sci.yml} +54 -18
  111. package/manifests/examples/{pipeline-with-aggregate.yml → pipelines/pipeline-with-aggregate.yml} +67 -25
  112. package/manifests/examples/{pipeline-with-mocks.yml → pipelines/pipeline-with-mocks.yml} +65 -22
  113. package/manifests/examples/pipelines/zeros.yml +130 -0
  114. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +243 -0
  115. package/manifests/outputs/bugs/initialize-error-no-config.yaml +78 -0
  116. package/manifests/outputs/bugs/initialize-error-no-path.yaml +91 -0
  117. package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +74 -0
  118. package/manifests/outputs/bugs/input-error-missing-duration.yaml +84 -0
  119. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +81 -0
  120. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +91 -0
  121. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +92 -0
  122. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +155 -0
  123. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +73 -0
  124. package/manifests/outputs/divide.yaml +93 -0
  125. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +101 -0
  126. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +100 -0
  127. package/manifests/outputs/features/aggregate-horizontal.yaml +128 -0
  128. package/manifests/outputs/features/aggregate-vertical.yaml +151 -0
  129. package/manifests/outputs/features/aggregate.yaml +155 -0
  130. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +95 -0
  131. package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +645 -0
  132. package/manifests/outputs/pipelines/mock-obs-groupby.yaml +178 -0
  133. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +350 -0
  134. package/manifests/outputs/plugins/coefficient/failure-invalid-config-input-param.yaml +73 -0
  135. package/manifests/outputs/plugins/coefficient/failure-output-param-is-null.yaml +73 -0
  136. package/manifests/outputs/plugins/coefficient/success.yaml +75 -0
  137. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +27 -0
  138. package/manifests/{plugins → outputs/plugins/csv-lookup}/cloud-metadata/failure-invalid-vendor.yaml +8 -2
  139. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +77 -0
  140. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/success.yaml +82 -0
  141. package/manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-column.yaml +76 -0
  142. package/manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-output.yaml +75 -0
  143. package/manifests/outputs/plugins/csv-lookup/region-metadata/success-renaming.yaml +80 -0
  144. package/manifests/outputs/plugins/csv-lookup/region-metadata/success.yaml +92 -0
  145. package/manifests/outputs/plugins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +74 -0
  146. package/manifests/outputs/plugins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +75 -0
  147. package/manifests/outputs/plugins/csv-lookup/tdp-finder/success.yaml +76 -0
  148. package/manifests/outputs/plugins/divide/failure-invalid-config-denominator.yaml +73 -0
  149. package/manifests/outputs/plugins/divide/failure-missing-numerator.yaml +77 -0
  150. package/manifests/outputs/plugins/divide/success-denominator-equal-zero.yaml +95 -0
  151. package/manifests/outputs/plugins/divide/success.yaml +95 -0
  152. package/manifests/outputs/plugins/exponent/success.yaml +77 -0
  153. package/manifests/outputs/plugins/groupby/failure-invalid-config-group.yaml +96 -0
  154. package/manifests/outputs/plugins/groupby/failure-missing-cloud-instance-type.yaml +95 -0
  155. package/manifests/outputs/plugins/groupby/success.yaml +101 -0
  156. package/manifests/outputs/plugins/interpolation/interpolation.yaml +83 -0
  157. package/manifests/outputs/plugins/interpolation/success.yaml +83 -0
  158. package/manifests/outputs/plugins/mock-observations/failure-invalid-config-cpu-range.yaml +86 -0
  159. package/manifests/outputs/plugins/mock-observations/failure-invalid-memory-utilization-range.yaml +84 -0
  160. package/manifests/outputs/plugins/mock-observations/failure-missing-timestamp-from-param.yaml +83 -0
  161. package/manifests/outputs/plugins/mock-observations/success.yaml +220 -0
  162. package/manifests/outputs/plugins/multiply/failure-input-parameter-is-missing.yaml +75 -0
  163. package/manifests/outputs/plugins/multiply/success-with-multiple-inputs.yaml +96 -0
  164. package/manifests/outputs/plugins/multiply/success.yaml +78 -0
  165. package/manifests/outputs/plugins/regex/failure-missing-input-param.yaml +75 -0
  166. package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +76 -0
  167. package/manifests/outputs/plugins/regex/success.yaml +81 -0
  168. package/manifests/outputs/plugins/sci/failure-invalid-config-value.yaml +72 -0
  169. package/manifests/outputs/plugins/sci/failure-missing-input-param.yaml +72 -0
  170. package/manifests/outputs/plugins/sci/success.yml.yaml +80 -0
  171. package/manifests/outputs/plugins/sci-embodied/failure-invalid-default-emission-value.yaml +75 -0
  172. package/manifests/outputs/plugins/sci-embodied/failure-missing-expected-lifespan.yaml +71 -0
  173. package/manifests/outputs/plugins/sci-embodied/success.yaml +78 -0
  174. package/manifests/outputs/plugins/shell/failure-invalid-command.yaml +70 -0
  175. package/manifests/outputs/plugins/shell/success.yaml +68 -0
  176. package/manifests/outputs/plugins/subtract/success.yaml +78 -0
  177. package/manifests/outputs/plugins/sum/failure-missing-input-param.yaml +75 -0
  178. package/manifests/outputs/plugins/sum/failure-missing-output-param.yaml +78 -0
  179. package/manifests/outputs/plugins/sum/success.yaml +78 -0
  180. package/manifests/outputs/plugins/time-sync/failure-config-start-later-end.yaml +82 -0
  181. package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +78 -0
  182. package/manifests/outputs/plugins/time-sync/success.yaml +119 -0
  183. package/package.json +10 -4
  184. package/src/__mocks__/mock-manifest.yaml +72 -0
  185. package/src/builtins/README.md +1 -1
  186. package/src/builtins/coefficient/README.md +19 -1
  187. package/src/builtins/copy-param/README.md +104 -0
  188. package/src/builtins/csv-lookup/README.md +39 -1
  189. package/src/builtins/divide/README.md +29 -3
  190. package/src/builtins/exponent/README.md +21 -1
  191. package/src/builtins/interpolation/README.md +29 -1
  192. package/src/builtins/mock-observations/README.md +1 -1
  193. package/src/builtins/multiply/README.md +16 -1
  194. package/src/builtins/regex/README.md +32 -2
  195. package/src/builtins/sci/README.md +24 -1
  196. package/src/builtins/sci-embodied/README.md +15 -1
  197. package/src/builtins/shell/README.md +12 -1
  198. package/src/builtins/subtract/README.md +12 -1
  199. package/src/builtins/sum/README.md +28 -1
  200. package/src/config/env-template.yml +24 -0
  201. package/build/builtins/coefficient/types.d.ts +0 -5
  202. package/build/builtins/coefficient/types.js +0 -3
  203. package/build/builtins/exponent/types.d.ts +0 -5
  204. package/build/builtins/exponent/types.js +0 -3
  205. package/build/builtins/interpolation/types.d.ts +0 -5
  206. package/build/builtins/interpolation/types.js +0 -10
  207. package/build/builtins/mock-observations/types.d.ts +0 -13
  208. package/build/builtins/mock-observations/types.js +0 -3
  209. package/build/builtins/multiply/types.d.ts +0 -4
  210. package/build/builtins/multiply/types.js +0 -3
  211. package/build/builtins/subtract/types.d.ts +0 -4
  212. package/build/builtins/subtract/types.js +0 -3
  213. package/build/builtins/sum/types.d.ts +0 -4
  214. package/build/builtins/sum/types.js +0 -3
  215. package/build/types/common.d.ts +0 -4
  216. package/build/types/common.js +0 -3
  217. package/build/types/group-by.d.ts +0 -3
  218. package/build/types/group-by.js +0 -3
  219. package/build/types/helpers.d.ts +0 -4
  220. package/build/types/helpers.js +0 -3
  221. package/build/util/errors.d.ts +0 -6
  222. package/build/util/errors.js +0 -33
  223. package/manifests/bugs/aggregation-error-wrong-metric.yml +0 -128
  224. package/manifests/bugs/azure-importer-ignoring-defaults.yml +0 -61
  225. package/manifests/bugs/azure-importer-incorrect-calculation.yml +0 -56
  226. package/manifests/bugs/initialize-error-no-config.yml +0 -27
  227. package/manifests/bugs/initialize-error-no-path.yml +0 -28
  228. package/manifests/bugs/initialize-error-no-plugins.yml +0 -23
  229. package/manifests/bugs/input-error-missing-duration.yml +0 -21
  230. package/manifests/bugs/mock-observations-failure-duration-is-zero.yml +0 -34
  231. package/manifests/bugs/pipeline-error-naming-mismatch.yml +0 -28
  232. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +0 -29
  233. package/manifests/bugs/pipeline-ordering-error.yml +0 -82
  234. package/manifests/bugs/sci-embodied-missing-resources-total.yml +0 -23
  235. package/manifests/examples/basic.yml +0 -28
  236. package/manifests/examples/mock-cpu-util-to-carbon.yml +0 -70
  237. package/manifests/features/aggregate-failure-inalid-metrics.yml +0 -43
  238. package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +0 -43
  239. package/manifests/features/aggregate-horizontal.yml +0 -44
  240. package/manifests/features/aggregate-vertical.yml +0 -44
  241. package/manifests/features/aggregate.yml +0 -44
  242. package/manifests/integrations/cloud-metadata-divide-boavizta.yml +0 -38
  243. package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +0 -51
  244. package/manifests/integrations/mock-obs-groupby.yml +0 -39
  245. package/manifests/integrations/mock-obs-time-sync.yml +0 -65
  246. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +0 -18
  247. package/manifests/plugins/tdp-finder/failure-unsupported-physical-processor.yml +0 -19
  248. package/manifests/plugins/tdp-finder/success.yml +0 -19
  249. /package/manifests/{plugins → examples/builtins}/coefficient/failure-invalid-config-input-param.yml +0 -0
  250. /package/manifests/{plugins → examples/builtins}/coefficient/failure-output-param-is-null.yaml +0 -0
  251. /package/manifests/{plugins → examples/builtins}/coefficient/success.yml +0 -0
  252. /package/manifests/{plugins → examples/builtins}/groupby/failure-invalid-config-group.yml +0 -0
  253. /package/manifests/{plugins → examples/builtins}/groupby/failure-missing-cloud-instance-type.yml +0 -0
  254. /package/manifests/{plugins → examples/builtins}/interpolation/interpolation.yml +0 -0
  255. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-config-cpu-range.yml +0 -0
  256. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-memory-utilization-range.yml +0 -0
  257. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-missing-timestamp-from-param.yml +0 -0
  258. /package/manifests/{plugins → examples/builtins}/mock-observations/success.yml +0 -0
  259. /package/manifests/{plugins → examples/builtins}/multiply/failure-input-parameter-is-missing.yml +0 -0
  260. /package/manifests/{plugins → examples/builtins}/multiply/success-with-multiple-inputs.yml +0 -0
  261. /package/manifests/{plugins → examples/builtins}/multiply/success.yml +0 -0
  262. /package/manifests/{plugins → examples/builtins}/regex/failure-missing-input-param.yml +0 -0
  263. /package/manifests/{plugins → examples/builtins}/regex/failure-not-matching-with-regex.yml +0 -0
  264. /package/manifests/{plugins → examples/builtins}/regex/success.yml +0 -0
  265. /package/manifests/{plugins → examples/builtins}/sci/failure-invalid-config-value.yml +0 -0
  266. /package/manifests/{plugins → examples/builtins}/sci-embodied/failure-invalid-default-emission-value.yml +0 -0
  267. /package/manifests/{plugins → examples/builtins}/sci-embodied/failure-missing-expected-lifespan.yml +0 -0
  268. /package/manifests/{plugins → examples/builtins}/sci-embodied/success.yml +0 -0
  269. /package/manifests/{plugins → examples/builtins}/shell/failure-invalid-command.yml +0 -0
  270. /package/manifests/{plugins → examples/builtins}/shell/success.yml +0 -0
  271. /package/manifests/{plugins → examples/builtins}/sum/failure-missing-input-param.yml +0 -0
  272. /package/manifests/{plugins → examples/builtins}/sum/failure-missing-output-param.yml +0 -0
  273. /package/manifests/{plugins → examples/builtins}/time-sync/failure-config-start-later-end.yml +0 -0
  274. /package/manifests/{plugins → examples/builtins}/time-sync/failure-missing-global-config.yml +0 -0
  275. /package/manifests/{plugins → examples/builtins}/time-sync/success.yml +0 -0
  276. /package/manifests/examples/{instance-metadata.yml → pipelines/instance-metadata.yml} +0 -0
  277. /package/manifests/examples/{sci.yml → pipelines/sci.yml} +0 -0
  278. /package/manifests/examples/{teads-curve.yml → pipelines/teads-curve.yml} +0 -0
@@ -62,11 +62,6 @@ exports.PARAMETERS = {
62
62
  unit: 'none',
63
63
  aggregation: 'sum',
64
64
  },
65
- 'functional-unit-time': {
66
- description: 'string describing the unit of time in which the final SCI calculation should be expressed, e.g. "1-min"',
67
- unit: 'none',
68
- aggregation: 'none',
69
- },
70
65
  'gpu-util': {
71
66
  description: 'refers to CPU utilization.',
72
67
  unit: 'percentage',
@@ -198,4 +193,4 @@ exports.PARAMETERS = {
198
193
  aggregation: 'none',
199
194
  },
200
195
  };
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsTUFBTSxFQUFFO1FBQ04sV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFlBQVksRUFBRTtRQUNaLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNu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QUNwQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGFBQWEsRUFBRTtRQUNiLFdBQVcsRUFBRSwwREFBMEQ7UUFDdkUsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSwyREFBMkQ7UUFDeEUsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFDVCx1RUFBdUU7UUFDekUsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSxpQ0FBaUM7UUFDOUMsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLFdBQVcsRUFBRSw4Q0FBOEM7UUFDM0QsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFBRSx1Q0FBdUM7UUFDcEQsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixXQUFXLEVBQUUsTUFBTTtLQUNwQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5leHBvcnQgY29uc3QgUEFSQU1FVEVSUzogUGFyYW1ldGVycyA9IHtcbiAgY2FyYm9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdhbiBhbW91bnQgb2YgY2FyYm9uIGVtaXR0ZWQgaW50byB0aGUgYXRtb3NwaGVyZScsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdjcHUvbnVtYmVyLWNvcmVzJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvcmVzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3V0aWxpemF0aW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIENQVSB1dGlsaXphdGlvbi4nLFxuICAgIHVuaXQ6ICdwZXJjZW50YWdlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkaXNrLWlvJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIEdCIG9mIGRhdGEgd3JpdHRlbi9yZWFkIGZyb20gZGlzaycsXG4gICAgdW5pdDogJ0dCJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gIGR1cmF0aW9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBpbnB1dCcsXG4gICAgdW5pdDogJ3NlY29uZHMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgZW5lcmd5OiB7XG4gICAgZGVzY3JpcHRpb246ICdhbW91bnQgb2YgZW5lcmd5IHV0aWxpc2VkIGJ5IHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2NwdS9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIENQVSBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAna1doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdkZXZpY2UvZXhwZWN0ZWQtbGlmZXNwYW4nOiB7XG4gICAgZGVzY3JpcHRpb246ICdUb3RhbCBFeHBlY3RlZCBMaWZlc3BhbiBvZiB0aGUgQ29tcG9uZW50IGluIFNlY29uZHMnLFxuICAgIHVuaXQ6ICdzZWNvbmRzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdtZW1vcnkvZW5lcmd5Jzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW5lcmd5IGNvbnN1bWVkIGJ5IHRoZSBNZW1vcnkgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnY2FyYm9uLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW1ib2RpZWQgRW1pc3Npb25zIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdnQ08yZScsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnbmV0d29yay9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIE5ldHdvcmsgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnZnVuY3Rpb25hbC11bml0Jzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ3RoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbmFsIHVuaXQgaW4gd2hpY2ggdGhlIGZpbmFsIFNDSSB2YWx1ZSBzaG91bGQgYmUgZXhwcmVzc2VkLCBlLmcuIHJlcXVlc3RzLCB1c2VycycsXG4gICAgdW5pdDogJ25vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2Z1bmN0aW9uYWwtdW5pdC10aW1lJzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ3N0cmluZyBkZXNjcmliaW5nIHRoZSB1bml0IG9mIHRpbWUgaW4gd2hpY2ggdGhlIGZpbmFsIFNDSSBjYWxjdWxhdGlvbiBzaG91bGQgYmUgZXhwcmVzc2VkLCBlLmcuIFwiMS1taW5cIicsXG4gICAgdW5pdDogJ25vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdncHUtdXRpbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3JlZmVycyB0byBDUFUgdXRpbGl6YXRpb24uJyxcbiAgICB1bml0OiAncGVyY2VudGFnZScsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAnZ3JpZC9jYXJib24taW50ZW5zaXR5Jzoge1xuICAgIGRlc2NyaXB0aW9uOiAnQ2FyYm9uIGludGVuc2l0eSBmb3IgdGhlIGdyaWQnLFxuICAgIHVuaXQ6ICdnQ08yZXEva1doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdjbG91ZC9pbnN0YW5jZS10eXBlJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnVHlwZSBvZiBDbG91ZCBJbnN0YW5jZSBuYW1lIHVzZWQgaW4gdGhlIGNsb3VkIHByb3ZpZGVyIEFQSXMnLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICBnZW9sb2NhdGlvbjoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0dlb2dyYXBoaWMgbG9jYXRpb24gb2YgcHJvdmlkZXIgYXMgc3RyaW5nIChmb3Igd2F0dC10aW1lIG1vZGVsIGl0IGlzIHByb3ZpZGVkIGFzIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUsIGNvbW1hIHNlcGFyYXRlZCwgaW4gZGVjaW1hbCBkZWdyZWVzKScsXG4gICAgdW5pdDogJ05vbmUgKGRlY2ltYWwgZGVncmVlcyBmb3Igd2F0dC10aW1lIG1vZGVsKScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2NhcmJvbi1vcGVyYXRpb25hbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ09wZXJhdGlvbmFsIEVtaXNzaW9ucyBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAnZ0NPMmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2NwdS9uYW1lJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcGh5c2ljYWwgcHJvY2Vzc29yJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbic6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3JlZ2lvbiBjbG91ZCBpbnN0YW5jZSBydW5zIGluJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3ZlbmRvcic6IHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdOYW1lIG9mIHRoZSBjbG91ZCBzZXJ2aWNlIHByb3ZpZGVyIGluIHRoZSBjY2YgbW9kZWwuIENhbiBiZSBhd3MsIGdjcCBvciBhenVyZScsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkZXNjcmlwdGlvbjogJ2FyYml0cmFyeSBuYW1lIHBhcmFtZXRlci4nLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAncmFtLWFsbG9jJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIEdCIG9mIG1lbW9yeSBhbGxvY2F0ZWQuJyxcbiAgICB1bml0OiAnR0InLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ3JhbS11dGlsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIHBlcmNlbnRhZ2Ugb2YgbWVtb3J5IHV0aWxpemVkLicsXG4gICAgdW5pdDogJ3BlcmNlbnRhZ2UnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ3Jlc291cmNlcy1yZXNlcnZlZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3Jlc291cmNlcyByZXNlcnZlZCBmb3IgYW4gYXBwbGljYXRpb24nLFxuICAgIHVuaXQ6ICdjb3VudCcsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2NwdS90aGVybWFsLWRlc2lnbi1wb3dlcic6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RoZXJtYWwgZGVzaWduIHBvd2VyIGZvciBhIHByb2Nlc3NvcicsXG4gICAgdW5pdDogJ2t3aCcsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAnZGV2aWNlL2VtaXNzaW9ucy1lbWJvZGllZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIGVtYm9kaWVkIGVtaXNzaW9ucyBvZiBzb21lIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gIHRpbWVzdGFtcDoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIHRoZSB0aW1lIG9mIG9jY3VycmVuY2Ugb2YgdGhlIGlucHV0JyxcbiAgICB1bml0OiAnUkZDMzMzOScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ3RpbWUtcmVzZXJ2ZWQnOiB7XG4gICAgZGVzY3JpcHRpb246ICd0aW1lIHJlc2VydmVkIGZvciBhIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ3NlY29uZHMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ3Jlc291cmNlcy10b3RhbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIHJlc291cmNlcyBhdmFpbGFibGUnLFxuICAgIHVuaXQ6ICdjb3VudCcsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ3ZjcHVzLWFsbG9jYXRlZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ251bWJlciBvZiB2Y3B1cyBhbGxvY2F0ZWQgdG8gcGFydGljdWxhciByZXNvdXJjZScsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndmNwdXMtdG90YWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICd0b3RhbCBudW1iZXIgb2YgdmNwdXMgYXZhaWxhYmxlIG9uIGEgcGFydGljdWxhciByZXNvdXJjZScsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnbWVtb3J5LWF2YWlsYWJsZSc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIGFtb3VudCBvZiBtZW1vcnkgYXZhaWxhYmxlIG9uIGEgcGFydGljdWxhciByZXNvdXJjZScsXG4gICAgdW5pdDogJ0dCJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAncGh5c2ljYWwtcHJvY2Vzc29yJzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ25hbWUgb2YgdGhlIHBoeXNpY2FsIHByb2Nlc3NvciBiZWluZyB1c2VkIGluIGEgc3BlY2lmaWMgaW5zdGFuY2UgdHlwZScsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdjbG91ZC9yZWdpb24tY2ZlJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnY2xvdWQgcmVnaW9uIG5hbWUgaW4gY2ZlIGZvcm1hdCcsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdjbG91ZC9yZWdpb24tZW0tem9uZS1pZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ2Nsb3VkIHJlZ2lvbiBuYW1lIGluIGVsZWN0cmljaXR5IG1hcHMgZm9ybWF0JyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi13dC1pZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ2Nsb3VkIHJlZ2lvbiBuYW1lIGluIHdhdHQtdGltZSBmb3JtYXQnLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvcmVnaW9uLWxvY2F0aW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnY2xvdWQgcmVnaW9uIG5hbWUgaW4gb3VyIElGIGZvcm1hdCcsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdjbG91ZC9yZWdpb24tZ2VvbG9jYXRpb24nOiB7XG4gICAgZGVzY3JpcHRpb246ICdsb2NhdGlvbiBleHByZXNzZWQgYXMgZGVjaW1hbCBjb29yZGluYXRlcyAobGF0L2xvbiknLFxuICAgIHVuaXQ6ICdkZWNpbWFsIGRlZ3JlZXMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG59O1xuIl19
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsTUFBTSxFQUFFO1FBQ04sV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFlBQVksRUFBRTtRQUNaLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNu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QUNwQjtJQUNELGFBQWEsRUFBRTtRQUNiLFdBQVcsRUFBRSwwREFBMEQ7UUFDdkUsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSwyREFBMkQ7UUFDeEUsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFDVCx1RUFBdUU7UUFDekUsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSxpQ0FBaUM7UUFDOUMsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLFdBQVcsRUFBRSw4Q0FBOEM7UUFDM0QsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFBRSx1Q0FBdUM7UUFDcEQsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixXQUFXLEVBQUUsTUFBTTtLQUNwQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5leHBvcnQgY29uc3QgUEFSQU1FVEVSUzogUGFyYW1ldGVycyA9IHtcbiAgY2FyYm9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdhbiBhbW91bnQgb2YgY2FyYm9uIGVtaXR0ZWQgaW50byB0aGUgYXRtb3NwaGVyZScsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdjcHUvbnVtYmVyLWNvcmVzJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvcmVzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3V0aWxpemF0aW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIENQVSB1dGlsaXphdGlvbi4nLFxuICAgIHVuaXQ6ICdwZXJjZW50YWdlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkaXNrLWlvJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIEdCIG9mIGRhdGEgd3JpdHRlbi9yZWFkIGZyb20gZGlzaycsXG4gICAgdW5pdDogJ0dCJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gIGR1cmF0aW9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBpbnB1dCcsXG4gICAgdW5pdDogJ3NlY29uZHMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgZW5lcmd5OiB7XG4gICAgZGVzY3JpcHRpb246ICdhbW91bnQgb2YgZW5lcmd5IHV0aWxpc2VkIGJ5IHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2NwdS9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIENQVSBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAna1doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdkZXZpY2UvZXhwZWN0ZWQtbGlmZXNwYW4nOiB7XG4gICAgZGVzY3JpcHRpb246ICdUb3RhbCBFeHBlY3RlZCBMaWZlc3BhbiBvZiB0aGUgQ29tcG9uZW50IGluIFNlY29uZHMnLFxuICAgIHVuaXQ6ICdzZWNvbmRzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdtZW1vcnkvZW5lcmd5Jzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW5lcmd5IGNvbnN1bWVkIGJ5IHRoZSBNZW1vcnkgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnY2FyYm9uLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW1ib2RpZWQgRW1pc3Npb25zIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdnQ08yZScsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnbmV0d29yay9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIE5ldHdvcmsgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnZnVuY3Rpb25hbC11bml0Jzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ3RoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbmFsIHVuaXQgaW4gd2hpY2ggdGhlIGZpbmFsIFNDSSB2YWx1ZSBzaG91bGQgYmUgZXhwcmVzc2VkLCBlLmcuIHJlcXVlc3RzLCB1c2VycycsXG4gICAgdW5pdDogJ25vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2dwdS11dGlsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIENQVSB1dGlsaXphdGlvbi4nLFxuICAgIHVuaXQ6ICdwZXJjZW50YWdlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdncmlkL2NhcmJvbi1pbnRlbnNpdHknOiB7XG4gICAgZGVzY3JpcHRpb246ICdDYXJib24gaW50ZW5zaXR5IGZvciB0aGUgZ3JpZCcsXG4gICAgdW5pdDogJ2dDTzJlcS9rV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ2Nsb3VkL2luc3RhbmNlLXR5cGUnOiB7XG4gICAgZGVzY3JpcHRpb246ICdUeXBlIG9mIENsb3VkIEluc3RhbmNlIG5hbWUgdXNlZCBpbiB0aGUgY2xvdWQgcHJvdmlkZXIgQVBJcycsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gIGdlb2xvY2F0aW9uOiB7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnR2VvZ3JhcGhpYyBsb2NhdGlvbiBvZiBwcm92aWRlciBhcyBzdHJpbmcgKGZvciB3YXR0LXRpbWUgbW9kZWwgaXQgaXMgcHJvdmlkZWQgYXMgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSwgY29tbWEgc2VwYXJhdGVkLCBpbiBkZWNpbWFsIGRlZ3JlZXMpJyxcbiAgICB1bml0OiAnTm9uZSAoZGVjaW1hbCBkZWdyZWVzIGZvciB3YXR0LXRpbWUgbW9kZWwpJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2FyYm9uLW9wZXJhdGlvbmFsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnT3BlcmF0aW9uYWwgRW1pc3Npb25zIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdnQ08yZScsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnY3B1L25hbWUnOiB7XG4gICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBwaHlzaWNhbCBwcm9jZXNzb3InLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvcmVnaW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVnaW9uIGNsb3VkIGluc3RhbmNlIHJ1bnMgaW4nLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvdmVuZG9yJzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ05hbWUgb2YgdGhlIGNsb3VkIHNlcnZpY2UgcHJvdmlkZXIgaW4gdGhlIGNjZiBtb2RlbC4gQ2FuIGJlIGF3cywgZ2NwIG9yIGF6dXJlJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgbmFtZToge1xuICAgIGRlc2NyaXB0aW9uOiAnYXJiaXRyYXJ5IG5hbWUgcGFyYW1ldGVyLicsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdyYW0tYWxsb2MnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gR0Igb2YgbWVtb3J5IGFsbG9jYXRlZC4nLFxuICAgIHVuaXQ6ICdHQicsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmFtLXV0aWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gcGVyY2VudGFnZSBvZiBtZW1vcnkgdXRpbGl6ZWQuJyxcbiAgICB1bml0OiAncGVyY2VudGFnZScsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXJlc2VydmVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVzb3VyY2VzIHJlc2VydmVkIGZvciBhbiBhcHBsaWNhdGlvbicsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3RoZXJtYWwtZGVzaWduLXBvd2VyJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndGhlcm1hbCBkZXNpZ24gcG93ZXIgZm9yIGEgcHJvY2Vzc29yJyxcbiAgICB1bml0OiAna3doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkZXZpY2UvZW1pc3Npb25zLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgZW1ib2RpZWQgZW1pc3Npb25zIG9mIHNvbWUgY29tcG9uZW50JyxcbiAgICB1bml0OiAnZ0NPMmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgdGltZXN0YW1wOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIHRpbWUgb2Ygb2NjdXJyZW5jZSBvZiB0aGUgaW5wdXQnLFxuICAgIHVuaXQ6ICdSRkMzMzM5JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndGltZS1yZXNlcnZlZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RpbWUgcmVzZXJ2ZWQgZm9yIGEgY29tcG9uZW50JyxcbiAgICB1bml0OiAnc2Vjb25kcycsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXRvdGFsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgcmVzb3VyY2VzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndmNwdXMtYWxsb2NhdGVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIHZjcHVzIGFsbG9jYXRlZCB0byBwYXJ0aWN1bGFyIHJlc291cmNlJyxcbiAgICB1bml0OiAnY291bnQnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICd2Y3B1cy10b3RhbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIG51bWJlciBvZiB2Y3B1cyBhdmFpbGFibGUgb24gYSBwYXJ0aWN1bGFyIHJlc291cmNlJyxcbiAgICB1bml0OiAnY291bnQnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdtZW1vcnktYXZhaWxhYmxlJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgYW1vdW50IG9mIG1lbW9yeSBhdmFpbGFibGUgb24gYSBwYXJ0aWN1bGFyIHJlc291cmNlJyxcbiAgICB1bml0OiAnR0InLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdwaHlzaWNhbC1wcm9jZXNzb3InOiB7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnbmFtZSBvZiB0aGUgcGh5c2ljYWwgcHJvY2Vzc29yIGJlaW5nIHVzZWQgaW4gYSBzcGVjaWZpYyBpbnN0YW5jZSB0eXBlJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi1jZmUnOiB7XG4gICAgZGVzY3JpcHRpb246ICdjbG91ZCByZWdpb24gbmFtZSBpbiBjZmUgZm9ybWF0JyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi1lbS16b25lLWlkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnY2xvdWQgcmVnaW9uIG5hbWUgaW4gZWxlY3RyaWNpdHkgbWFwcyBmb3JtYXQnLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvcmVnaW9uLXd0LWlkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnY2xvdWQgcmVnaW9uIG5hbWUgaW4gd2F0dC10aW1lIGZvcm1hdCcsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdjbG91ZC9yZWdpb24tbG9jYXRpb24nOiB7XG4gICAgZGVzY3JpcHRpb246ICdjbG91ZCByZWdpb24gbmFtZSBpbiBvdXIgSUYgZm9ybWF0JyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi1nZW9sb2NhdGlvbic6IHtcbiAgICBkZXNjcmlwdGlvbjogJ2xvY2F0aW9uIGV4cHJlc3NlZCBhcyBkZWNpbWFsIGNvb3JkaW5hdGVzIChsYXQvbG9uKScsXG4gICAgdW5pdDogJ2RlY2ltYWwgZGVncmVlcycsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbn07XG4iXX0=
@@ -1,6 +1,5 @@
1
1
  import { ManifestParameter } from '../types/manifest';
2
2
  export declare const STRINGS: {
3
- FILE_IS_NOT_YAML: string;
4
3
  MANIFEST_IS_MISSING: string;
5
4
  MISSING_METHOD: string;
6
5
  MISSING_PATH: string;
@@ -8,15 +7,12 @@ export declare const STRINGS: {
8
7
  OVERRIDE_WARNING: string;
9
8
  DISCLAIMER_MESSAGE: string;
10
9
  NOT_NATIVE_PLUGIN: (path: string) => string;
11
- SOMETHING_WRONG: string;
12
- ISSUE_TEMPLATE: string;
13
- INVALID_MODULE_PATH: (path: string) => string;
10
+ INVALID_MODULE_PATH: (path: string, error?: any) => string;
14
11
  INVALID_TIME_NORMALIZATION: string;
15
12
  UNEXPECTED_TIME_CONFIG: string;
16
13
  INVALID_TIME_INTERVAL: string;
17
14
  AVOIDING_PADDING: (description: string) => string;
18
15
  AVOIDING_PADDING_BY_EDGES: (start: boolean, end: boolean) => string;
19
- INVALID_OBSERVATION_OVERLAP: string;
20
16
  INVALID_AGGREGATION_METHOD: (metric: string) => string;
21
17
  METRIC_MISSING: (metric: string, index: number) => string;
22
18
  INVALID_GROUP_BY: (type: string) => string;
@@ -29,6 +25,39 @@ export declare const STRINGS: {
29
25
  TARGET_IS_NOT_YAML: string;
30
26
  INVALID_TARGET: string;
31
27
  INVALID_SOURCE: string;
28
+ UNSUPPORTED_ERROR: (errorName: string) => string;
29
+ /** Plugin messages */
30
+ MISSING_GLOBAL_CONFIG: string;
31
+ MISSING_INPUT_DATA: (param: string) => string;
32
+ MANIFEST_NOT_FOUND: string;
33
+ INITIALIZING_PACKAGE_JSON: string;
34
+ INSTALLING_NPM_PACKAGES: string;
35
+ NOT_NUMERIC_VALUE: (str: any) => string;
36
+ MISSING_FUNCTIONAL_UNIT_CONFIG: string;
37
+ MISSING_FUNCTIONAL_UNIT_INPUT: string;
38
+ REGEX_MISMATCH: (input: any, match: string) => string;
39
+ SCI_EMBODIED_ERROR: (unit: string) => string;
40
+ MISSING_MIN_MAX: string;
41
+ INVALID_MIN_MAX: (name: string) => string;
42
+ FILE_FETCH_FAILED: (filepath: string, message: string) => string;
43
+ FILE_READ_FAILED: (filepath: string, error: string) => string;
44
+ MISSING_CSV_COLUMN: (columnName: string) => string;
45
+ NO_QUERY_DATA: string;
46
+ INVALID_DATE_TYPE: (date: any) => string;
47
+ INVALID_OBSERVATION_OVERLAP: string;
48
+ SCI_MISSING_FN_UNIT: (functionalUnit: string) => string;
49
+ /** Exhaust messages */
50
+ OUTPUT_REQUIRED: string;
51
+ CSV_EXPORT: string;
52
+ WRITE_CSV_ERROR: (outputPath: string, error: any) => string;
53
+ INVALID_NAME: string;
54
+ START_LOWER_END: string;
55
+ TIMESTAMP_REQUIRED: (index: number) => string;
56
+ INVALID_DATETIME: (index: number) => string;
57
+ X_Y_EQUAL: string;
58
+ ARRAY_LENGTH_NON_EMPTY: string;
59
+ WITHIN_THE_RANGE: string;
60
+ /** Debugging logs */
32
61
  STARTING_IF: string;
33
62
  EXITING_IF: string;
34
63
  LOADING_MANIFEST: string;
@@ -47,4 +76,15 @@ export declare const STRINGS: {
47
76
  EXPORTING_TO_YAML_FILE: (savepath: string) => string;
48
77
  EXPORTING_TO_CSV_FILE: (savepath: string) => string;
49
78
  EXPORTING_RAW_CSV_FILE: (savepath: string) => string;
79
+ CHECKING: string;
80
+ IF_CHECK_FLAGS_MISSING: string;
81
+ DIRECTORY_NOT_FOUND: string;
82
+ DIRECTORY_YAML_FILES_NOT_FOUND: string;
83
+ IF_CHECK_EXECUTING: (filename: string) => string;
84
+ IF_CHECK_VERIFICATION_FAILURES: string;
85
+ IF_CHECK_FAILED: (filename: string) => string;
86
+ IF_CHECK_VERIFIED: (filename: string) => string;
87
+ IF_CHECK_SUMMARY_ERROR_MESSAGE: (filename: string, message: string) => string;
88
+ IF_CHECK_SUMMARY_LOG: (passedCount: number, totalCount: number) => string;
89
+ ZERO_DIVISION: (moduleName: string, index: number) => string;
50
90
  };
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.STRINGS = void 0;
4
4
  exports.STRINGS = {
5
- FILE_IS_NOT_YAML: 'Provided manifest is not in yaml format.',
6
5
  MANIFEST_IS_MISSING: 'Manifest is missing.',
7
6
  MISSING_METHOD: "Initalization param 'method' is missing.",
8
7
  MISSING_PATH: "Initalization param 'path' is missing.",
@@ -15,17 +14,13 @@ This project is an incubation project being run inside the Green Software Founda
15
14
  Incubation projects are experimental, offer no support guarantee, have minimal governance and process, and may be retired at any moment. This project may one day graduate, in which case this disclaimer will be removed.`,
16
15
  NOT_NATIVE_PLUGIN: (path) => `
17
16
  You are using plugin ${path} which is not part of the Impact Framework standard library. You should do your own research to ensure the plugins are up to date and accurate. They may not be actively maintained.`,
18
- SOMETHING_WRONG: 'Something wrong with cli arguments. Please check docs.',
19
- ISSUE_TEMPLATE: `
20
- Impact Framework is an alpha release from the Green Software Foundation and is released to capture early feedback. If you'd like to offer some feedback, please use this issue template:
21
- https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=feedback&projects=&template=feedback.md&title=Feedback+-+`,
22
- INVALID_MODULE_PATH: (path) => `Provided module: '${path}' is invalid or not found.`,
17
+ INVALID_MODULE_PATH: (path, error) => `Provided module \`${path}\` is invalid or not found. ${error ?? ''}
18
+ `,
23
19
  INVALID_TIME_NORMALIZATION: 'Start time or end time is missing.',
24
20
  UNEXPECTED_TIME_CONFIG: 'Unexpected node-level config provided for time-sync plugin.',
25
21
  INVALID_TIME_INTERVAL: 'Interval is missing.',
26
22
  AVOIDING_PADDING: (description) => `Avoiding padding at ${description}`,
27
23
  AVOIDING_PADDING_BY_EDGES: (start, end) => `Avoiding padding at ${start && end ? 'start and end' : start ? 'start' : 'end'}`,
28
- INVALID_OBSERVATION_OVERLAP: 'Observation timestamps overlap.',
29
24
  INVALID_AGGREGATION_METHOD: (metric) => `Aggregation is not possible for given ${metric} since method is 'none'.`,
30
25
  METRIC_MISSING: (metric, index) => `Aggregation metric ${metric} is not found in inputs[${index}].`,
31
26
  INVALID_GROUP_BY: (type) => `Invalid group ${type}.`,
@@ -39,9 +34,44 @@ You have not selected an output method. To see your output data, you can choose
39
34
  --output <savepath>: this will save your output data to the given filepath (do not provide file extension)
40
35
  Note that for the '--output' option you also need to define the output type in your manifest file. See https://if.greensoftware.foundation/major-concepts/manifest-file#initialize`,
41
36
  SOURCE_IS_NOT_YAML: 'Given source file is not in yaml format.',
42
- TARGET_IS_NOT_YAML: 'Given target is not in yaml format.',
37
+ TARGET_IS_NOT_YAML: 'Given target file is not in yaml format.',
43
38
  INVALID_TARGET: 'Target is invalid.',
44
39
  INVALID_SOURCE: 'Source is invalid.',
40
+ UNSUPPORTED_ERROR: (errorName) => `UnsupportedErrorClass: plugin threw error class: ${errorName} that is not recognized by Impact Framework`,
41
+ /** Plugin messages */
42
+ MISSING_GLOBAL_CONFIG: 'Global config is not provided.',
43
+ MISSING_INPUT_DATA: (param) => `${param} is missing from the input array, or has nullish value.`,
44
+ MANIFEST_NOT_FOUND: 'Manifest file not found.',
45
+ INITIALIZING_PACKAGE_JSON: 'Initializing package.json.',
46
+ INSTALLING_NPM_PACKAGES: 'Installing npm packages...',
47
+ NOT_NUMERIC_VALUE: (str) => `${str} is not numberic.`,
48
+ MISSING_FUNCTIONAL_UNIT_CONFIG: '`functional-unit` should be provided in your global config',
49
+ MISSING_FUNCTIONAL_UNIT_INPUT: '`functional-unit` value is missing from input data or it is not a positive integer',
50
+ REGEX_MISMATCH: (input, match) => `\`${input}\` does not match the ${match} regex expression`,
51
+ SCI_EMBODIED_ERROR: (unit) => `invalid number. please provide it as \`${unit}\` to input`,
52
+ MISSING_MIN_MAX: 'Config is missing min or max value',
53
+ INVALID_MIN_MAX: (name) => `Min value should not be greater than or equal to max value of ${name}`,
54
+ FILE_FETCH_FAILED: (filepath, message) => `Failed fetching the file: ${filepath}.
55
+ ${message}`,
56
+ FILE_READ_FAILED: (filepath, error) => `Failed reading the file: ${filepath}.
57
+ ${error}`,
58
+ MISSING_CSV_COLUMN: (columnName) => `There is no column with the name: ${columnName}.`,
59
+ NO_QUERY_DATA: 'One or more of the given query parameters are not found in the target CSV file column headers.',
60
+ INVALID_DATE_TYPE: (date) => `Unexpected date datatype: ${typeof date}: ${date}`,
61
+ INVALID_OBSERVATION_OVERLAP: 'Observation timestamps overlap, please check inputs.',
62
+ SCI_MISSING_FN_UNIT: (functionalUnit) => `'carbon' and ${functionalUnit} should be present in your input data.`,
63
+ /** Exhaust messages */
64
+ OUTPUT_REQUIRED: 'Output path is required, please make sure output is configured properly.',
65
+ CSV_EXPORT: 'CSV export criteria is not found in output path. Please append it after --output <path>#.',
66
+ WRITE_CSV_ERROR: (outputPath, error) => `Failed to write CSV file to ${outputPath}: ${error}`,
67
+ INVALID_NAME: '`name` global config parameter is empty or contains all spaces',
68
+ START_LOWER_END: '`start-time` should be lower than `end-time`',
69
+ TIMESTAMP_REQUIRED: (index) => `required in input[${index}]`,
70
+ INVALID_DATETIME: (index) => `invalid datetime in input[${index}]`,
71
+ X_Y_EQUAL: 'The length of `x` and `y` should be equal',
72
+ ARRAY_LENGTH_NON_EMPTY: 'the length of the input arrays must be greater than 1',
73
+ WITHIN_THE_RANGE: 'The target x value must be within the range of the given x values',
74
+ /** Debugging logs */
45
75
  STARTING_IF: 'Starting IF',
46
76
  EXITING_IF: 'Exiting IF',
47
77
  LOADING_MANIFEST: 'Loading manifest',
@@ -60,5 +90,16 @@ Note that for the '--output' option you also need to define the output type in y
60
90
  EXPORTING_TO_YAML_FILE: (savepath) => `Exporting to yaml file: ${savepath}`,
61
91
  EXPORTING_TO_CSV_FILE: (savepath) => `Exporting to csv file: ${savepath}`,
62
92
  EXPORTING_RAW_CSV_FILE: (savepath) => `Exporting raw csv file: ${savepath}`,
93
+ CHECKING: 'Checking...',
94
+ IF_CHECK_FLAGS_MISSING: 'Either the `--manifest` or `--directory` command should be provided with a path',
95
+ DIRECTORY_NOT_FOUND: 'Directory not found.',
96
+ DIRECTORY_YAML_FILES_NOT_FOUND: 'The directory does not contain any YAML/YML files.\n',
97
+ IF_CHECK_EXECUTING: (filename) => `Executing \`${filename}\``,
98
+ IF_CHECK_VERIFICATION_FAILURES: '---------\nif-check verification failures:\n',
99
+ IF_CHECK_FAILED: (filename) => `✖ if-check could not verify ${filename}. The re-executed file does not match the original.\n`,
100
+ IF_CHECK_VERIFIED: (filename) => `✔ if-check successfully verified ${filename}\n`,
101
+ IF_CHECK_SUMMARY_ERROR_MESSAGE: (filename, message) => `Executing \`${filename}\`\n✖ ${message}`,
102
+ IF_CHECK_SUMMARY_LOG: (passedCount, totalCount) => `---------\nCheck summary:\n${passedCount} of ${totalCount} files are passed.\n`,
103
+ ZERO_DIVISION: (moduleName, index) => `-- SKIPPING -- DivisionByZero: you are attempting to divide by zero in ${moduleName} plugin : inputs[${index}]\n`,
63
104
  };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQzt1QkFDbUIsSUFBSSxzTEFBc0w7SUFDL00sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7O3VJQUVxSDtJQUNySSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3BDLHFCQUFxQixJQUFJLDRCQUE0QjtJQUN2RCwwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMkJBQTJCLEVBQUUsaUNBQWlDO0lBQzlELDBCQUEwQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDN0MseUNBQXlDLE1BQU0sMEJBQTBCO0lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHO0lBQzVELGtCQUFrQixFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQy9DLGdEQUFnRCxLQUFLLENBQUMsSUFBSSxHQUFHO0lBQy9ELHNCQUFzQixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQzdDLDJCQUEyQixVQUFVLEdBQUc7SUFDMUMsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksbUNBQW1DO0lBQy9ELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJQUFJLHNDQUFzQztJQUN4RixTQUFTLEVBQUU7Ozs7bUxBSXNLO0lBQ2pMLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxrQkFBa0IsRUFBRSxxQ0FBcUM7SUFDekQsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxtQkFBbUIsRUFBRSxxQkFBcUI7SUFDMUMsa0NBQWtDLEVBQUUsb0NBQW9DO0lBQ3hFLGtCQUFrQixFQUFFLG9CQUFvQjtJQUN4QywyQkFBMkIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNoRCxtQ0FBbUMsUUFBUSxFQUFFO0lBQy9DLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QyxtQkFBbUIsRUFBRSxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixVQUFVLEVBQUU7SUFDekUsd0JBQXdCLEVBQUUsQ0FBQyxVQUFrQixFQUFFLElBQVksRUFBRSxFQUFFLENBQzdELFdBQVcsVUFBVSxTQUFTLElBQUksRUFBRTtJQUN0QywyQkFBMkIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNoRCw0QkFBNEIsUUFBUSxJQUFJO0lBQzFDLGdDQUFnQyxFQUFFLGtDQUFrQztJQUNwRSxtQkFBbUIsRUFBRSxxQkFBcUI7SUFDMUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsUUFBUSxFQUFFO0lBQ3RFLHFCQUFxQixFQUFFLHVCQUF1QjtJQUM5QyxzQkFBc0IsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUMzQywyQkFBMkIsUUFBUSxFQUFFO0lBQ3ZDLHFCQUFxQixFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQzFDLDBCQUEwQixRQUFRLEVBQUU7SUFDdEMsc0JBQXNCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDM0MsMkJBQTJCLFFBQVEsRUFBRTtDQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYW5pZmVzdFBhcmFtZXRlcn0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5leHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRklMRV9JU19OT1RfWUFNTDogJ1Byb3ZpZGVkIG1hbmlmZXN0IGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9JU19NSVNTSU5HOiAnTWFuaWZlc3QgaXMgbWlzc2luZy4nLFxuICBNSVNTSU5HX01FVEhPRDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdtZXRob2QnIGlzIG1pc3NpbmcuXCIsXG4gIE1JU1NJTkdfUEFUSDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdwYXRoJyBpcyBtaXNzaW5nLlwiLFxuICBVTlNVUFBPUlRFRF9QTFVHSU46XG4gICAgXCJQbHVnaW4gaW50ZXJmYWNlIGRvZXNuJ3QgaW1wbGVtZW50ICdleGVjdXRlJyBvciAnbWV0YWRhdGEnIG1ldGhvZHMuXCIsXG4gIE9WRVJSSURFX1dBUk5JTkc6XG4gICAgJ1xcbioqV0FSTklORyoqOiBZb3UgYXJlIG92ZXJyaWRpbmcgdGhlIElGIGRlZmF1bHQgcGFyYW1ldGVycyBmaWxlLiBQbGVhc2UgYmUgZXh0cmVtZWx5IGNhcmVmdWwgb2YgdW5pbnRlbmRlZCBzaWRlLWVmZmVjdHMgaW4geW91ciBwbHVnaW4gcGlwZWxpbmUhXFxuJyxcbiAgRElTQ0xBSU1FUl9NRVNTQUdFOiBgXG5JbmN1YmF0aW9uIFByb2plY3RcblxuVGhpcyBwcm9qZWN0IGlzIGFuIGluY3ViYXRpb24gcHJvamVjdCBiZWluZyBydW4gaW5zaWRlIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBhcyBzdWNoLCB3ZSBET07igJlUIHJlY29tbWVuZCB1c2luZyBpdCBpbiBhbnkgY3JpdGljYWwgdXNlIGNhc2UuIFxuSW5jdWJhdGlvbiBwcm9qZWN0cyBhcmUgZXhwZXJpbWVudGFsLCBvZmZlciBubyBzdXBwb3J0IGd1YXJhbnRlZSwgaGF2ZSBtaW5pbWFsIGdvdmVybmFuY2UgYW5kIHByb2Nlc3MsIGFuZCBtYXkgYmUgcmV0aXJlZCBhdCBhbnkgbW9tZW50LiBUaGlzIHByb2plY3QgbWF5IG9uZSBkYXkgZ3JhZHVhdGUsIGluIHdoaWNoIGNhc2UgdGhpcyBkaXNjbGFpbWVyIHdpbGwgYmUgcmVtb3ZlZC5gLFxuICBOT1RfTkFUSVZFX1BMVUdJTjogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgXG5Zb3UgYXJlIHVzaW5nIHBsdWdpbiAke3BhdGh9IHdoaWNoIGlzIG5vdCBwYXJ0IG9mIHRoZSBJbXBhY3QgRnJhbWV3b3JrIHN0YW5kYXJkIGxpYnJhcnkuIFlvdSBzaG91bGQgZG8geW91ciBvd24gcmVzZWFyY2ggdG8gZW5zdXJlIHRoZSBwbHVnaW5zIGFyZSB1cCB0byBkYXRlIGFuZCBhY2N1cmF0ZS4gVGhleSBtYXkgbm90IGJlIGFjdGl2ZWx5IG1haW50YWluZWQuYCxcbiAgU09NRVRISU5HX1dST05HOiAnU29tZXRoaW5nIHdyb25nIHdpdGggY2xpIGFyZ3VtZW50cy4gUGxlYXNlIGNoZWNrIGRvY3MuJyxcbiAgSVNTVUVfVEVNUExBVEU6IGBcbkltcGFjdCBGcmFtZXdvcmsgaXMgYW4gYWxwaGEgcmVsZWFzZSBmcm9tIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBpcyByZWxlYXNlZCB0byBjYXB0dXJlIGVhcmx5IGZlZWRiYWNrLiBJZiB5b3UnZCBsaWtlIHRvIG9mZmVyIHNvbWUgZmVlZGJhY2ssIHBsZWFzZSB1c2UgdGhpcyBpc3N1ZSB0ZW1wbGF0ZTogXG5odHRwczovL2dpdGh1Yi5jb20vR3JlZW4tU29mdHdhcmUtRm91bmRhdGlvbi9pZi9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWZlZWRiYWNrJnByb2plY3RzPSZ0ZW1wbGF0ZT1mZWVkYmFjay5tZCZ0aXRsZT1GZWVkYmFjaystK2AsXG4gIElOVkFMSURfTU9EVUxFX1BBVEg6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFByb3ZpZGVkIG1vZHVsZTogJyR7cGF0aH0nIGlzIGludmFsaWQgb3Igbm90IGZvdW5kLmAsXG4gIElOVkFMSURfVElNRV9OT1JNQUxJWkFUSU9OOiAnU3RhcnQgdGltZSBvciBlbmQgdGltZSBpcyBtaXNzaW5nLicsXG4gIFVORVhQRUNURURfVElNRV9DT05GSUc6XG4gICAgJ1VuZXhwZWN0ZWQgbm9kZS1sZXZlbCBjb25maWcgcHJvdmlkZWQgZm9yIHRpbWUtc3luYyBwbHVnaW4uJyxcbiAgSU5WQUxJRF9USU1FX0lOVEVSVkFMOiAnSW50ZXJ2YWwgaXMgbWlzc2luZy4nLFxuICBBVk9JRElOR19QQURESU5HOiAoZGVzY3JpcHRpb246IHN0cmluZykgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke2Rlc2NyaXB0aW9ufWAsXG4gIEFWT0lESU5HX1BBRERJTkdfQllfRURHRVM6IChzdGFydDogYm9vbGVhbiwgZW5kOiBib29sZWFuKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7XG4gICAgICBzdGFydCAmJiBlbmQgPyAnc3RhcnQgYW5kIGVuZCcgOiBzdGFydCA/ICdzdGFydCcgOiAnZW5kJ1xuICAgIH1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6ICdPYnNlcnZhdGlvbiB0aW1lc3RhbXBzIG92ZXJsYXAuJyxcbiAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0Q6IChtZXRyaWM6IHN0cmluZykgPT5cbiAgICBgQWdncmVnYXRpb24gaXMgbm90IHBvc3NpYmxlIGZvciBnaXZlbiAke21ldHJpY30gc2luY2UgbWV0aG9kIGlzICdub25lJy5gLFxuICBNRVRSSUNfTUlTU0lORzogKG1ldHJpYzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmAsXG4gIElOVkFMSURfR1JPVVBfQlk6ICh0eXBlOiBzdHJpbmcpID0+IGBJbnZhbGlkIGdyb3VwICR7dHlwZX0uYCxcbiAgUkVKRUNUSU5HX09WRVJSSURFOiAocGFyYW06IE1hbmlmZXN0UGFyYW1ldGVyKSA9PlxuICAgIGBSZWplY3Rpbmcgb3ZlcnJpZGluZyBvZiBjYW5vbmljYWwgcGFyYW1ldGVyOiAke3BhcmFtLm5hbWV9LmAsXG4gIElOVkFMSURfRVhIQVVTVF9QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYEludmFsaWQgZXhoYXVzdCBwbHVnaW46ICR7cGx1Z2luTmFtZX0uYCxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIFVzaW5nICdzdW0nIGFnZ3JlZ2F0aW9uIG1ldGhvZC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG4gIE5PX09VVFBVVDogYFxuWW91IGhhdmUgbm90IHNlbGVjdGVkIGFuIG91dHB1dCBtZXRob2QuIFRvIHNlZSB5b3VyIG91dHB1dCBkYXRhLCB5b3UgY2FuIGNob29zZSBmcm9tOlxuLS1zdGRvdXQ6IHRoaXMgd2lsbCBwcmludCB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBjb25zb2xlXG4tLW91dHB1dCA8c2F2ZXBhdGg+OiB0aGlzIHdpbGwgc2F2ZSB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBnaXZlbiBmaWxlcGF0aCAoZG8gbm90IHByb3ZpZGUgZmlsZSBleHRlbnNpb24pXG5Ob3RlIHRoYXQgZm9yIHRoZSAnLS1vdXRwdXQnIG9wdGlvbiB5b3UgYWxzbyBuZWVkIHRvIGRlZmluZSB0aGUgb3V0cHV0IHR5cGUgaW4geW91ciBtYW5pZmVzdCBmaWxlLiBTZWUgaHR0cHM6Ly9pZi5ncmVlbnNvZnR3YXJlLmZvdW5kYXRpb24vbWFqb3ItY29uY2VwdHMvbWFuaWZlc3QtZmlsZSNpbml0aWFsaXplYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBpcyBub3QgaW4geWFtbCBmb3JtYXQuJyxcbiAgSU5WQUxJRF9UQVJHRVQ6ICdUYXJnZXQgaXMgaW52YWxpZC4nLFxuICBJTlZBTElEX1NPVVJDRTogJ1NvdXJjZSBpcyBpbnZhbGlkLicsXG4gIFNUQVJUSU5HX0lGOiAnU3RhcnRpbmcgSUYnLFxuICBFWElUSU5HX0lGOiAnRXhpdGluZyBJRicsXG4gIExPQURJTkdfTUFOSUZFU1Q6ICdMb2FkaW5nIG1hbmlmZXN0JyxcbiAgVkFMSURBVElOR19NQU5JRkVTVDogJ1ZhbGlkYXRpbmcgbWFuaWZlc3QnLFxuICBDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBOiAnQ2FwdHVyaW5nIHJ1bnRpbWUgZW52aXJvbm1lbnQgZGF0YScsXG4gIFNZTkNJTkdfUEFSQU1FVEVSUzogJ1N5bmNpbmcgcGFyYW1ldGVycycsXG4gIENIRUNLSU5HX0FHR1JFR0FUSU9OX01FVEhPRDogKHVuaXROYW1lOiBzdHJpbmcpID0+XG4gICAgYENoZWNraW5nIGFnZ3JlZ2F0aW9uIG1ldGhvZCBmb3IgJHt1bml0TmFtZX1gLFxuICBJTklUSUFMSVpJTkdfUExVR0lOUzogJ0luaXRpYWxpemluZyBwbHVnaW5zJyxcbiAgSU5JVElBTElaSU5HX1BMVUdJTjogKHBsdWdpbk5hbWU6IHN0cmluZykgPT4gYEluaXRpYWxpemluZyAke3BsdWdpbk5hbWV9YCxcbiAgTE9BRElOR19QTFVHSU5fRlJPTV9QQVRIOiAocGx1Z2luTmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+XG4gICAgYExvYWRpbmcgJHtwbHVnaW5OYW1lfSBmcm9tICR7cGF0aH1gLFxuICBDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREU6IChub2RlTmFtZTogc3RyaW5nKSA9PlxuICAgIGBDb21wdXRpbmcgcGlwZWxpbmUgZm9yIFxcYCR7bm9kZU5hbWV9XFxgYCxcbiAgTUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEE6ICdNZXJnaW5nIGRlZmF1bHRzIHdpdGggaW5wdXQgZGF0YScsXG4gIEFHR1JFR0FUSU5HX09VVFBVVFM6ICdBZ2dyZWdhdGluZyBvdXRwdXRzJyxcbiAgQUdHUkVHQVRJTkdfTk9ERTogKG5vZGVOYW1lOiBzdHJpbmcpID0+IGBBZ2dyZWdhdGluZyBub2RlICR7bm9kZU5hbWV9YCxcbiAgUFJFUEFSSU5HX09VVFBVVF9EQVRBOiAnUHJlcGFyaW5nIG91dHB1dCBkYXRhJyxcbiAgRVhQT1JUSU5HX1RPX1lBTUxfRklMRTogKHNhdmVwYXRoOiBzdHJpbmcpID0+XG4gICAgYEV4cG9ydGluZyB0byB5YW1sIGZpbGU6ICR7c2F2ZXBhdGh9YCxcbiAgRVhQT1JUSU5HX1RPX0NTVl9GSUxFOiAoc2F2ZXBhdGg6IHN0cmluZykgPT5cbiAgICBgRXhwb3J0aW5nIHRvIGNzdiBmaWxlOiAke3NhdmVwYXRofWAsXG4gIEVYUE9SVElOR19SQVdfQ1NWX0ZJTEU6IChzYXZlcGF0aDogc3RyaW5nKSA9PlxuICAgIGBFeHBvcnRpbmcgcmF3IGNzdiBmaWxlOiAke3NhdmVwYXRofWAsXG59O1xuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixtQkFBbUIsRUFBRSxzQkFBc0I7SUFDM0MsY0FBYyxFQUFFLDBDQUEwQztJQUMxRCxZQUFZLEVBQUUsd0NBQXdDO0lBQ3RELGtCQUFrQixFQUNoQixxRUFBcUU7SUFDdkUsZ0JBQWdCLEVBQ2QscUpBQXFKO0lBQ3ZKLGtCQUFrQixFQUFFOzs7OzJOQUlxTTtJQUN6TixpQkFBaUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ2xDO3VCQUNtQixJQUFJLHNMQUFzTDtJQUMvTSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxLQUFXLEVBQUUsRUFBRSxDQUNqRCxxQkFBcUIsSUFBSSwrQkFBK0IsS0FBSyxJQUFJLEVBQUU7Q0FDdEU7SUFDQywwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMEJBQTBCLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM3Qyx5Q0FBeUMsTUFBTSwwQkFBMEI7SUFDM0UsY0FBYyxFQUFFLENBQUMsTUFBYyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2hELHNCQUFzQixNQUFNLDJCQUEyQixLQUFLLElBQUk7SUFDbEUsZ0JBQWdCLEVB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QUFFLEVBQUUsQ0FBQyxlQUFlLFFBQVEsSUFBSTtJQUNyRSw4QkFBOEIsRUFDNUIsOENBQThDO0lBQ2hELGVBQWUsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNwQywrQkFBK0IsUUFBUSx1REFBdUQ7SUFDaEcsaUJBQWlCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDdEMsb0NBQW9DLFFBQVEsSUFBSTtJQUNsRCw4QkFBOEIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLEVBQUUsQ0FDcEUsZUFBZSxRQUFRLFNBQVMsT0FBTyxFQUFFO0lBQzNDLG9CQUFvQixFQUFFLENBQUMsV0FBbUIsRUFBRSxVQUFrQixFQUFFLEVBQUUsQ0FDaEUsOEJBQThCLFdBQVcsT0FBTyxVQUFVLHNCQUFzQjtJQUNsRixhQUFhLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ25ELDBFQUEwRSxVQUFVLG9CQUFvQixLQUFLLEtBQUs7Q0FDckgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWFuaWZlc3RQYXJhbWV0ZXJ9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIE1JU1NJTkdfTUVUSE9EOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ21ldGhvZCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIFVOU1VQUE9SVEVEX1BMVUdJTjpcbiAgICBcIlBsdWdpbiBpbnRlcmZhY2UgZG9lc24ndCBpbXBsZW1lbnQgJ2V4ZWN1dGUnIG9yICdtZXRhZGF0YScgbWV0aG9kcy5cIixcbiAgT1ZFUlJJREVfV0FSTklORzpcbiAgICAnXFxuKipXQVJOSU5HKio6IFlvdSBhcmUgb3ZlcnJpZGluZyB0aGUgSUYgZGVmYXVsdCBwYXJhbWV0ZXJzIGZpbGUuIFBsZWFzZSBiZSBleHRyZW1lbHkgY2FyZWZ1bCBvZiB1bmludGVuZGVkIHNpZGUtZWZmZWN0cyBpbiB5b3VyIHBsdWdpbiBwaXBlbGluZSFcXG4nLFxuICBESVNDTEFJTUVSX01FU1NBR0U6IGBcbkluY3ViYXRpb24gUHJvamVjdFxuXG5UaGlzIHByb2plY3QgaXMgYW4gaW5jdWJhdGlvbiBwcm9qZWN0IGJlaW5nIHJ1biBpbnNpZGUgdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb247IGFzIHN1Y2gsIHdlIERPTuKAmVQgcmVjb21tZW5kIHVzaW5nIGl0IGluIGFueSBjcml0aWNhbCB1c2UgY2FzZS4gXG5JbmN1YmF0aW9uIHByb2plY3RzIGFyZSBleHBlcmltZW50YWwsIG9mZmVyIG5vIHN1cHBvcnQgZ3VhcmFudGVlLCBoYXZlIG1pbmltYWwgZ292ZXJuYW5jZSBhbmQgcHJvY2VzcywgYW5kIG1heSBiZSByZXRpcmVkIGF0IGFueSBtb21lbnQuIFRoaXMgcHJvamVjdCBtYXkgb25lIGRheSBncmFkdWF0ZSwgaW4gd2hpY2ggY2FzZSB0aGlzIGRpc2NsYWltZXIgd2lsbCBiZSByZW1vdmVkLmAsXG4gIE5PVF9OQVRJVkVfUExVR0lOOiAocGF0aDogc3RyaW5nKSA9PlxuICAgIGBcbllvdSBhcmUgdXNpbmcgcGx1Z2luICR7cGF0aH0gd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhlIEltcGFjdCBGcmFtZXdvcmsgc3RhbmRhcmQgbGlicmFyeS4gWW91IHNob3VsZCBkbyB5b3VyIG93biByZXNlYXJjaCB0byBlbnN1cmUgdGhlIHBsdWdpbnMgYXJlIHVwIHRvIGRhdGUgYW5kIGFjY3VyYXRlLiBUaGV5IG1heSBub3QgYmUgYWN0aXZlbHkgbWFpbnRhaW5lZC5gLFxuICBJTlZBTElEX01PRFVMRV9QQVRIOiAocGF0aDogc3RyaW5nLCBlcnJvcj86IGFueSkgPT5cbiAgICBgUHJvdmlkZWQgbW9kdWxlIFxcYCR7cGF0aH1cXGAgaXMgaW52YWxpZCBvciBub3QgZm91bmQuICR7ZXJyb3IgPz8gJyd9XG5gLFxuICBJTlZBTElEX1RJTUVfTk9STUFMSVpBVElPTjogJ1N0YXJ0IHRpbWUgb3IgZW5kIHRpbWUgaXMgbWlzc2luZy4nLFxuICBVTkVYUEVDVEVEX1RJTUVfQ09ORklHOlxuICAgICdVbmV4cGVjdGVkIG5vZGUtbGV2ZWwgY29uZmlnIHByb3ZpZGVkIGZvciB0aW1lLXN5bmMgcGx1Z2luLicsXG4gIElOVkFMSURfVElNRV9JTlRFUlZBTDogJ0ludGVydmFsIGlzIG1pc3NpbmcuJyxcbiAgQVZPSURJTkdfUEFERElORzogKGRlc2NyaXB0aW9uOiBzdHJpbmcpID0+XG4gICAgYEF2b2lkaW5nIHBhZGRpbmcgYXQgJHtkZXNjcmlwdGlvbn1gLFxuICBBVk9JRElOR19QQURESU5HX0JZX0VER0VTOiAoc3RhcnQ6IGJvb2xlYW4sIGVuZDogYm9vbGVhbikgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke1xuICAgICAgc3RhcnQgJiYgZW5kID8gJ3N0YXJ0IGFuZCBlbmQnIDogc3RhcnQgPyAnc3RhcnQnIDogJ2VuZCdcbiAgICB9YCxcbiAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0Q6IChtZXRyaWM6IHN0cmluZykgPT5cbiAgICBgQWdncmVnYXRpb24gaXMgbm90IHBvc3NpYmxlIGZvciBnaXZlbiAke21ldHJpY30gc2luY2UgbWV0aG9kIGlzICdub25lJy5gLFxuICBNRVRSSUNfTUlTU0lORzogKG1ldHJpYzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmAsXG4gIElOVkFMSURfR1JPVVBfQlk6ICh0eXBlOiBzdHJpbmcpID0+IGBJbnZhbGlkIGdyb3VwICR7dHlwZX0uYCxcbiAgUkVKRUNUSU5HX09WRVJSSURFOiAocGFyYW06IE1hbmlmZXN0UGFyYW1ldGVyKSA9PlxuICAgIGBSZWplY3Rpbmcgb3ZlcnJpZGluZyBvZiBjYW5vbmljYWwgcGFyYW1ldGVyOiAke3BhcmFtLm5hbWV9LmAsXG4gIElOVkFMSURfRVhIQVVTVF9QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYEludmFsaWQgZXhoYXVzdCBwbHVnaW46ICR7cGx1Z2luTmFtZX0uYCxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIFVzaW5nICdzdW0nIGFnZ3JlZ2F0aW9uIG1ldGhvZC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG4gIE5PX09VVFBVVDogYFxuWW91IGhhdmUgbm90IHNlbGVjdGVkIGFuIG91dHB1dCBtZXRob2QuIFRvIHNlZSB5b3VyIG91dHB1dCBkYXRhLCB5b3UgY2FuIGNob29zZSBmcm9tOlxuLS1zdGRvdXQ6IHRoaXMgd2lsbCBwcmludCB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBjb25zb2xlXG4tLW91dHB1dCA8c2F2ZXBhdGg+OiB0aGlzIHdpbGwgc2F2ZSB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBnaXZlbiBmaWxlcGF0aCAoZG8gbm90IHByb3ZpZGUgZmlsZSBleHRlbnNpb24pXG5Ob3RlIHRoYXQgZm9yIHRoZSAnLS1vdXRwdXQnIG9wdGlvbiB5b3UgYWxzbyBuZWVkIHRvIGRlZmluZSB0aGUgb3V0cHV0IHR5cGUgaW4geW91ciBtYW5pZmVzdCBmaWxlLiBTZWUgaHR0cHM6Ly9pZi5ncmVlbnNvZnR3YXJlLmZvdW5kYXRpb24vbWFqb3ItY29uY2VwdHMvbWFuaWZlc3QtZmlsZSNpbml0aWFsaXplYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBmaWxlIGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBJTlZBTElEX1RBUkdFVDogJ1RhcmdldCBpcyBpbnZhbGlkLicsXG4gIElOVkFMSURfU09VUkNFOiAnU291cmNlIGlzIGludmFsaWQuJyxcbiAgVU5TVVBQT1JURURfRVJST1I6IChlcnJvck5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5zdXBwb3J0ZWRFcnJvckNsYXNzOiBwbHVnaW4gdGhyZXcgZXJyb3IgY2xhc3M6ICR7ZXJyb3JOYW1lfSB0aGF0IGlzIG5vdCByZWNvZ25pemVkIGJ5IEltcGFjdCBGcmFtZXdvcmtgLFxuICAvKiogUGx1Z2luIG1lc3NhZ2VzICovXG4gIE1JU1NJTkdfR0xPQkFMX0NPTkZJRzogJ0dsb2JhbCBjb25maWcgaXMgbm90IHByb3ZpZGVkLicsXG4gIE1JU1NJTkdfSU5QVVRfREFUQTogKHBhcmFtOiBzdHJpbmcpID0+XG4gICAgYCR7cGFyYW19IGlzIG1pc3NpbmcgZnJvbSB0aGUgaW5wdXQgYXJyYXksIG9yIGhhcyBudWxsaXNoIHZhbHVlLmAsXG4gIE1BTklGRVNUX05PVF9GT1VORDogJ01hbmlmZXN0IGZpbGUgbm90IGZvdW5kLicsXG4gIElOSVRJQUxJWklOR19QQUNLQUdFX0pTT046ICdJbml0aWFsaXppbmcgcGFja2FnZS5qc29uLicsXG4gIElOU1RBTExJTkdfTlBNX1BBQ0tBR0VTOiAnSW5zdGFsbGluZyBucG0gcGFja2FnZXMuLi4nLFxuICBOT1RfTlVNRVJJQ19WQUxVRTogKHN0cjogYW55KSA9PiBgJHtzdHJ9IGlzIG5vdCBudW1iZXJpYy5gLFxuICBNSVNTSU5HX0ZVTkNUSU9OQUxfVU5JVF9DT05GSUc6XG4gICAgJ2BmdW5jdGlvbmFsLXVuaXRgIHNob3VsZCBiZSBwcm92aWRlZCBpbiB5b3VyIGdsb2JhbCBjb25maWcnLFxuICBNSVNTSU5HX0ZVTkNUSU9OQUxfVU5JVF9JTlBVVDpcbiAgICAnYGZ1bmN0aW9uYWwtdW5pdGAgdmFsdWUgaXMgbWlzc2luZyBmcm9tIGlucHV0IGRhdGEgb3IgaXQgaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlcicsXG4gIFJFR0VYX01JU01BVENIOiAoaW5wdXQ6IGFueSwgbWF0Y2g6IHN0cmluZykgPT5cbiAgICBgXFxgJHtpbnB1dH1cXGAgZG9lcyBub3QgbWF0Y2ggdGhlICR7bWF0Y2h9IHJlZ2V4IGV4cHJlc3Npb25gLFxuICBTQ0lfRU1CT0RJRURfRVJST1I6ICh1bml0OiBzdHJpbmcpID0+XG4gICAgYGludmFsaWQgbnVtYmVyLiBwbGVhc2UgcHJvdmlkZSBpdCBhcyBcXGAke3VuaXR9XFxgIHRvIGlucHV0YCxcbiAgTUlTU0lOR19NSU5fTUFYOiAnQ29uZmlnIGlzIG1pc3NpbmcgbWluIG9yIG1heCB2YWx1ZScsXG4gIElOVkFMSURfTUlOX01BWDogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgTWluIHZhbHVlIHNob3VsZCBub3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIG1heCB2YWx1ZSBvZiAke25hbWV9YCxcbiAgRklMRV9GRVRDSF9GQUlMRUQ6IChcbiAgICBmaWxlcGF0aDogc3RyaW5nLFxuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICApID0+IGBGYWlsZWQgZmV0Y2hpbmcgdGhlIGZpbGU6ICR7ZmlsZXBhdGh9LlxuJHttZXNzYWdlfWAsXG4gIEZJTEVfUkVBRF9GQUlMRUQ6IChcbiAgICBmaWxlcGF0aDogc3RyaW5nLFxuICAgIGVycm9yOiBzdHJpbmdcbiAgKSA9PiBgRmFpbGVkIHJlYWRpbmcgdGhlIGZpbGU6ICR7ZmlsZXBhdGh9LiBcbiR7ZXJyb3J9YCxcbiAgTUlTU0lOR19DU1ZfQ09MVU1OOiAoY29sdW1uTmFtZTogc3RyaW5nKSA9PlxuICAgIGBUaGVyZSBpcyBubyBjb2x1bW4gd2l0aCB0aGUgbmFtZTogJHtjb2x1bW5OYW1lfS5gLFxuICBOT19RVUVSWV9EQVRBOlxuICAgICdPbmUgb3IgbW9yZSBvZiB0aGUgZ2l2ZW4gcXVlcnkgcGFyYW1ldGVycyBhcmUgbm90IGZvdW5kIGluIHRoZSB0YXJnZXQgQ1NWIGZpbGUgY29sdW1uIGhlYWRlcnMuJyxcbiAgSU5WQUxJRF9EQVRFX1RZUEU6IChkYXRlOiBhbnkpID0+XG4gICAgYFVuZXhwZWN0ZWQgZGF0ZSBkYXRhdHlwZTogJHt0eXBlb2YgZGF0ZX06ICR7ZGF0ZX1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6XG4gICAgJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcCwgcGxlYXNlIGNoZWNrIGlucHV0cy4nLFxuICBTQ0lfTUlTU0lOR19GTl9VTklUOiAoZnVuY3Rpb25hbFVuaXQ6IHN0cmluZykgPT5cbiAgICBgJ2NhcmJvbicgYW5kICR7ZnVuY3Rpb25hbFVuaXR9IHNob3VsZCBiZSBwcmVzZW50IGluIHlvdXIgaW5wdXQgZGF0YS5gLFxuICAvKiogRXhoYXVzdCBtZXNzYWdlcyAqL1xuICBPVVRQVVRfUkVRVUlSRUQ6XG4gICAgJ091dHB1dCBwYXRoIGlzIHJlcXVpcmVkLCBwbGVhc2UgbWFrZSBzdXJlIG91dHB1dCBpcyBjb25maWd1cmVkIHByb3Blcmx5LicsXG4gIENTVl9FWFBPUlQ6XG4gICAgJ0NTViBleHBvcnQgY3JpdGVyaWEgaXMgbm90IGZvdW5kIGluIG91dHB1dCBwYXRoLiBQbGVhc2UgYXBwZW5kIGl0IGFmdGVyIC0tb3V0cHV0IDxwYXRoPiMuJyxcbiAgV1JJVEVfQ1NWX0VSUk9SOiAob3V0cHV0UGF0aDogc3RyaW5nLCBlcnJvcjogYW55KSA9PlxuICAgIGBGYWlsZWQgdG8gd3JpdGUgQ1NWIGZpbGUgdG8gJHtvdXRwdXRQYXRofTogJHtlcnJvcn1gLFxuICBJTlZBTElEX05BTUU6XG4gICAgJ2BuYW1lYCBnbG9iYWwgY29uZmlnIHBhcmFtZXRlciBpcyBlbXB0eSBvciBjb250YWlucyBhbGwgc3BhY2VzJyxcbiAgU1RBUlRfTE9XRVJfRU5EOiAnYHN0YXJ0LXRpbWVgIHNob3VsZCBiZSBsb3dlciB0aGFuIGBlbmQtdGltZWAnLFxuICBUSU1FU1RBTVBfUkVRVUlSRUQ6IChpbmRleDogbnVtYmVyKSA9PiBgcmVxdWlyZWQgaW4gaW5wdXRbJHtpbmRleH1dYCxcbiAgSU5WQUxJRF9EQVRFVElNRTogKGluZGV4OiBudW1iZXIpID0+IGBpbnZhbGlkIGRhdGV0aW1lIGluIGlucHV0WyR7aW5kZXh9XWAsXG4gIFhfWV9FUVVBTDogJ1RoZSBsZW5ndGggb2YgYHhgIGFuZCBgeWAgc2hvdWxkIGJlIGVxdWFsJyxcbiAgQVJSQVlfTEVOR1RIX05PTl9FTVBUWTpcbiAgICAndGhlIGxlbmd0aCBvZiB0aGUgaW5wdXQgYXJyYXlzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnLFxuICBXSVRISU5fVEhFX1JBTkdFOlxuICAgICdUaGUgdGFyZ2V0IHggdmFsdWUgbXVzdCBiZSB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBnaXZlbiB4IHZhbHVlcycsXG4gIC8qKiBEZWJ1Z2dpbmcgbG9ncyAqL1xuICBTVEFSVElOR19JRjogJ1N0YXJ0aW5nIElGJyxcbiAgRVhJVElOR19JRjogJ0V4aXRpbmcgSUYnLFxuICBMT0FESU5HX01BTklGRVNUOiAnTG9hZGluZyBtYW5pZmVzdCcsXG4gIFZBTElEQVRJTkdfTUFOSUZFU1Q6ICdWYWxpZGF0aW5nIG1hbmlmZXN0JyxcbiAgQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQTogJ0NhcHR1cmluZyBydW50aW1lIGVudmlyb25tZW50IGRhdGEnLFxuICBTWU5DSU5HX1BBUkFNRVRFUlM6ICdTeW5jaW5nIHBhcmFtZXRlcnMnLFxuICBDSEVDS0lOR19BR0dSRUdBVElPTl9NRVRIT0Q6ICh1bml0TmFtZTogc3RyaW5nKSA9PlxuICAgIGBDaGVja2luZyBhZ2dyZWdhdGlvbiBtZXRob2QgZm9yICR7dW5pdE5hbWV9YCxcbiAgSU5JVElBTElaSU5HX1BMVUdJTlM6ICdJbml0aWFsaXppbmcgcGx1Z2lucycsXG4gIElOSVRJQUxJWklOR19QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+IGBJbml0aWFsaXppbmcgJHtwbHVnaW5OYW1lfWAsXG4gIExPQURJTkdfUExVR0lOX0ZST01fUEFUSDogKHBsdWdpbk5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PlxuICAgIGBMb2FkaW5nICR7cGx1Z2luTmFtZX0gZnJvbSAke3BhdGh9YCxcbiAgQ09NUFVUSU5HX1BJUEVMSU5FX0ZPUl9OT0RFOiAobm9kZU5hbWU6IHN0cmluZykgPT5cbiAgICBgQ29tcHV0aW5nIHBpcGVsaW5lIGZvciBcXGAke25vZGVOYW1lfVxcYGAsXG4gIE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBOiAnTWVyZ2luZyBkZWZhdWx0cyB3aXRoIGlucHV0IGRhdGEnLFxuICBBR0dSRUdBVElOR19PVVRQVVRTOiAnQWdncmVnYXRpbmcgb3V0cHV0cycsXG4gIEFHR1JFR0FUSU5HX05PREU6IChub2RlTmFtZTogc3RyaW5nKSA9PiBgQWdncmVnYXRpbmcgbm9kZSAke25vZGVOYW1lfWAsXG4gIFBSRVBBUklOR19PVVRQVVRfREFUQTogJ1ByZXBhcmluZyBvdXRwdXQgZGF0YScsXG4gIEVYUE9SVElOR19UT19ZQU1MX0ZJTEU6IChzYXZlcGF0aDogc3RyaW5nKSA9PlxuICAgIGBFeHBvcnRpbmcgdG8geWFtbCBmaWxlOiAke3NhdmVwYXRofWAsXG4gIEVYUE9SVElOR19UT19DU1ZfRklMRTogKHNhdmVwYXRoOiBzdHJpbmcpID0+XG4gICAgYEV4cG9ydGluZyB0byBjc3YgZmlsZTogJHtzYXZlcGF0aH1gLFxuICBFWFBPUlRJTkdfUkFXX0NTVl9GSUxFOiAoc2F2ZXBhdGg6IHN0cmluZykgPT5cbiAgICBgRXhwb3J0aW5nIHJhdyBjc3YgZmlsZTogJHtzYXZlcGF0aH1gLFxuICBDSEVDS0lORzogJ0NoZWNraW5nLi4uJyxcbiAgSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORzpcbiAgICAnRWl0aGVyIHRoZSBgLS1tYW5pZmVzdGAgb3IgYC0tZGlyZWN0b3J5YCBjb21tYW5kIHNob3VsZCBiZSBwcm92aWRlZCB3aXRoIGEgcGF0aCcsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQ6ICdEaXJlY3Rvcnkgbm90IGZvdW5kLicsXG4gIERJUkVDVE9SWV9ZQU1MX0ZJTEVTX05PVF9GT1VORDpcbiAgICAnVGhlIGRpcmVjdG9yeSBkb2VzIG5vdCBjb250YWluIGFueSBZQU1ML1lNTCBmaWxlcy5cXG4nLFxuICBJRl9DSEVDS19FWEVDVVRJTkc6IChmaWxlbmFtZTogc3RyaW5nKSA9PiBgRXhlY3V0aW5nIFxcYCR7ZmlsZW5hbWV9XFxgYCxcbiAgSUZfQ0hFQ0tfVkVSSUZJQ0FUSU9OX0ZBSUxVUkVTOlxuICAgICctLS0tLS0tLS1cXG5pZi1jaGVjayB2ZXJpZmljYXRpb24gZmFpbHVyZXM6XFxuJyxcbiAgSUZfQ0hFQ0tfRkFJTEVEOiAoZmlsZW5hbWU6IHN0cmluZykgPT5cbiAgICBg4pyWIGlmLWNoZWNrIGNvdWxkIG5vdCB2ZXJpZnkgJHtmaWxlbmFtZX0uIFRoZSByZS1leGVjdXRlZCBmaWxlIGRvZXMgbm90IG1hdGNoIHRoZSBvcmlnaW5hbC5cXG5gLFxuICBJRl9DSEVDS19WRVJJRklFRDogKGZpbGVuYW1lOiBzdHJpbmcpID0+XG4gICAgYOKclCBpZi1jaGVjayBzdWNjZXNzZnVsbHkgdmVyaWZpZWQgJHtmaWxlbmFtZX1cXG5gLFxuICBJRl9DSEVDS19TVU1NQVJZX0VSUk9SX01FU1NBR0U6IChmaWxlbmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+XG4gICAgYEV4ZWN1dGluZyBcXGAke2ZpbGVuYW1lfVxcYFxcbuKcliAke21lc3NhZ2V9YCxcbiAgSUZfQ0hFQ0tfU1VNTUFSWV9MT0c6IChwYXNzZWRDb3VudDogbnVtYmVyLCB0b3RhbENvdW50OiBudW1iZXIpID0+XG4gICAgYC0tLS0tLS0tLVxcbkNoZWNrIHN1bW1hcnk6XFxuJHtwYXNzZWRDb3VudH0gb2YgJHt0b3RhbENvdW50fSBmaWxlcyBhcmUgcGFzc2VkLlxcbmAsXG4gIFpFUk9fRElWSVNJT046IChtb2R1bGVOYW1lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYC0tIFNLSVBQSU5HIC0tIERpdmlzaW9uQnlaZXJvOiB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gZGl2aWRlIGJ5IHplcm8gaW4gJHttb2R1bGVOYW1lfSBwbHVnaW4gOiBpbnB1dHNbJHtpbmRleH1dXFxuYCxcbn07XG4iXX0=
package/build/diff.js CHANGED
@@ -7,9 +7,9 @@ const compare_1 = require("./lib/compare");
7
7
  const args_1 = require("./util/args");
8
8
  const helpers_1 = require("./util/helpers");
9
9
  const validations_1 = require("./util/validations");
10
- const config_1 = require("./config");
11
10
  const logger_1 = require("./util/logger");
12
11
  const debug_logger_1 = require("./util/debug-logger");
12
+ const config_1 = require("./config");
13
13
  const { IF_DIFF } = config_1.CONFIG;
14
14
  const { SUCCESS_MESSAGE, FAILURE_MESSAGE } = IF_DIFF;
15
15
  const IfDiff = async () => {
@@ -43,4 +43,4 @@ IfDiff().catch(error => {
43
43
  process.exit(2);
44
44
  }
45
45
  });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaWZmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9DQUFvQztBQUNwQyxxQ0FBMkM7QUFDM0MsMkNBQXNDO0FBRXRDLHNDQUE0QztBQUM1Qyw0Q0FBNEU7QUFDNUUsb0RBQW9EO0FBRXBELHFDQUFnQztBQUNoQywwQ0FBcUM7QUFDckMsc0RBQWdEO0FBRWhELE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDekIsTUFBTSxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsR0FBRyxPQUFPLENBQUM7QUFFbkQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDeEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEsZ0NBQXNCLEdBQUUsQ0FBQztJQUMzRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0lBRW5ELHlFQUF5RTtJQUN6RSwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBQyxHQUFHLE1BQU0sSUFBQSxzQkFBZSxFQUFDO1FBQ25FLFVBQVU7UUFDVixVQUFVO1FBQ1YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUc7UUFDdkMsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQixDQUFDLEdBQUcsQ0FBQyw4QkFBZ0IsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFdkQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFBLDhCQUFvQixFQUFDO1lBQ25CLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLEdBQUcsTUFBTTtTQUNWLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3JCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtRQUMxQixlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb2Nlc3MtZXhpdCAqL1xuaW1wb3J0IHtsb2FkSWZEaWZmRmlsZXN9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtjb21wYXJlfSBmcm9tICcuL2xpYi9jb21wYXJlJztcblxuaW1wb3J0IHtwYXJzZUlmRGlmZkFyZ3N9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7Zm9ybWF0Tm90TWF0Y2hpbmdMb2csIHBhcnNlTWFuaWZlc3RGcm9tU3RkaW59IGZyb20gJy4vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7dmFsaWRhdGVNYW5pZmVzdH0gZnJvbSAnLi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtDT05GSUd9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7ZGVidWdMb2dnZXJ9IGZyb20gJy4vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuXG5jb25zdCB7SUZfRElGRn0gPSBDT05GSUc7XG5jb25zdCB7U1VDQ0VTU19NRVNTQUdFLCBGQUlMVVJFX01FU1NBR0V9ID0gSUZfRElGRjtcblxuY29uc3QgSWZEaWZmID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCBwaXBlZFNvdXJjZU1hbmlmZXN0ID0gYXdhaXQgcGFyc2VNYW5pZmVzdEZyb21TdGRpbigpO1xuICBjb25zdCB7c291cmNlUGF0aCwgdGFyZ2V0UGF0aH0gPSBwYXJzZUlmRGlmZkFyZ3MoKTtcblxuICAvLyBDYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBmYWxzZSBwYXJhbWV0ZXIgdG8gcHJldmVudCBsb2cgZGVidWcgbWVzc2FnZXMuXG4gIGRlYnVnTG9nZ2VyLm92ZXJyaWRlQ29uc29sZU1ldGhvZHMoZmFsc2UpO1xuXG4gIGNvbnN0IHtyYXdTb3VyY2VNYW5pZmVzdCwgcmF3VGFyZ2V0TWFuaWZlc3R9ID0gYXdhaXQgbG9hZElmRGlmZkZpbGVzKHtcbiAgICB0YXJnZXRQYXRoLFxuICAgIHNvdXJjZVBhdGgsXG4gICAgcGlwZWRTb3VyY2VNYW5pZmVzdCxcbiAgfSk7XG4gIGNvbnN0IFtzb3VyY2VNYW5pZmVzdCwgdGFyZ2V0TWFuaWZlc3RdID0gW1xuICAgIHJhd1NvdXJjZU1hbmlmZXN0LFxuICAgIHJhd1RhcmdldE1hbmlmZXN0LFxuICBdLm1hcCh2YWxpZGF0ZU1hbmlmZXN0KTtcbiAgY29uc3QgcmVzdWx0ID0gY29tcGFyZShzb3VyY2VNYW5pZmVzdCwgdGFyZ2V0TWFuaWZlc3QpO1xuXG4gIGlmIChPYmplY3Qua2V5cyhyZXN1bHQpLmxlbmd0aCkge1xuICAgIGZvcm1hdE5vdE1hdGNoaW5nTG9nKHtcbiAgICAgIG1lc3NhZ2U6IEZBSUxVUkVfTUVTU0FHRSxcbiAgICAgIC4uLnJlc3VsdCxcbiAgICB9KTtcblxuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFNVQ0NFU1NfTUVTU0FHRSk7XG4gIHByb2Nlc3MuZXhpdCgwKTtcbn07XG5cbklmRGlmZigpLmNhdGNoKGVycm9yID0+IHtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgIHByb2Nlc3MuZXhpdCgyKTtcbiAgfVxufSk7XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaWZmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9DQUFvQztBQUNwQyxxQ0FBMkM7QUFDM0MsMkNBQXNDO0FBRXRDLHNDQUE0QztBQUM1Qyw0Q0FBNEU7QUFDNUUsb0RBQW9EO0FBRXBELDBDQUFxQztBQUNyQyxzREFBZ0Q7QUFFaEQscUNBQWdDO0FBRWhDLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDekIsTUFBTSxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsR0FBRyxPQUFPLENBQUM7QUFFbkQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDeEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEsZ0NBQXNCLEdBQUUsQ0FBQztJQUMzRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0lBRW5ELHlFQUF5RTtJQUN6RSwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBQyxHQUFHLE1BQU0sSUFBQSxzQkFBZSxFQUFDO1FBQ25FLFVBQVU7UUFDVixVQUFVO1FBQ1YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUc7UUFDdkMsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQixDQUFDLEdBQUcsQ0FBQyw4QkFBZ0IsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFdkQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFBLDhCQUFvQixFQUFDO1lBQ25CLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLEdBQUcsTUFBTTtTQUNWLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3JCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtRQUMxQixlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb2Nlc3MtZXhpdCAqL1xuaW1wb3J0IHtsb2FkSWZEaWZmRmlsZXN9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtjb21wYXJlfSBmcm9tICcuL2xpYi9jb21wYXJlJztcblxuaW1wb3J0IHtwYXJzZUlmRGlmZkFyZ3N9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7Zm9ybWF0Tm90TWF0Y2hpbmdMb2csIHBhcnNlTWFuaWZlc3RGcm9tU3RkaW59IGZyb20gJy4vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7dmFsaWRhdGVNYW5pZmVzdH0gZnJvbSAnLi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi91dGlsL2RlYnVnLWxvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHfSBmcm9tICcuL2NvbmZpZyc7XG5cbmNvbnN0IHtJRl9ESUZGfSA9IENPTkZJRztcbmNvbnN0IHtTVUNDRVNTX01FU1NBR0UsIEZBSUxVUkVfTUVTU0FHRX0gPSBJRl9ESUZGO1xuXG5jb25zdCBJZkRpZmYgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBwYXJzZU1hbmlmZXN0RnJvbVN0ZGluKCk7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRofSA9IHBhcnNlSWZEaWZmQXJncygpO1xuXG4gIC8vIENhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGZhbHNlIHBhcmFtZXRlciB0byBwcmV2ZW50IGxvZyBkZWJ1ZyBtZXNzYWdlcy5cbiAgZGVidWdMb2dnZXIub3ZlcnJpZGVDb25zb2xlTWV0aG9kcyhmYWxzZSk7XG5cbiAgY29uc3Qge3Jhd1NvdXJjZU1hbmlmZXN0LCByYXdUYXJnZXRNYW5pZmVzdH0gPSBhd2FpdCBsb2FkSWZEaWZmRmlsZXMoe1xuICAgIHRhcmdldFBhdGgsXG4gICAgc291cmNlUGF0aCxcbiAgICBwaXBlZFNvdXJjZU1hbmlmZXN0LFxuICB9KTtcbiAgY29uc3QgW3NvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdF0gPSBbXG4gICAgcmF3U291cmNlTWFuaWZlc3QsXG4gICAgcmF3VGFyZ2V0TWFuaWZlc3QsXG4gIF0ubWFwKHZhbGlkYXRlTWFuaWZlc3QpO1xuICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHNvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdCk7XG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgZm9ybWF0Tm90TWF0Y2hpbmdMb2coe1xuICAgICAgbWVzc2FnZTogRkFJTFVSRV9NRVNTQUdFLFxuICAgICAgLi4ucmVzdWx0LFxuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgY29uc29sZS5sb2coU1VDQ0VTU19NRVNTQUdFKTtcbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZEaWZmKCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
package/build/env.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/build/env.js ADDED
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* eslint-disable no-process-exit */
5
+ const args_1 = require("./util/args");
6
+ const logger_1 = require("./util/logger");
7
+ const config_1 = require("./config");
8
+ const helpers_1 = require("./util/helpers");
9
+ const { IF_ENV } = config_1.CONFIG;
10
+ const { SUCCESS_MESSAGE } = IF_ENV;
11
+ const IfEnv = async () => {
12
+ const commandArgs = await (0, args_1.parseIfEnvArgs)();
13
+ const options = {
14
+ folderPath: process.env.CURRENT_DIR || process.cwd(),
15
+ install: !!commandArgs.install,
16
+ dependencies: {},
17
+ cwd: !!commandArgs.cwd,
18
+ };
19
+ if (commandArgs && commandArgs.manifest) {
20
+ const { folderPath, install, dependencies } = await (0, helpers_1.getOptionsFromArgs)(commandArgs);
21
+ options.folderPath = commandArgs.cwd ? options.folderPath : folderPath;
22
+ options.install = !!install;
23
+ options.dependencies = { ...dependencies };
24
+ }
25
+ await (0, helpers_1.initializeAndInstallLibs)(options);
26
+ if (!commandArgs || !commandArgs.manifest) {
27
+ await (0, helpers_1.addTemplateManifest)(options.folderPath);
28
+ }
29
+ console.log(SUCCESS_MESSAGE);
30
+ process.exit(0);
31
+ };
32
+ IfEnv().catch(error => {
33
+ if (error instanceof Error) {
34
+ logger_1.logger.error(error);
35
+ process.exit(2);
36
+ }
37
+ });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvQ0FBb0M7QUFDcEMsc0NBQTJDO0FBQzNDLDBDQUFxQztBQUVyQyxxQ0FBZ0M7QUFHaEMsNENBSXdCO0FBRXhCLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDeEIsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLE1BQU0sQ0FBQztBQUVqQyxNQUFNLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRTtJQUN2QixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEscUJBQWMsR0FBRSxDQUFDO0lBQzNDLE1BQU0sT0FBTyxHQUF1QjtRQUNsQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUNwRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPO1FBQzlCLFlBQVksRUFBRSxFQUFFO1FBQ2hCLEdBQUcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUc7S0FDdkIsQ0FBQztJQUVGLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDdkMsTUFBTSxFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLEdBQ3ZDLE1BQU0sSUFBQSw0QkFBa0IsRUFBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN2RSxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUIsT0FBTyxDQUFDLFlBQVksR0FBRyxFQUFDLEdBQUcsWUFBWSxFQUFDLENBQUM7S0FDMUM7SUFFRCxNQUFNLElBQUEsa0NBQXdCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDekMsTUFBTSxJQUFBLDZCQUFtQixFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMvQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDcEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQzFCLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQge3BhcnNlSWZFbnZBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHfSBmcm9tICcuL2NvbmZpZyc7XG5cbmltcG9ydCB7RW52aXJvbm1lbnRPcHRpb25zfSBmcm9tICcuL3R5cGVzL2lmLWVudic7XG5pbXBvcnQge1xuICBhZGRUZW1wbGF0ZU1hbmlmZXN0LFxuICBnZXRPcHRpb25zRnJvbUFyZ3MsXG4gIGluaXRpYWxpemVBbmRJbnN0YWxsTGlicyxcbn0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuXG5jb25zdCB7SUZfRU5WfSA9IENPTkZJRztcbmNvbnN0IHtTVUNDRVNTX01FU1NBR0V9ID0gSUZfRU5WO1xuXG5jb25zdCBJZkVudiA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgY29tbWFuZEFyZ3MgPSBhd2FpdCBwYXJzZUlmRW52QXJncygpO1xuICBjb25zdCBvcHRpb25zOiBFbnZpcm9ubWVudE9wdGlvbnMgPSB7XG4gICAgZm9sZGVyUGF0aDogcHJvY2Vzcy5lbnYuQ1VSUkVOVF9ESVIgfHwgcHJvY2Vzcy5jd2QoKSxcbiAgICBpbnN0YWxsOiAhIWNvbW1hbmRBcmdzLmluc3RhbGwsXG4gICAgZGVwZW5kZW5jaWVzOiB7fSxcbiAgICBjd2Q6ICEhY29tbWFuZEFyZ3MuY3dkLFxuICB9O1xuXG4gIGlmIChjb21tYW5kQXJncyAmJiBjb21tYW5kQXJncy5tYW5pZmVzdCkge1xuICAgIGNvbnN0IHtmb2xkZXJQYXRoLCBpbnN0YWxsLCBkZXBlbmRlbmNpZXN9ID1cbiAgICAgIGF3YWl0IGdldE9wdGlvbnNGcm9tQXJncyhjb21tYW5kQXJncyk7XG4gICAgb3B0aW9ucy5mb2xkZXJQYXRoID0gY29tbWFuZEFyZ3MuY3dkID8gb3B0aW9ucy5mb2xkZXJQYXRoIDogZm9sZGVyUGF0aDtcbiAgICBvcHRpb25zLmluc3RhbGwgPSAhIWluc3RhbGw7XG4gICAgb3B0aW9ucy5kZXBlbmRlbmNpZXMgPSB7Li4uZGVwZW5kZW5jaWVzfTtcbiAgfVxuXG4gIGF3YWl0IGluaXRpYWxpemVBbmRJbnN0YWxsTGlicyhvcHRpb25zKTtcblxuICBpZiAoIWNvbW1hbmRBcmdzIHx8ICFjb21tYW5kQXJncy5tYW5pZmVzdCkge1xuICAgIGF3YWl0IGFkZFRlbXBsYXRlTWFuaWZlc3Qob3B0aW9ucy5mb2xkZXJQYXRoKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFNVQ0NFU1NfTUVTU0FHRSk7XG4gIHByb2Nlc3MuZXhpdCgwKTtcbn07XG5cbklmRW52KCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
@@ -74,4 +74,4 @@ const aggregate = (tree, aggregationParams) => {
74
74
  return copyOfTree;
75
75
  };
76
76
  exports.aggregate = aggregate;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hZ2dyZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQWtFO0FBS2xFLCtDQUEwQztBQUUxQyxNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLFFBQWEsRUFBRSxDQUFTLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBUyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE9BQU8sR0FBbUIsRUFBRSxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWpELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqRCxNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFBLDJDQUFzQixFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBUyxFQUFFLGlCQUF3QyxFQUFFLEVBQUU7SUFDNUUsTUFBTSxPQUFPLEdBQUcsaUJBQWtCLENBQUMsT0FBTyxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLGlCQUFrQixDQUFDLElBQUksQ0FBQztJQUVyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUV2QyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3hEO0tBQ0Y7SUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNsQixJQUFJLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsMkNBQXNCLEVBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNqRTtLQUNGO1NBQU07UUFDTCxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMxQyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFBLDJDQUFzQixFQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1RDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFTLEVBQUUsaUJBQW9DLEVBQUUsRUFBRTtJQUMzRSxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFbkMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsYUFBYSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQVhXLFFBQUEsU0FBUyxhQVdwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YWdncmVnYXRlSW5wdXRzSW50b09uZX0gZnJvbSAnLi4vdXRpbC9hZ2dyZWdhdGlvbi1oZWxwZXInO1xuXG5pbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7QWdncmVnYXRpb25QYXJhbXMsIEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZX0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZy9zdHJpbmdzJztcblxuY29uc3Qge0FHR1JFR0FUSU5HX05PREUsIEFHR1JFR0FUSU5HX09VVFBVVFN9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBHZXRzIGBpYHRoIGVsZW1lbnQgZnJvbSBhbGwgY2hpbGRyZW4gb3V0cHV0cyBhbmQgY29sbGVjdHMgdGhlbSBpbiBzaW5nbGUgYXJyYXkuXG4gKi9cbmNvbnN0IGdldEl0aEVsZW1lbnRzRnJvbUNoaWxkcmVuID0gKGNoaWxkcmVuOiBhbnksIGk6IG51bWJlcikgPT4ge1xuICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKGNoaWxkcmVuKTtcblxuICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHZhbHVlLm91dHB1dHM7XG5cbiAgICByZXR1cm4gb3V0cHV0W2ldO1xuICB9KTtcbn07XG5cbi8qKlxuICogMS4gR2V0cyB0aGUgaSd0aCBlbGVtZW50IGZyb20gZWFjaCBjaGlsZHJlbnMgb3V0cHV0cyAodHJlYXRpbmcgY2hpbGRyZW4gYXMgcm93cyBhbmQgd2UgYXJlIGFmdGVyIGEgY29sdW1uIG9mIGRhdGEpLlxuICogMi4gTm93IHdlIGp1c3QgYWdncmVnYXRlIG92ZXIgdGhlIGBpdGhTbGljZU9mT3V0cHV0c2AgdGhlIHNhbWUgYXMgd2UgZGlkIGZvciB0aGUgbm9ybWFsIG91dHB1dHMuXG4gKi9cbmNvbnN0IHRlbXBvcmFsQWdncmVnYXRpb24gPSAobm9kZTogYW55LCBtZXRyaWNzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBvdXRwdXRzOiBQbHVnaW5QYXJhbXNbXSA9IFtdO1xuICBjb25zdCB2YWx1ZXM6IGFueSA9IE9iamVjdC52YWx1ZXMobm9kZS5jaGlsZHJlbik7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ub3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGl0aFNsaWNlT2ZPdXRwdXRzID0gZ2V0SXRoRWxlbWVudHNGcm9tQ2hpbGRyZW4obm9kZS5jaGlsZHJlbiwgaSk7XG4gICAgb3V0cHV0cy5wdXNoKGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUoaXRoU2xpY2VPZk91dHB1dHMsIG1ldHJpY3MsIHRydWUpKTtcbiAgfVxuXG4gIHJldHVybiBvdXRwdXRzO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZXMgdGhlIHRyZWUgZGVwdGggZmlyc3QsIGJvdHRvbSB1cCxcbiAqICBsZWZ0IHRvIHJpZ2h0IGFnZ3JlZ2F0aW5nIHRoZSBjb21wb25lbnQgbm9kZXMgYW5kIHRoZW4gdGhlIGdyb3VwaW5nIG5vZGVzIHdpbGwgYmUgYWdncmVnYXRlZFxuICogIG9ubHkgd2hlbiBhbGwgdGhlaXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIGFnZ3JlZ2F0ZWQuXG4gKiAxLiBBZ2dyZWdhdGVzIGFsbCB0aGUgY2hpbGRyZW4uXG4gKiAyLiBBdCB0aGlzIHBvaW50IHlvdSBjYW4gYmUgcG9zaXRpdmUgYWxsIHlvdXIgY2hpbGRyZW4gaGF2ZSBiZWVuIGFnZ3JlZ2F0ZWQgYW5kIHNvIHlvdSBjYW4gbm93IHdvcmsgb24gYWdncmVnYXRpbmcgeW91cnNlbGYuXG4gKiAzLiBJdCdzIGNvbXBvbmVudCBub2RlLCDQsGdncmVnYXRlcyBqdXN0IHRoZSBvdXRwdXRzIG9mIFRISVMgY29tcG9uZW50IG5vZGUgKGhvcml6b250YWwvY29tcG9uZW50IGFnZ3JlZ2F0aW9uKS5cbiAqIDQuIEVsc2UgaXQncyBncm91cGluZyBub2RlLCBmaXJzdCBkb2VzIHRlbXBvcmFsIGFnZ3JlZ2F0aW9uLiBUaGlzIGFzc3VtZXMgZXZlcnl0aGluZyBpcyBvbiB0aGUgc2FtZSB0aW1lLWdyaWQuXG4gKiAgICBUaGUgb3V0cHV0cyBvZiB0aGUgZ3JvdXBpbmcgbm9kZSBhcmUgdGhlIGFnZ3JlZ2F0ZWQgdGltZSBidWNrZXRlZCBvdXRwdXRzIG9mIGl0J3MgY2hpbGRyZW4uXG4gKiA1LiBOb3cgYSBncm91cGluZyBub2RlIGhhcyBpdCdzIG93biBvdXRwdXRzLCBpdCBjYW4gaG9yaXpvdG5hbGx5IGFnZ3JlZ2F0ZSB0aGVtLlxuICovXG5jb25zdCBhZ2dyZWdhdGVOb2RlID0gKG5vZGU6IGFueSwgYWdncmVnYXRpb25QYXJhbXM6IEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZSkgPT4ge1xuICBjb25zdCBtZXRyaWNzID0gYWdncmVnYXRpb25QYXJhbXMhLm1ldHJpY3M7XG4gIGNvbnN0IHR5cGUgPSBhZ2dyZWdhdGlvblBhcmFtcyEudHlwZTtcblxuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIGZvciAoY29uc3QgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbikge1xuICAgICAgY29uc29sZS5kZWJ1ZyhBR0dSRUdBVElOR19OT0RFKGNoaWxkKSk7XG5cbiAgICAgIGFnZ3JlZ2F0ZU5vZGUobm9kZS5jaGlsZHJlbltjaGlsZF0sIGFnZ3JlZ2F0aW9uUGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW5vZGUuY2hpbGRyZW4pIHtcbiAgICBpZiAodHlwZSA9PT0gJ2hvcml6b250YWwnIHx8IHR5cGUgPT09ICdib3RoJykge1xuICAgICAgbm9kZS5hZ2dyZWdhdGVkID0gYWdncmVnYXRlSW5wdXRzSW50b09uZShub2RlLm91dHB1dHMsIG1ldHJpY3MpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodHlwZSA9PT0gJ3ZlcnRpY2FsJyB8fCB0eXBlID09PSAnYm90aCcpIHtcbiAgICAgIGNvbnN0IG91dHB1dHMgPSB0ZW1wb3JhbEFnZ3JlZ2F0aW9uKG5vZGUsIG1ldHJpY3MpO1xuICAgICAgbm9kZS5vdXRwdXRzID0gb3V0cHV0cztcbiAgICAgIG5vZGUuYWdncmVnYXRlZCA9IGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUob3V0cHV0cywgbWV0cmljcyk7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIElmIGFnZ3JlZ2F0aW9uIGlzIGRpc2FibGVkLCB0aGVuIHJldHVybnMgZ2l2ZW4gYHRyZWVgLlxuICogT3RoZXJ3aXNlIGNyZWF0ZXMgY29weSBvZiB0aGUgdHJlZSwgdGhlbiBhcHBsaWVzIGFnZ3JlZ2F0aW9uIHRvIGl0LlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlID0gKHRyZWU6IGFueSwgYWdncmVnYXRpb25QYXJhbXM6IEFnZ3JlZ2F0aW9uUGFyYW1zKSA9PiB7XG4gIGNvbnNvbGUuZGVidWcoQUdHUkVHQVRJTkdfT1VUUFVUUyk7XG5cbiAgaWYgKCFhZ2dyZWdhdGlvblBhcmFtcyB8fCAhYWdncmVnYXRpb25QYXJhbXMudHlwZSkge1xuICAgIHJldHVybiB0cmVlO1xuICB9XG5cbiAgY29uc3QgY29weU9mVHJlZSA9IHN0cnVjdHVyZWRDbG9uZSh0cmVlKTtcbiAgYWdncmVnYXRlTm9kZShjb3B5T2ZUcmVlLCBhZ2dyZWdhdGlvblBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hZ2dyZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbUVBQWtFO0FBRWxFLCtDQUEwQztBQUkxQyxNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLFFBQWEsRUFBRSxDQUFTLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBUyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE9BQU8sR0FBbUIsRUFBRSxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWpELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqRCxNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFBLDJDQUFzQixFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBUyxFQUFFLGlCQUF3QyxFQUFFLEVBQUU7SUFDNUUsTUFBTSxPQUFPLEdBQUcsaUJBQWtCLENBQUMsT0FBTyxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLGlCQUFrQixDQUFDLElBQUksQ0FBQztJQUVyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUV2QyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3hEO0tBQ0Y7SUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNsQixJQUFJLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsMkNBQXNCLEVBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNqRTtLQUNGO1NBQU07UUFDTCxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMxQyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFBLDJDQUFzQixFQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1RDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFTLEVBQUUsaUJBQW9DLEVBQUUsRUFBRTtJQUMzRSxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFbkMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsYUFBYSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQVhXLFFBQUEsU0FBUyxhQVdwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge2FnZ3JlZ2F0ZUlucHV0c0ludG9PbmV9IGZyb20gJy4uL3V0aWwvYWdncmVnYXRpb24taGVscGVyJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5cbmltcG9ydCB7QWdncmVnYXRpb25QYXJhbXMsIEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZX0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5jb25zdCB7QUdHUkVHQVRJTkdfTk9ERSwgQUdHUkVHQVRJTkdfT1VUUFVUU30gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEdldHMgYGlgdGggZWxlbWVudCBmcm9tIGFsbCBjaGlsZHJlbiBvdXRwdXRzIGFuZCBjb2xsZWN0cyB0aGVtIGluIHNpbmdsZSBhcnJheS5cbiAqL1xuY29uc3QgZ2V0SXRoRWxlbWVudHNGcm9tQ2hpbGRyZW4gPSAoY2hpbGRyZW46IGFueSwgaTogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoY2hpbGRyZW4pO1xuXG4gIHJldHVybiB2YWx1ZXMubWFwKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gdmFsdWUub3V0cHV0cztcblxuICAgIHJldHVybiBvdXRwdXRbaV07XG4gIH0pO1xufTtcblxuLyoqXG4gKiAxLiBHZXRzIHRoZSBpJ3RoIGVsZW1lbnQgZnJvbSBlYWNoIGNoaWxkcmVucyBvdXRwdXRzICh0cmVhdGluZyBjaGlsZHJlbiBhcyByb3dzIGFuZCB3ZSBhcmUgYWZ0ZXIgYSBjb2x1bW4gb2YgZGF0YSkuXG4gKiAyLiBOb3cgd2UganVzdCBhZ2dyZWdhdGUgb3ZlciB0aGUgYGl0aFNsaWNlT2ZPdXRwdXRzYCB0aGUgc2FtZSBhcyB3ZSBkaWQgZm9yIHRoZSBub3JtYWwgb3V0cHV0cy5cbiAqL1xuY29uc3QgdGVtcG9yYWxBZ2dyZWdhdGlvbiA9IChub2RlOiBhbnksIG1ldHJpY3M6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IG91dHB1dHM6IFBsdWdpblBhcmFtc1tdID0gW107XG4gIGNvbnN0IHZhbHVlczogYW55ID0gT2JqZWN0LnZhbHVlcyhub2RlLmNoaWxkcmVuKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlc1swXS5vdXRwdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgaXRoU2xpY2VPZk91dHB1dHMgPSBnZXRJdGhFbGVtZW50c0Zyb21DaGlsZHJlbihub2RlLmNoaWxkcmVuLCBpKTtcbiAgICBvdXRwdXRzLnB1c2goYWdncmVnYXRlSW5wdXRzSW50b09uZShpdGhTbGljZU9mT3V0cHV0cywgbWV0cmljcywgdHJ1ZSkpO1xuICB9XG5cbiAgcmV0dXJuIG91dHB1dHM7XG59O1xuXG4vKipcbiAqIE5hdmlnYXRlcyB0aGUgdHJlZSBkZXB0aCBmaXJzdCwgYm90dG9tIHVwLFxuICogIGxlZnQgdG8gcmlnaHQgYWdncmVnYXRpbmcgdGhlIGNvbXBvbmVudCBub2RlcyBhbmQgdGhlbiB0aGUgZ3JvdXBpbmcgbm9kZXMgd2lsbCBiZSBhZ2dyZWdhdGVkXG4gKiAgb25seSB3aGVuIGFsbCB0aGVpciBjaGlsZCBub2RlcyBoYXZlIGJlZW4gYWdncmVnYXRlZC5cbiAqIDEuIEFnZ3JlZ2F0ZXMgYWxsIHRoZSBjaGlsZHJlbi5cbiAqIDIuIEF0IHRoaXMgcG9pbnQgeW91IGNhbiBiZSBwb3NpdGl2ZSBhbGwgeW91ciBjaGlsZHJlbiBoYXZlIGJlZW4gYWdncmVnYXRlZCBhbmQgc28geW91IGNhbiBub3cgd29yayBvbiBhZ2dyZWdhdGluZyB5b3Vyc2VsZi5cbiAqIDMuIEl0J3MgY29tcG9uZW50IG5vZGUsINCwZ2dyZWdhdGVzIGp1c3QgdGhlIG91dHB1dHMgb2YgVEhJUyBjb21wb25lbnQgbm9kZSAoaG9yaXpvbnRhbC9jb21wb25lbnQgYWdncmVnYXRpb24pLlxuICogNC4gRWxzZSBpdCdzIGdyb3VwaW5nIG5vZGUsIGZpcnN0IGRvZXMgdGVtcG9yYWwgYWdncmVnYXRpb24uIFRoaXMgYXNzdW1lcyBldmVyeXRoaW5nIGlzIG9uIHRoZSBzYW1lIHRpbWUtZ3JpZC5cbiAqICAgIFRoZSBvdXRwdXRzIG9mIHRoZSBncm91cGluZyBub2RlIGFyZSB0aGUgYWdncmVnYXRlZCB0aW1lIGJ1Y2tldGVkIG91dHB1dHMgb2YgaXQncyBjaGlsZHJlbi5cbiAqIDUuIE5vdyBhIGdyb3VwaW5nIG5vZGUgaGFzIGl0J3Mgb3duIG91dHB1dHMsIGl0IGNhbiBob3Jpem90bmFsbHkgYWdncmVnYXRlIHRoZW0uXG4gKi9cbmNvbnN0IGFnZ3JlZ2F0ZU5vZGUgPSAobm9kZTogYW55LCBhZ2dyZWdhdGlvblBhcmFtczogQWdncmVnYXRpb25QYXJhbXNTdXJlKSA9PiB7XG4gIGNvbnN0IG1ldHJpY3MgPSBhZ2dyZWdhdGlvblBhcmFtcyEubWV0cmljcztcbiAgY29uc3QgdHlwZSA9IGFnZ3JlZ2F0aW9uUGFyYW1zIS50eXBlO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBpbiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKEFHR1JFR0FUSU5HX05PREUoY2hpbGQpKTtcblxuICAgICAgYWdncmVnYXRlTm9kZShub2RlLmNoaWxkcmVuW2NoaWxkXSwgYWdncmVnYXRpb25QYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghbm9kZS5jaGlsZHJlbikge1xuICAgIGlmICh0eXBlID09PSAnaG9yaXpvbnRhbCcgfHwgdHlwZSA9PT0gJ2JvdGgnKSB7XG4gICAgICBub2RlLmFnZ3JlZ2F0ZWQgPSBhZ2dyZWdhdGVJbnB1dHNJbnRvT25lKG5vZGUub3V0cHV0cywgbWV0cmljcyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh0eXBlID09PSAndmVydGljYWwnIHx8IHR5cGUgPT09ICdib3RoJykge1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRlbXBvcmFsQWdncmVnYXRpb24obm9kZSwgbWV0cmljcyk7XG4gICAgICBub2RlLm91dHB1dHMgPSBvdXRwdXRzO1xuICAgICAgbm9kZS5hZ2dyZWdhdGVkID0gYWdncmVnYXRlSW5wdXRzSW50b09uZShvdXRwdXRzLCBtZXRyaWNzKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogSWYgYWdncmVnYXRpb24gaXMgZGlzYWJsZWQsIHRoZW4gcmV0dXJucyBnaXZlbiBgdHJlZWAuXG4gKiBPdGhlcndpc2UgY3JlYXRlcyBjb3B5IG9mIHRoZSB0cmVlLCB0aGVuIGFwcGxpZXMgYWdncmVnYXRpb24gdG8gaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBhZ2dyZWdhdGUgPSAodHJlZTogYW55LCBhZ2dyZWdhdGlvblBhcmFtczogQWdncmVnYXRpb25QYXJhbXMpID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhBR0dSRUdBVElOR19PVVRQVVRTKTtcblxuICBpZiAoIWFnZ3JlZ2F0aW9uUGFyYW1zIHx8ICFhZ2dyZWdhdGlvblBhcmFtcy50eXBlKSB7XG4gICAgcmV0dXJuIHRyZWU7XG4gIH1cblxuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuICBhZ2dyZWdhdGVOb2RlKGNvcHlPZlRyZWUsIGFnZ3JlZ2F0aW9uUGFyYW1zKTtcblxuICByZXR1cm4gY29weU9mVHJlZTtcbn07XG4iXX0=
@@ -88,4 +88,4 @@ const compute = async (tree, params) => {
88
88
  return copyOfTree;
89
89
  };
90
90
  exports.compute = compute;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBaUQ7QUFDakQsNkNBQTZDO0FBRzdDLGtEQUFzRTtBQUd0RSwrQ0FBMEM7QUFFMUMsTUFBTSxFQUFDLGdDQUFnQyxFQUFFLDJCQUEyQixFQUFDLEdBQUcsaUJBQU8sQ0FBQztBQUVoRjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDdkQsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUU7UUFDNUIsTUFBTSxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzVDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUNwQixNQUFzQixFQUN0QixRQUFrQyxFQUNsQyxFQUFFO0lBQ0YsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLFFBQVEsR0FBRyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBQSxzQkFBWSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRVgsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFaEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQVUsRUFBRSxNQUFjLEVBQWdCLEVBQUU7SUFDckUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQWEsQ0FBQztJQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBRWxELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLEdBQUcsTUFBTTtZQUNULFFBQVE7WUFDUixRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW1CLENBQUM7SUFDbEUsWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRS9DLE9BQU8sWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBWSxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEQsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELDBCQUFXLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0MsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDOUQsMEJBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ2xDLFlBQVksRUFDWixVQUEyQixDQUM1QixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVwQixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVE7Z0JBQ1IsTUFBTTthQUNQLENBQUMsQ0FBQztZQUVILDBCQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUVyQyxNQUFNO1NBQ1A7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi91dGlsL2RlYnVnLWxvZ2dlcic7XG5pbXBvcnQge21lcmdlT2JqZWN0c30gZnJvbSAnLi4vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtDb21wdXRlUGFyYW1zLCBOb2RlLCBQYXJhbXN9IGZyb20gJy4uL3R5cGVzL2NvbXB1dGUnO1xuaW1wb3J0IHtQbHVnaW5QYXJhbXMsIGlzRXhlY3V0ZSwgaXNHcm91cEJ5fSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHtHcm91cEJ5Q29uZmlnfSBmcm9tICcuLi90eXBlcy9ncm91cC1ieSc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuXG5jb25zdCB7TUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsIENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIFRyYXZlcnNlcyBhbGwgY2hpbGQgbm9kZXMgYmFzZWQgb24gY2hpbGRyZW4gZ3JvdXBpbmcuXG4gKi9cbmNvbnN0IHRyYXZlcnNlID0gYXN5bmMgKGNoaWxkcmVuOiBhbnksIHBhcmFtczogUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBhd2FpdCBjb21wdXRlTm9kZShjaGlsZHJlbltjaGlsZF0sIHBhcmFtcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kcyBgZGVmYXVsdGAgdmFsdWVzIHRvIGBpbnB1dHNgLlxuICovXG5jb25zdCBtZXJnZURlZmF1bHRzID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBkZWZhdWx0czogUGx1Z2luUGFyYW1zIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgaWYgKGlucHV0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiAxLiBJZiB0aGUgbm9kZSBoYXMgaXQncyBvd24gcGlwZWxpbmUsIGRlZmF1bHRzIG9yIGNvbmZpZyB0aGVuIHVzZSB0aGF0LFxuICogICAgb3RoZXJ3aXNlIHVzZSB3aGF0ZXZlciBoYXMgYmVlbiBwYXNzZWQgZG93biBmcm9tIGZ1cnRoZXIgdXAgdGhlIHRyZWUuXG4gKiAyLiBJZiBpdCdzIGEgZ3JvdXBpbmcgbm9kZSwgdGhlbiBmaXJzdCBvZiBhbGwgY29tcHV0ZXMgYWxsIGl0J3MgY2hpbGRyZW4uXG4gKiAgICBUaGlzIGlzIGRvaW5nIGEgZGVwdGggZmlyc3QgdHJhdmVyc2FsLlxuICogMy4gT3RoZXJ3aXNlIG1lcmdlcyB0aGUgZGVmYXVsdHMgaW50byB0aGUgaW5wdXRzLlxuICogNC4gR29lcyB0aHJvdWdoIHRoZSBwaXBlbGluZSBwbHVnaW5zLCBieSBjaGVja2luZyBpZiBpdCdzIGBleGVjdXRlYCBwbHVnaW4uIElmIHNvIHNldHMgb3V0cHV0cy5cbiAqICAgIElmIGlzIGEgYGdyb3VwYnlgIHBsdWdpbiwgaXQgd2lsbCByZXR1cm4gY2hpbGQgY29tcG9uZW50cyByYXRoZXIgdGhhbiBvdXRwdXRzLlxuICogNS4gU2luY2UgYWZ0ZXIgYGdyb3VwYnlgLCB0aGVyZSBhcmUgbmV3IGNoaWxkIGNvbXBvbmVudHMsIHRoZW4gY29tcHV0ZXMgdGhlbS5cbiAqICAgIE5vdGU6IGBwaXBlbGluZWAgbm93IGVxdWFscyB0aGUgcmVtYWluaW5nIHBsdS5naW5zIHRvIGFwcGx5IHRvIGVhY2ggY2hpbGRcbiAqL1xuY29uc3QgY29tcHV0ZU5vZGUgPSBhc3luYyAobm9kZTogTm9kZSwgcGFyYW1zOiBQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBwaXBlbGluZSA9IChub2RlLnBpcGVsaW5lIHx8IHBhcmFtcy5waXBlbGluZSkgYXMgc3RyaW5nW107XG4gIGNvbnN0IGNvbmZpZyA9IG5vZGUuY29uZmlnIHx8IHBhcmFtcy5jb25maWc7XG4gIGNvbnN0IGRlZmF1bHRzID0gbm9kZS5kZWZhdWx0cyB8fCBwYXJhbXMuZGVmYXVsdHM7XG5cbiAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcGlwZWxpbmUsXG4gICAgICBkZWZhdWx0cyxcbiAgICAgIGNvbmZpZyxcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBpbnB1dFN0b3JhZ2UgPSBzdHJ1Y3R1cmVkQ2xvbmUobm9kZS5pbnB1dHMpIGFzIFBsdWdpblBhcmFtc1tdO1xuICBpbnB1dFN0b3JhZ2UgPSBtZXJnZURlZmF1bHRzKGlucHV0U3RvcmFnZSwgZGVmYXVsdHMpO1xuICBjb25zdCBwaXBlbGluZUNvcHkgPSBzdHJ1Y3R1cmVkQ2xvbmUocGlwZWxpbmUpO1xuXG4gIHdoaWxlIChwaXBlbGluZUNvcHkubGVuZ3RoICE9PSAwKSB7XG4gICAgY29uc3QgcGx1Z2luTmFtZSA9IHBpcGVsaW5lQ29weS5zaGlmdCgpIGFzIHN0cmluZztcbiAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgY29uc3Qgbm9kZUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWdbcGx1Z2luTmFtZV07XG5cbiAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERShwbHVnaW5OYW1lKSk7XG4gICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgIGlmIChpc0V4ZWN1dGUocGx1Z2luKSkge1xuICAgICAgaW5wdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUoaW5wdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgbm9kZS5vdXRwdXRzID0gaW5wdXRTdG9yYWdlO1xuICAgIH1cblxuICAgIGlmIChpc0dyb3VwQnkocGx1Z2luKSkge1xuICAgICAgbm9kZS5jaGlsZHJlbiA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKFxuICAgICAgICBpbnB1dFN0b3JhZ2UsXG4gICAgICAgIG5vZGVDb25maWcgYXMgR3JvdXBCeUNvbmZpZ1xuICAgICAgKTtcbiAgICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICAgIGRlbGV0ZSBub2RlLm91dHB1dHM7XG5cbiAgICAgIGF3YWl0IHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBwaXBlbGluZTogcGlwZWxpbmVDb3B5LFxuICAgICAgICBkZWZhdWx0cyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSk7XG5cbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBaUQ7QUFDakQsNkNBQTZDO0FBRzdDLGtEQUF3RDtBQUV4RCwrQ0FBMEM7QUFFMUMsTUFBTSxFQUFDLGdDQUFnQyxFQUFFLDJCQUEyQixFQUFDLEdBQUcsaUJBQU8sQ0FBQztBQUVoRjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDdkQsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUU7UUFDNUIsTUFBTSxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzVDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUNwQixNQUFzQixFQUN0QixRQUFrQyxFQUNsQyxFQUFFO0lBQ0YsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLFFBQVEsR0FBRyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBQSxzQkFBWSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRVgsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFaEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQVUsRUFBRSxNQUFjLEVBQWdCLEVBQUU7SUFDckUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQWEsQ0FBQztJQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBRWxELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLEdBQUcsTUFBTTtZQUNULFFBQVE7WUFDUixRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW1CLENBQUM7SUFDbEUsWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRS9DLE9BQU8sWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBWSxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEQsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELDBCQUFXLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0MsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDOUQsMEJBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ2xDLFlBQVksRUFDWixVQUEyQixDQUM1QixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVwQixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVE7Z0JBQ1IsTUFBTTthQUNQLENBQUMsQ0FBQztZQUVILDBCQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUVyQyxNQUFNO1NBQ1A7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtcywgR3JvdXBCeUNvbmZpZ30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi4vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHttZXJnZU9iamVjdHN9IGZyb20gJy4uL3V0aWwvaGVscGVycyc7XG5cbmltcG9ydCB7Q29tcHV0ZVBhcmFtcywgTm9kZSwgUGFyYW1zfSBmcm9tICcuLi90eXBlcy9jb21wdXRlJztcbmltcG9ydCB7aXNFeGVjdXRlLCBpc0dyb3VwQnl9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuXG5jb25zdCB7TUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsIENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIFRyYXZlcnNlcyBhbGwgY2hpbGQgbm9kZXMgYmFzZWQgb24gY2hpbGRyZW4gZ3JvdXBpbmcuXG4gKi9cbmNvbnN0IHRyYXZlcnNlID0gYXN5bmMgKGNoaWxkcmVuOiBhbnksIHBhcmFtczogUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBhd2FpdCBjb21wdXRlTm9kZShjaGlsZHJlbltjaGlsZF0sIHBhcmFtcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kcyBgZGVmYXVsdGAgdmFsdWVzIHRvIGBpbnB1dHNgLlxuICovXG5jb25zdCBtZXJnZURlZmF1bHRzID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBkZWZhdWx0czogUGx1Z2luUGFyYW1zIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgaWYgKGlucHV0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiAxLiBJZiB0aGUgbm9kZSBoYXMgaXQncyBvd24gcGlwZWxpbmUsIGRlZmF1bHRzIG9yIGNvbmZpZyB0aGVuIHVzZSB0aGF0LFxuICogICAgb3RoZXJ3aXNlIHVzZSB3aGF0ZXZlciBoYXMgYmVlbiBwYXNzZWQgZG93biBmcm9tIGZ1cnRoZXIgdXAgdGhlIHRyZWUuXG4gKiAyLiBJZiBpdCdzIGEgZ3JvdXBpbmcgbm9kZSwgdGhlbiBmaXJzdCBvZiBhbGwgY29tcHV0ZXMgYWxsIGl0J3MgY2hpbGRyZW4uXG4gKiAgICBUaGlzIGlzIGRvaW5nIGEgZGVwdGggZmlyc3QgdHJhdmVyc2FsLlxuICogMy4gT3RoZXJ3aXNlIG1lcmdlcyB0aGUgZGVmYXVsdHMgaW50byB0aGUgaW5wdXRzLlxuICogNC4gR29lcyB0aHJvdWdoIHRoZSBwaXBlbGluZSBwbHVnaW5zLCBieSBjaGVja2luZyBpZiBpdCdzIGBleGVjdXRlYCBwbHVnaW4uIElmIHNvIHNldHMgb3V0cHV0cy5cbiAqICAgIElmIGlzIGEgYGdyb3VwYnlgIHBsdWdpbiwgaXQgd2lsbCByZXR1cm4gY2hpbGQgY29tcG9uZW50cyByYXRoZXIgdGhhbiBvdXRwdXRzLlxuICogNS4gU2luY2UgYWZ0ZXIgYGdyb3VwYnlgLCB0aGVyZSBhcmUgbmV3IGNoaWxkIGNvbXBvbmVudHMsIHRoZW4gY29tcHV0ZXMgdGhlbS5cbiAqICAgIE5vdGU6IGBwaXBlbGluZWAgbm93IGVxdWFscyB0aGUgcmVtYWluaW5nIHBsdS5naW5zIHRvIGFwcGx5IHRvIGVhY2ggY2hpbGRcbiAqL1xuY29uc3QgY29tcHV0ZU5vZGUgPSBhc3luYyAobm9kZTogTm9kZSwgcGFyYW1zOiBQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBwaXBlbGluZSA9IChub2RlLnBpcGVsaW5lIHx8IHBhcmFtcy5waXBlbGluZSkgYXMgc3RyaW5nW107XG4gIGNvbnN0IGNvbmZpZyA9IG5vZGUuY29uZmlnIHx8IHBhcmFtcy5jb25maWc7XG4gIGNvbnN0IGRlZmF1bHRzID0gbm9kZS5kZWZhdWx0cyB8fCBwYXJhbXMuZGVmYXVsdHM7XG5cbiAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcGlwZWxpbmUsXG4gICAgICBkZWZhdWx0cyxcbiAgICAgIGNvbmZpZyxcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBpbnB1dFN0b3JhZ2UgPSBzdHJ1Y3R1cmVkQ2xvbmUobm9kZS5pbnB1dHMpIGFzIFBsdWdpblBhcmFtc1tdO1xuICBpbnB1dFN0b3JhZ2UgPSBtZXJnZURlZmF1bHRzKGlucHV0U3RvcmFnZSwgZGVmYXVsdHMpO1xuICBjb25zdCBwaXBlbGluZUNvcHkgPSBzdHJ1Y3R1cmVkQ2xvbmUocGlwZWxpbmUpO1xuXG4gIHdoaWxlIChwaXBlbGluZUNvcHkubGVuZ3RoICE9PSAwKSB7XG4gICAgY29uc3QgcGx1Z2luTmFtZSA9IHBpcGVsaW5lQ29weS5zaGlmdCgpIGFzIHN0cmluZztcbiAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgY29uc3Qgbm9kZUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWdbcGx1Z2luTmFtZV07XG5cbiAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERShwbHVnaW5OYW1lKSk7XG4gICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgIGlmIChpc0V4ZWN1dGUocGx1Z2luKSkge1xuICAgICAgaW5wdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUoaW5wdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgbm9kZS5vdXRwdXRzID0gaW5wdXRTdG9yYWdlO1xuICAgIH1cblxuICAgIGlmIChpc0dyb3VwQnkocGx1Z2luKSkge1xuICAgICAgbm9kZS5jaGlsZHJlbiA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKFxuICAgICAgICBpbnB1dFN0b3JhZ2UsXG4gICAgICAgIG5vZGVDb25maWcgYXMgR3JvdXBCeUNvbmZpZ1xuICAgICAgKTtcbiAgICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICAgIGRlbGV0ZSBub2RlLm91dHB1dHM7XG5cbiAgICAgIGF3YWl0IHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBwaXBlbGluZTogcGlwZWxpbmVDb3B5LFxuICAgICAgICBkZWZhdWx0cyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSk7XG5cbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.exhaust = void 0;
4
+ const utils_1 = require("@grnsft/if-core/utils");
4
5
  /**
5
6
  * @todo This is temporary solution, will be refactored to support dynamic plugins.
6
7
  */
@@ -8,9 +9,8 @@ const export_csv_1 = require("../builtins/export-csv");
8
9
  const export_csv_raw_1 = require("../builtins/export-csv-raw");
9
10
  const export_log_1 = require("../builtins/export-log");
10
11
  const export_yaml_1 = require("../builtins/export-yaml");
11
- const errors_1 = require("../util/errors");
12
12
  const config_1 = require("../config");
13
- const { ExhaustError } = errors_1.ERRORS;
13
+ const { InvalidExhaustPluginError } = utils_1.ERRORS;
14
14
  const { INVALID_EXHAUST_PLUGIN, PREPARING_OUTPUT_DATA } = config_1.STRINGS;
15
15
  /**
16
16
  * Initialize exhaust plugins based on the provided config
@@ -28,7 +28,7 @@ const initializeExhaustPlugin = (name) => {
28
28
  case 'csv-raw':
29
29
  return (0, export_csv_raw_1.ExportCSVRaw)();
30
30
  default:
31
- throw new ExhaustError(INVALID_EXHAUST_PLUGIN(name));
31
+ throw new InvalidExhaustPluginError(INVALID_EXHAUST_PLUGIN(name));
32
32
  }
33
33
  };
34
34
  /**
@@ -50,4 +50,4 @@ const exhaust = async (tree, context, outputOptions) => {
50
50
  }
51
51
  };
52
52
  exports.exhaust = exhaust;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZXhoYXVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHVEQUFpRDtBQUNqRCwrREFBd0Q7QUFDeEQsdURBQWlEO0FBQ2pELHlEQUFtRDtBQUVuRCwyQ0FBc0M7QUFFdEMsc0NBQWtDO0FBTWxDLE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDOUIsTUFBTSxFQUFDLHNCQUFzQixFQUFFLHFCQUFxQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxPQUFpQixFQUFFLEVBQUUsQ0FDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQVksRUFBMEIsRUFBRTtJQUN2RSxRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBQSx3QkFBVSxHQUFFLENBQUM7UUFDdEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxJQUFBLHNCQUFTLEdBQUUsQ0FBQztRQUNyQixLQUFLLFNBQVM7WUFDWixPQUFPLElBQUEsNkJBQVksR0FBRSxDQUFDO1FBQ3hCO1lBQ0UsTUFBTSxJQUFJLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3hEO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUMxQixJQUFTLEVBQ1QsT0FBZ0IsRUFDaEIsYUFBc0IsRUFDdEIsRUFBRTtJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUVyQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUVqRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsSUFBQSxzQkFBUyxHQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNwQztJQUVELElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDbEIsT0FBTztLQUNSO0lBRUQsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFL0QsSUFBSSxLQUFLLEVBQUUsTUFBTSxNQUFNLElBQUksY0FBYyxFQUFFO1FBQ3pDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMvRDtBQUNILENBQUMsQ0FBQztBQXRCVyxRQUFBLE9BQU8sV0FzQmxCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAdG9kbyBUaGlzIGlzIHRlbXBvcmFyeSBzb2x1dGlvbiwgd2lsbCBiZSByZWZhY3RvcmVkIHRvIHN1cHBvcnQgZHluYW1pYyBwbHVnaW5zLlxuICovXG5pbXBvcnQge0V4cG9ydENTVn0gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LWNzdic7XG5pbXBvcnQge0V4cG9ydENTVlJhd30gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LWNzdi1yYXcnO1xuaW1wb3J0IHtFeHBvcnRMb2d9IGZyb20gJy4uL2J1aWx0aW5zL2V4cG9ydC1sb2cnO1xuaW1wb3J0IHtFeHBvcnRZYW1sfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQteWFtbCc7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtFeGhhdXN0UGx1Z2luSW50ZXJmYWNlfSBmcm9tICcuLi90eXBlcy9leGhhdXN0LXBsdWdpbi1pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5pbXBvcnQge09wdGlvbnN9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmNvbnN0IHtFeGhhdXN0RXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge0lOVkFMSURfRVhIQVVTVF9QTFVHSU4sIFBSRVBBUklOR19PVVRQVVRfREFUQX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEluaXRpYWxpemUgZXhoYXVzdCBwbHVnaW5zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25maWdcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW5zID0gKHBsdWdpbnM6IHN0cmluZ1tdKSA9PlxuICBwbHVnaW5zLm1hcChpbml0aWFsaXplRXhoYXVzdFBsdWdpbik7XG5cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgZm9yIGV4aGF1c3QgcGx1Z2lucy5cbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4gPSAobmFtZTogc3RyaW5nKTogRXhoYXVzdFBsdWdpbkludGVyZmFjZSA9PiB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ3lhbWwnOlxuICAgICAgcmV0dXJuIEV4cG9ydFlhbWwoKTtcbiAgICBjYXNlICdjc3YnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVigpO1xuICAgIGNhc2UgJ2Nzdi1yYXcnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVlJhdygpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXhoYXVzdEVycm9yKElOVkFMSURfRVhIQVVTVF9QTFVHSU4obmFtZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIE91dHB1dCBtYW5hZ2VyIC0gRXhoYXVzdC5cbiAqIEdyYWJzIG91dHB1dCBwbHVnaW5zIGZyb20gY29udGV4dCwgZXhlY3V0ZXMgZXZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBleGhhdXN0ID0gYXN5bmMgKFxuICB0cmVlOiBhbnksXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIG91dHB1dE9wdGlvbnM6IE9wdGlvbnNcbikgPT4ge1xuICBjb25zb2xlLmRlYnVnKFBSRVBBUklOR19PVVRQVVRfREFUQSk7XG5cbiAgY29uc3Qgb3V0cHV0UGx1Z2lucyA9IGNvbnRleHQuaW5pdGlhbGl6ZS5vdXRwdXRzO1xuXG4gIGlmIChvdXRwdXRPcHRpb25zLnN0ZG91dCkge1xuICAgIEV4cG9ydExvZygpLmV4ZWN1dGUodHJlZSwgY29udGV4dCk7XG4gIH1cblxuICBpZiAoIW91dHB1dFBsdWdpbnMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBleGhhdXN0UGx1Z2lucyA9IGluaXRpYWxpemVFeGhhdXN0UGx1Z2lucyhvdXRwdXRQbHVnaW5zKTtcblxuICBmb3IgYXdhaXQgKGNvbnN0IHBsdWdpbiBvZiBleGhhdXN0UGx1Z2lucykge1xuICAgIGF3YWl0IHBsdWdpbi5leGVjdXRlKHRyZWUsIGNvbnRleHQsIG91dHB1dE9wdGlvbnMub3V0cHV0UGF0aCk7XG4gIH1cbn07XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZXhoYXVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNkM7QUFFN0M7O0dBRUc7QUFDSCx1REFBaUQ7QUFDakQsK0RBQXdEO0FBQ3hELHVEQUFpRDtBQUNqRCx5REFBbUQ7QUFFbkQsc0NBQWtDO0FBTWxDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUMzQyxNQUFNLEVBQUMsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBWSxFQUEwQixFQUFFO0lBQ3ZFLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFBLHdCQUFVLEdBQUUsQ0FBQztRQUN0QixLQUFLLEtBQUs7WUFDUixPQUFPLElBQUEsc0JBQVMsR0FBRSxDQUFDO1FBQ3JCLEtBQUssU0FBUztZQUNaLE9BQU8sSUFBQSw2QkFBWSxHQUFFLENBQUM7UUFDeEI7WUFDRSxNQUFNLElBQUkseUJBQXlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUNyRTtBQUNILENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNJLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFDMUIsSUFBUyxFQUNULE9BQWdCLEVBQ2hCLGFBQXNCLEVBQ3RCLEVBQUU7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFckMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFFakQsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQ3hCLElBQUEsc0JBQVMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2xCLE9BQU87S0FDUjtJQUVELE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRS9ELElBQUksS0FBSyxFQUFFLE1BQU0sTUFBTSxJQUFJLGNBQWMsRUFBRTtRQUN6QyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDL0Q7QUFDSCxDQUFDLENBQUM7QUF0QlcsUUFBQSxPQUFPLFdBc0JsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG4vKipcbiAqIEB0b2RvIFRoaXMgaXMgdGVtcG9yYXJ5IHNvbHV0aW9uLCB3aWxsIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBkeW5hbWljIHBsdWdpbnMuXG4gKi9cbmltcG9ydCB7RXhwb3J0Q1NWfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2JztcbmltcG9ydCB7RXhwb3J0Q1NWUmF3fSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2LXJhdyc7XG5pbXBvcnQge0V4cG9ydExvZ30gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LWxvZyc7XG5pbXBvcnQge0V4cG9ydFlhbWx9IGZyb20gJy4uL2J1aWx0aW5zL2V4cG9ydC15YW1sJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0V4aGF1c3RQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2V4aGF1c3QtcGx1Z2luLWludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0ludmFsaWRFeGhhdXN0UGx1Z2luRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge0lOVkFMSURfRVhIQVVTVF9QTFVHSU4sIFBSRVBBUklOR19PVVRQVVRfREFUQX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEluaXRpYWxpemUgZXhoYXVzdCBwbHVnaW5zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25maWdcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW5zID0gKHBsdWdpbnM6IHN0cmluZ1tdKSA9PlxuICBwbHVnaW5zLm1hcChpbml0aWFsaXplRXhoYXVzdFBsdWdpbik7XG5cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgZm9yIGV4aGF1c3QgcGx1Z2lucy5cbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4gPSAobmFtZTogc3RyaW5nKTogRXhoYXVzdFBsdWdpbkludGVyZmFjZSA9PiB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ3lhbWwnOlxuICAgICAgcmV0dXJuIEV4cG9ydFlhbWwoKTtcbiAgICBjYXNlICdjc3YnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVigpO1xuICAgIGNhc2UgJ2Nzdi1yYXcnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVlJhdygpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEV4aGF1c3RQbHVnaW5FcnJvcihJTlZBTElEX0VYSEFVU1RfUExVR0lOKG5hbWUpKTtcbiAgfVxufTtcblxuLyoqXG4gKiBPdXRwdXQgbWFuYWdlciAtIEV4aGF1c3QuXG4gKiBHcmFicyBvdXRwdXQgcGx1Z2lucyBmcm9tIGNvbnRleHQsIGV4ZWN1dGVzIGV2ZXJ5LlxuICovXG5leHBvcnQgY29uc3QgZXhoYXVzdCA9IGFzeW5jIChcbiAgdHJlZTogYW55LFxuICBjb250ZXh0OiBDb250ZXh0LFxuICBvdXRwdXRPcHRpb25zOiBPcHRpb25zXG4pID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhQUkVQQVJJTkdfT1VUUFVUX0RBVEEpO1xuXG4gIGNvbnN0IG91dHB1dFBsdWdpbnMgPSBjb250ZXh0LmluaXRpYWxpemUub3V0cHV0cztcblxuICBpZiAob3V0cHV0T3B0aW9ucy5zdGRvdXQpIHtcbiAgICBFeHBvcnRMb2coKS5leGVjdXRlKHRyZWUsIGNvbnRleHQpO1xuICB9XG5cbiAgaWYgKCFvdXRwdXRQbHVnaW5zKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZXhoYXVzdFBsdWdpbnMgPSBpbml0aWFsaXplRXhoYXVzdFBsdWdpbnMob3V0cHV0UGx1Z2lucyk7XG5cbiAgZm9yIGF3YWl0IChjb25zdCBwbHVnaW4gb2YgZXhoYXVzdFBsdWdpbnMpIHtcbiAgICBhd2FpdCBwbHVnaW4uZXhlY3V0ZSh0cmVlLCBjb250ZXh0LCBvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpO1xuICB9XG59O1xuIl19