@grnsft/if 0.3.1 → 0.3.2

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 (38) hide show
  1. package/CONTRIBUTING.md +8 -0
  2. package/README.md +3 -0
  3. package/build/builtins/export-csv-raw.js +2 -2
  4. package/build/builtins/export-csv.js +15 -5
  5. package/build/builtins/group-by.js +20 -5
  6. package/build/builtins/time-sync.js +2 -1
  7. package/build/config/strings.js +2 -3
  8. package/build/index.js +3 -3
  9. package/build/lib/compute.js +8 -8
  10. package/build/lib/load.js +5 -3
  11. package/build/lib/parameterize.d.ts +2 -1
  12. package/build/lib/parameterize.js +4 -4
  13. package/build/types/compute.d.ts +2 -2
  14. package/build/types/compute.js +1 -1
  15. package/build/util/aggregation-helper.js +4 -4
  16. package/build/util/errors.d.ts +1 -1
  17. package/build/util/errors.js +3 -3
  18. package/build/util/helpers.d.ts +2 -2
  19. package/build/util/helpers.js +12 -14
  20. package/examples/manifests/boavizta-pipeline.yml +13 -13
  21. package/examples/manifests/cloud-metadata-teads.yml +41 -0
  22. package/examples/manifests/cloud-metadata.yml +13 -34
  23. package/examples/manifests/e-net.yml +1 -1
  24. package/examples/manifests/generics.yml +14 -14
  25. package/examples/manifests/group-by.yml +21 -21
  26. package/examples/manifests/nesting.yml +16 -16
  27. package/examples/manifests/pipeline-demo-1.yml +4 -4
  28. package/examples/manifests/pipeline-demo-2.yml +16 -11
  29. package/examples/manifests/pipeline-demo.yml +10 -10
  30. package/examples/manifests/pipeline-teads-sci.yml +12 -12
  31. package/examples/manifests/pipeline-with-generics.yml +26 -21
  32. package/examples/manifests/pipeline-with-mocks.yml +23 -23
  33. package/examples/manifests/watt-time.yml +6 -13
  34. package/github-processes.md +158 -0
  35. package/package.json +1 -1
  36. package/src/builtins/README.md +40 -44
  37. package/examples/manifests/cim.yml +0 -20
  38. package/examples/manifests/teads-aws.yml +0 -22
package/CONTRIBUTING.md CHANGED
@@ -1,5 +1,7 @@
1
1
  ## Contribution Guidelines <!-- omit from toc -->
2
2
 
3
+ > **HACKATHON PARTICIPANTS**: please note that these contribution guidelines are intended for community contributions to IF, and NOT hackathon submissions. If you are building plugins, tooling or other add-ons to IF, please maintain them in your own repositories and submit links to the hackathon judges.**
4
+
3
5
 
4
6
  First off, thanks for taking the time to contribute! 🎉
5
7
 
@@ -7,6 +9,7 @@ The following document is a rule set of guidelines for contributing.
7
9
 
8
10
  ## Table of Contents <!-- omit from toc -->
9
11
 
12
+ - [What and when to contribute](#what-and-when-to-contribute)
10
13
  - [Code Contributions](#code-contributions)
11
14
  - [Step 1: Fork](#step-1-fork)
12
15
  - [Step 2: Branch](#step-2-branch)
@@ -20,6 +23,11 @@ The following document is a rule set of guidelines for contributing.
20
23
  - [Documentation](#documentation)
21
24
  - [Writing tests](#writing-tests)
22
25
 
26
+ ## What and when to contribute
27
+
28
+ You can contribute anything to the IF, but we are likely to close out unsolicited PRs without merging them. Our issue board is completely open and we have tags (`help-wanted`, `good-first-issue`) to help contributors to choose tasks to work on. We recommend speaking to the core team on Github before starting working on an issue. You can do this by raising an issue or commenting on an existing issue. This helps us to direct your energy is directions that are aligned with our roadmap, prevent multiple people working on the same task, and better manage our board. This all makes it much more likely that your work will get merged.
29
+
30
+
23
31
  ## Code Contributions
24
32
 
25
33
  ### Step 1: Fork
package/README.md CHANGED
@@ -15,9 +15,12 @@
15
15
  > Find out more about CarbonHack 2024 on the [CarbonHack website](https://grnsft.org/hack/github). Check out the [FAQ on GitHub](https://grnsft.org/hack/faq).
16
16
  >
17
17
  > Registration opens 15th January!
18
+ >
19
+ > **PLEASE NOTE** hackathon projects are not supposed to be raised as pull requests to this rpeository! Please keep your hackathon plugins in your own repositories and submit links instead of raising PRs!
18
20
  ----------------------------
19
21
 
20
22
 
23
+
21
24
  # Impact Framework
22
25
 
23
26
 
@@ -121,9 +121,9 @@ const ExportCSVRaw = () => {
121
121
  const [extractredFlatMap, extractedHeaders] = extractFlatMapAndHeaders(tree);
122
122
  const ids = new Set(Object.keys(extractredFlatMap).map(key => extractIdHelper(key)));
123
123
  const csvString = getCsvString(extractredFlatMap, extractedHeaders, ids);
124
- writeOutputFile(csvString, outputPath);
124
+ await writeOutputFile(csvString, outputPath);
125
125
  };
126
126
  return { execute };
127
127
  };
128
128
  exports.ExportCSVRaw = ExportCSVRaw;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi1yYXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZXhwb3J0LWNzdi1yYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsMkNBQXNDO0FBS3RDLE1BQU0sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRXhDLE1BQU0sWUFBWSxHQUFHLEdBQTJCLEVBQUU7SUFDdkQ7OztPQUdHO0lBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBVSxFQUNWLFFBQWdCLEVBQ2hCLEdBQVEsRUFDUixPQUE2QixFQUM3QixPQUFvQixFQUNwQixFQUFFO1FBQ0YsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBVSxFQUNWLFFBQWdCLEVBQ2hCLE9BQTRCLEVBQzVCLE9BQW9CLEVBQ3BCLEVBQUU7UUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLHdCQUF3QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUzRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JELE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFF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QUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxVQUFVLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNsRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLGNBQWMsQ0FDdEIsMEJBQTBCLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FDakQsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLFFBQWlCLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDckQ7UUFFRCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsR0FDekMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDaEUsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV6RSxlQUFlLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUMsQ0FBQztJQUVGLE9BQU8sRUFBQyxPQUFPLEVBQUMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFqSlcsUUFBQSxZQUFZLGdCQWlKdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7RXhoYXVzdFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvZXhoYXVzdC1wbHVnaW4taW50ZXJmYWNlJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5jb25zdCB7V3JpdGVGaWxlRXJyb3IsIENsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5leHBvcnQgY29uc3QgRXhwb3J0Q1NWUmF3ID0gKCk6IEV4aGF1c3RQbHVnaW5JbnRlcmZhY2UgPT4ge1xuICAvKipcbiAgICogaGFuZGxlIGEgdHJlZSBsZWFmLCB3aGVyZSB0aGVyZSBhcmUgbm8gY2hpbGQgbm9kZXMsIGJ5IGFkZGluZyBpdCBhcyBrZXktPnZhbHVlIHBhaXIgdG8gdGhlIGZsYXQgbWFwXG4gICAqIGFuZCBjYXB0dXJpbmcga2V5IGFzIGEgaGVhZGVyXG4gICAqL1xuICBjb25zdCBoYW5kbGVMZWFmVmFsdWUgPSAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBmdWxsUGF0aDogc3RyaW5nLFxuICAgIGtleTogYW55LFxuICAgIGZsYXRNYXA6IHtba2V5OiBzdHJpbmddOiBhbnl9LFxuICAgIGhlYWRlcnM6IFNldDxzdHJpbmc+XG4gICkgPT4ge1xuICAgIGlmIChmdWxsUGF0aC5pbmNsdWRlcygnb3V0cHV0cycpKSB7XG4gICAgICBoZWFkZXJzLmFkZChrZXkpO1xuICAgICAgZmxhdE1hcFtmdWxsUGF0aF0gPSB2YWx1ZTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGhhbmRsZSBhIHRyZWUgbm9kZSwgcmVjdXJzaXZlbHkgdHJhdmVyc2UgdGhlIGNoaWxkcmVuIGFuZCBhcHBlbmQgdGhlaXIgcmVzdWx0cyB0byB0aGUgZmxhdCBtYXAgYW5kIGNhcHR1cmVkIGhlYWRlcnNcbiAgICovXG4gIGNvbnN0IGhhbmRsZU5vZGVWYWx1ZSA9IChcbiAgICB2YWx1ZTogYW55LFxuICAgIGZ1bGxQYXRoOiBzdHJpbmcsXG4gICAgZmxhdE1hcDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBoZWFkZXJzOiBTZXQ8c3RyaW5nPlxuICApID0+IHtcbiAgICBjb25zdCBbc3ViRmxhdE1hcCwgc3ViSGVhZGVyc10gPSBleHRyYWN0RmxhdE1hcEFuZEhlYWRlcnModmFsdWUsIGZ1bGxQYXRoKTtcblxuICAgIGlmIChPYmplY3Qua2V5cyhzdWJGbGF0TWFwKS5sZW5ndGggPiAwKSB7XG4gICAgICBPYmplY3QuZW50cmllcyhzdWJGbGF0TWFwKS5mb3JFYWNoKChbc3ViS2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgZmxhdE1hcFtzdWJLZXldID0gdmFsdWU7XG4gICAgICB9KTtcblxuICAgICAgc3ViSGVhZGVycy5mb3JFYWNoKHN1YkhlYWRlciA9PiB7XG4gICAgICAgIGhlYWRlcnMuYWRkKHN1YkhlYWRlcik7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYSBrZXkgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgdHJlZVxuICAgKi9cbiAgY29uc3QgaGFuZGxlS2V5ID0gKFxuICAgIHZhbHVlOiBhbnksXG4gICAga2V5OiBhbnksXG4gICAgcHJlZml4OiBzdHJpbmcsXG4gICAgZmxhdE1hcDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBoZWFkZXJzOiBTZXQ8c3RyaW5nPlxuICApID0+IHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IHByZWZpeCA/IGAke3ByZWZpeH0uJHtrZXl9YCA6IGtleTtcblxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gaGFuZGxlTm9kZVZhbHVlKHZhbHVlLCBmdWxsUGF0aCwgZmxhdE1hcCwgaGVhZGVycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhbmRsZUxlYWZWYWx1ZSh2YWx1ZSwgZnVsbFBhdGgsIGtleSwgZmxhdE1hcCwgaGVhZGVycyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IGV4dHJhY3QgYSBmbGF0IG1hcCBhbmQgaGVhZGVycyBmcm9tIHRoZSBoaWVyYXJjaWFsIHRyZWUuXG4gICAqL1xuICBjb25zdCBleHRyYWN0RmxhdE1hcEFuZEhlYWRlcnMgPSAoXG4gICAgdHJlZTogYW55LFxuICAgIHByZWZpeCA9ICcnXG4gICk6IFtSZWNvcmQ8c3RyaW5nLCBhbnk+LCBTZXQ8c3RyaW5nPl0gPT4ge1xuICAgIGNvbnN0IGhlYWRlcnM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IGZsYXRNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBbXTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIHRyZWUpIHtcbiAgICAgIGlmIChrZXkgaW4gdHJlZSkge1xuICAgICAgICBoYW5kbGVLZXkodHJlZVtrZXldLCBrZXksIHByZWZpeCwgZmxhdE1hcCwgaGVhZGVycyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFtmbGF0TWFwLCBoZWFkZXJzXTtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdCB0aGUgaWQgb2YgdGhlIGtleSwgdGhhdCBpcyByZW1vdmluZyB0aGUgbGFzdCB0b2tlbiAod2hpY2ggaXMgdGhlIGluZGV4KS5cbiAgICogaW4gdGhpcyBtYW5uZXIsIG11bHRpcGxlIGtleXMgdGhhdCBpZGVudGljYWwgYmVzaWRlcyB0aGVpciBpbmRleCBzaGFyZSB0aGUgc2FtZSBpZC5cbiAgICovXG4gIGNvbnN0IGV4dHJhY3RJZEhlbHBlciA9IChrZXk6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBrZXkuc3BsaXQoJy4nKTtcbiAgICBwYXJ0cy5wb3AoKTtcblxuICAgIHJldHVybiBwYXJ0cy5qb2luKCcuJyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGdlbmVyYXRlIGEgQ1NWIGZvcm1hdHRlZCBzdHJpbmcgYmFzZWQgb24gYSBmbGF0IGtleS0+dmFsdWUgbWFwLCBoZWFkZXJzIGFuZCBpZHNcbiAgICovXG4gIGNvbnN0IGdldENzdlN0cmluZyA9IChcbiAgICBtYXA6IHtba2V5OiBzdHJpbmddOiBhbnl9LFxuICAgIGhlYWRlcnM6IFNldDxzdHJpbmc+LFxuICAgIGlkczogU2V0PHN0cmluZz5cbiAgKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBjc3ZSb3dzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNzdlJvd3MucHVzaChbJ2lkJywgLi4uaGVhZGVyc10uam9pbignLCcpKTtcblxuICAgIGlkcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgIGNvbnN0IHJvd0RhdGEgPSBbaWRdO1xuXG4gICAgICBoZWFkZXJzLmZvckVhY2goaGVhZGVyID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtYXBbYCR7aWR9LiR7aGVhZGVyfWBdID8/ICcnO1xuICAgICAgICByb3dEYXRhLnB1c2godmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICB9KTtcbiAgICAgIGNzdlJvd3MucHVzaChyb3dEYXRhLmpvaW4oJywnKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3N2Um93cy5qb2luKCdcXG4nKTtcbiAgfTtcblxuICAvKipcbiAgICogd3JpdGUgdGhlIGdpdmVuIHN0cmluZyBjb250ZW50IHRvIGEgZmlsZSBhdCB0aGUgcHJvdmlkZWQgcGF0aFxuICAgKi9cbiAgY29uc3Qgd3JpdGVPdXRwdXRGaWxlID0gYXN5bmMgKGNvbnRlbnQ6IHN0cmluZywgb3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShgJHtvdXRwdXRQYXRofS5jc3ZgLCBjb250ZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IFdyaXRlRmlsZUVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHdyaXRlIENTViB0byAke291dHB1dFBhdGh9OiAke2Vycm9yfWBcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBleHBvcnQgdGhlIHByb3ZpZGVkIHRyZWUgY29udGVudCB0byBhIENTViBmaWxlLCByZXByZXNlbnRlZCBpbiBhIGZsYXQgc3RydWN0dXJlXG4gICAqL1xuICBjb25zdCBleGVjdXRlID0gYXN5bmMgKHRyZWU6IGFueSwgX2NvbnRleHQ6IENvbnRleHQsIG91dHB1dFBhdGg6IHN0cmluZykgPT4ge1xuICAgIGlmICghb3V0cHV0UGF0aCkge1xuICAgICAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoJ091dHB1dCBwYXRoIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IFtleHRyYWN0cmVkRmxhdE1hcCwgZXh0cmFjdGVkSGVhZGVyc10gPVxuICAgICAgZXh0cmFjdEZsYXRNYXBBbmRIZWFkZXJzKHRyZWUpO1xuICAgIGNvbnN0IGlkcyA9IG5ldyBTZXQoXG4gICAgICBPYmplY3Qua2V5cyhleHRyYWN0cmVkRmxhdE1hcCkubWFwKGtleSA9PiBleHRyYWN0SWRIZWxwZXIoa2V5KSlcbiAgICApO1xuICAgIGNvbnN0IGNzdlN0cmluZyA9IGdldENzdlN0cmluZyhleHRyYWN0cmVkRmxhdE1hcCwgZXh0cmFjdGVkSGVhZGVycywgaWRzKTtcblxuICAgIHdyaXRlT3V0cHV0RmlsZShjc3ZTdHJpbmcsIG91dHB1dFBhdGgpO1xuICB9O1xuXG4gIHJldHVybiB7ZXhlY3V0ZX07XG59O1xuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi1yYXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZXhwb3J0LWNzdi1yYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsMkNBQXNDO0FBS3RDLE1BQU0sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRXhDLE1BQU0sWUFBWSxHQUFHLEdBQTJCLEVBQUU7SUFDdkQ7OztPQUdHO0lBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBVSxFQUNWLFFBQWdCLEVBQ2hCLEdBQVEsRUFDUixPQUE2QixFQUM3QixPQUFvQixFQUNwQixFQUFFO1FBQ0YsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsS0FBVSxFQUNWLFFBQWdCLEVBQ2hCLE9BQTRCLEVBQzVCLE9BQW9CLEVBQ3BCLEVBQUU7UUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHLHdCQUF3QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUzRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JELE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFF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QUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxVQUFVLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNsRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLGNBQWMsQ0FDdEIsMEJBQTBCLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FDakQsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLFFBQWlCLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDckQ7UUFFRCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsR0FDekMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDaEUsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV6RSxNQUFNLGVBQWUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0lBRUYsT0FBTyxFQUFDLE9BQU8sRUFBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQWpKVyxRQUFBLFlBQVksZ0JBaUp2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtFeGhhdXN0UGx1Z2luSW50ZXJmYWNlfSBmcm9tICcuLi90eXBlcy9leGhhdXN0LXBsdWdpbi1pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5cbmNvbnN0IHtXcml0ZUZpbGVFcnJvciwgQ2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmV4cG9ydCBjb25zdCBFeHBvcnRDU1ZSYXcgPSAoKTogRXhoYXVzdFBsdWdpbkludGVyZmFjZSA9PiB7XG4gIC8qKlxuICAgKiBoYW5kbGUgYSB0cmVlIGxlYWYsIHdoZXJlIHRoZXJlIGFyZSBubyBjaGlsZCBub2RlcywgYnkgYWRkaW5nIGl0IGFzIGtleS0+dmFsdWUgcGFpciB0byB0aGUgZmxhdCBtYXBcbiAgICogYW5kIGNhcHR1cmluZyBrZXkgYXMgYSBoZWFkZXJcbiAgICovXG4gIGNvbnN0IGhhbmRsZUxlYWZWYWx1ZSA9IChcbiAgICB2YWx1ZTogYW55LFxuICAgIGZ1bGxQYXRoOiBzdHJpbmcsXG4gICAga2V5OiBhbnksXG4gICAgZmxhdE1hcDoge1trZXk6IHN0cmluZ106IGFueX0sXG4gICAgaGVhZGVyczogU2V0PHN0cmluZz5cbiAgKSA9PiB7XG4gICAgaWYgKGZ1bGxQYXRoLmluY2x1ZGVzKCdvdXRwdXRzJykpIHtcbiAgICAgIGhlYWRlcnMuYWRkKGtleSk7XG4gICAgICBmbGF0TWFwW2Z1bGxQYXRoXSA9IHZhbHVlO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogaGFuZGxlIGEgdHJlZSBub2RlLCByZWN1cnNpdmVseSB0cmF2ZXJzZSB0aGUgY2hpbGRyZW4gYW5kIGFwcGVuZCB0aGVpciByZXN1bHRzIHRvIHRoZSBmbGF0IG1hcCBhbmQgY2FwdHVyZWQgaGVhZGVyc1xuICAgKi9cbiAgY29uc3QgaGFuZGxlTm9kZVZhbHVlID0gKFxuICAgIHZhbHVlOiBhbnksXG4gICAgZnVsbFBhdGg6IHN0cmluZyxcbiAgICBmbGF0TWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGhlYWRlcnM6IFNldDxzdHJpbmc+XG4gICkgPT4ge1xuICAgIGNvbnN0IFtzdWJGbGF0TWFwLCBzdWJIZWFkZXJzXSA9IGV4dHJhY3RGbGF0TWFwQW5kSGVhZGVycyh2YWx1ZSwgZnVsbFBhdGgpO1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKHN1YkZsYXRNYXApLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHN1YkZsYXRNYXApLmZvckVhY2goKFtzdWJLZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBmbGF0TWFwW3N1YktleV0gPSB2YWx1ZTtcbiAgICAgIH0pO1xuXG4gICAgICBzdWJIZWFkZXJzLmZvckVhY2goc3ViSGVhZGVyID0+IHtcbiAgICAgICAgaGVhZGVycy5hZGQoc3ViSGVhZGVyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyBhIGtleSBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSB0cmVlXG4gICAqL1xuICBjb25zdCBoYW5kbGVLZXkgPSAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBrZXk6IGFueSxcbiAgICBwcmVmaXg6IHN0cmluZyxcbiAgICBmbGF0TWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGhlYWRlcnM6IFNldDxzdHJpbmc+XG4gICkgPT4ge1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gcHJlZml4ID8gYCR7cHJlZml4fS4ke2tleX1gIDoga2V5O1xuXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBoYW5kbGVOb2RlVmFsdWUodmFsdWUsIGZ1bGxQYXRoLCBmbGF0TWFwLCBoZWFkZXJzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlTGVhZlZhbHVlKHZhbHVlLCBmdWxsUGF0aCwga2V5LCBmbGF0TWFwLCBoZWFkZXJzKTtcbiAgfTtcblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgZXh0cmFjdCBhIGZsYXQgbWFwIGFuZCBoZWFkZXJzIGZyb20gdGhlIGhpZXJhcmNpYWwgdHJlZS5cbiAgICovXG4gIGNvbnN0IGV4dHJhY3RGbGF0TWFwQW5kSGVhZGVycyA9IChcbiAgICB0cmVlOiBhbnksXG4gICAgcHJlZml4ID0gJydcbiAgKTogW1JlY29yZDxzdHJpbmcsIGFueT4sIFNldDxzdHJpbmc+XSA9PiB7XG4gICAgY29uc3QgaGVhZGVyczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgZmxhdE1hcDogUmVjb3JkPHN0cmluZywgYW55PiA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdHJlZSkge1xuICAgICAgaWYgKGtleSBpbiB0cmVlKSB7XG4gICAgICAgIGhhbmRsZUtleSh0cmVlW2tleV0sIGtleSwgcHJlZml4LCBmbGF0TWFwLCBoZWFkZXJzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gW2ZsYXRNYXAsIGhlYWRlcnNdO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0IHRoZSBpZCBvZiB0aGUga2V5LCB0aGF0IGlzIHJlbW92aW5nIHRoZSBsYXN0IHRva2VuICh3aGljaCBpcyB0aGUgaW5kZXgpLlxuICAgKiBpbiB0aGlzIG1hbm5lciwgbXVsdGlwbGUga2V5cyB0aGF0IGlkZW50aWNhbCBiZXNpZGVzIHRoZWlyIGluZGV4IHNoYXJlIHRoZSBzYW1lIGlkLlxuICAgKi9cbiAgY29uc3QgZXh0cmFjdElkSGVscGVyID0gKGtleTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IGtleS5zcGxpdCgnLicpO1xuICAgIHBhcnRzLnBvcCgpO1xuXG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJy4nKTtcbiAgfTtcblxuICAvKipcbiAgICogZ2VuZXJhdGUgYSBDU1YgZm9ybWF0dGVkIHN0cmluZyBiYXNlZCBvbiBhIGZsYXQga2V5LT52YWx1ZSBtYXAsIGhlYWRlcnMgYW5kIGlkc1xuICAgKi9cbiAgY29uc3QgZ2V0Q3N2U3RyaW5nID0gKFxuICAgIG1hcDoge1trZXk6IHN0cmluZ106IGFueX0sXG4gICAgaGVhZGVyczogU2V0PHN0cmluZz4sXG4gICAgaWRzOiBTZXQ8c3RyaW5nPlxuICApOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IGNzdlJvd3M6IHN0cmluZ1tdID0gW107XG4gICAgY3N2Um93cy5wdXNoKFsnaWQnLCAuLi5oZWFkZXJzXS5qb2luKCcsJykpO1xuXG4gICAgaWRzLmZvckVhY2goaWQgPT4ge1xuICAgICAgY29uc3Qgcm93RGF0YSA9IFtpZF07XG5cbiAgICAgIGhlYWRlcnMuZm9yRWFjaChoZWFkZXIgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IG1hcFtgJHtpZH0uJHtoZWFkZXJ9YF0gPz8gJyc7XG4gICAgICAgIHJvd0RhdGEucHVzaCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgIH0pO1xuICAgICAgY3N2Um93cy5wdXNoKHJvd0RhdGEuam9pbignLCcpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjc3ZSb3dzLmpvaW4oJ1xcbicpO1xuICB9O1xuXG4gIC8qKlxuICAgKiB3cml0ZSB0aGUgZ2l2ZW4gc3RyaW5nIGNvbnRlbnQgdG8gYSBmaWxlIGF0IHRoZSBwcm92aWRlZCBwYXRoXG4gICAqL1xuICBjb25zdCB3cml0ZU91dHB1dEZpbGUgPSBhc3luYyAoY29udGVudDogc3RyaW5nLCBvdXRwdXRQYXRoOiBzdHJpbmcpID0+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKGAke291dHB1dFBhdGh9LmNzdmAsIGNvbnRlbnQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgV3JpdGVGaWxlRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gd3JpdGUgQ1NWIHRvICR7b3V0cHV0UGF0aH06ICR7ZXJyb3J9YFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4cG9ydCB0aGUgcHJvdmlkZWQgdHJlZSBjb250ZW50IHRvIGEgQ1NWIGZpbGUsIHJlcHJlc2VudGVkIGluIGEgZmxhdCBzdHJ1Y3R1cmVcbiAgICovXG4gIGNvbnN0IGV4ZWN1dGUgPSBhc3luYyAodHJlZTogYW55LCBfY29udGV4dDogQ29udGV4dCwgb3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFvdXRwdXRQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpSW5wdXRFcnJvcignT3V0cHV0IHBhdGggaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgW2V4dHJhY3RyZWRGbGF0TWFwLCBleHRyYWN0ZWRIZWFkZXJzXSA9XG4gICAgICBleHRyYWN0RmxhdE1hcEFuZEhlYWRlcnModHJlZSk7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldChcbiAgICAgIE9iamVjdC5rZXlzKGV4dHJhY3RyZWRGbGF0TWFwKS5tYXAoa2V5ID0+IGV4dHJhY3RJZEhlbHBlcihrZXkpKVxuICAgICk7XG4gICAgY29uc3QgY3N2U3RyaW5nID0gZ2V0Q3N2U3RyaW5nKGV4dHJhY3RyZWRGbGF0TWFwLCBleHRyYWN0ZWRIZWFkZXJzLCBpZHMpO1xuXG4gICAgYXdhaXQgd3JpdGVPdXRwdXRGaWxlKGNzdlN0cmluZywgb3V0cHV0UGF0aCk7XG4gIH07XG5cbiAgcmV0dXJuIHtleGVjdXRlfTtcbn07XG4iXX0=
@@ -10,10 +10,8 @@ const { CliInputError } = errors_1.ERRORS;
10
10
  */
11
11
  const ExportCSV = () => {
12
12
  const parseOutputAndField = (outputPath) => {
13
- if (!outputPath) {
14
- throw new CliInputError('Output path is required.');
15
- }
16
- const paths = outputPath.split('#');
13
+ const validatedPath = validateOutputPath(outputPath);
14
+ const paths = validatedPath.split('#');
17
15
  const output = paths.slice(0, paths.length - 1).join('');
18
16
  const criteria = paths[paths.length - 1];
19
17
  if (paths.length <= 1 || !criteria) {
@@ -24,6 +22,18 @@ const ExportCSV = () => {
24
22
  criteria,
25
23
  };
26
24
  };
25
+ /**
26
+ * Validates output path.
27
+ */
28
+ const validateOutputPath = (outputPath) => {
29
+ if (!outputPath) {
30
+ throw new CliInputError('Output path is required.');
31
+ }
32
+ if (!outputPath.includes('#')) {
33
+ throw new CliInputError('Output path should contains `#`.');
34
+ }
35
+ return outputPath;
36
+ };
27
37
  /**
28
38
  * Grabs output and criteria from cli args, then call tree walker to collect csv data.
29
39
  */
@@ -83,4 +93,4 @@ const ExportCSV = () => {
83
93
  };
84
94
  };
85
95
  exports.ExportCSV = ExportCSV;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsdGlucy9leHBvcnQtY3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFzQztBQUN0Qyw2Q0FBNkM7QUFFN0MsMkNBQXNDO0FBS3RDLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0I7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDNUIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtRQUNqRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsTUFBTSxJQUFJLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxhQUFhLENBQ3JCLDJGQUEyRixDQUM1RixDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsTUFBTTtZQUNOLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLE9BQWdCLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1FBQ3hFLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixNQUFNLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFbkQ7O1dBRUc7UUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVMsRUFBRSxRQUFnQixFQUFFLElBQUksR0FBRyxNQUFNLEVBQUUsRUFBRTtZQUNoRSw4RkFBOEY7WUFDOUYsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7b0JBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQzVCO2dCQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqRTtZQUVELDRHQUE0RztZQUM1RyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFO29CQUM1QyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsTUFBTSxDQUFDO29CQUUzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ2hDO29CQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUUxQyxJQUFJLG9CQUFvQixFQUFFO3dCQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO3FCQUNoQzt5QkFBTTt3QkFDTCxrREFBa0Q7d0JBQ2xELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFOzRCQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDeEQ7NkJBQU07NEJBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELHFEQUFxRDtZQUNyRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDakMsVUFBVSxDQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQ3BCLFFBQVEsRUFDUixHQUFHLElBQUksYUFBYSxLQUFLLEVBQUUsQ0FDNUIsQ0FBQztpQkFDSDthQUNGO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUzQixNQUFNLElBQUEsb0JBQVMsRUFBQyxHQUFHLE1BQU0sTUFBTSxFQUFFLElBQUEsZ0JBQVMsRUFBQyxNQUFNLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU87UUFDUCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUEzRlcsUUFBQSxTQUFTLGFBMkZwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7d3JpdGVGaWxlfSBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQge3N0cmluZ2lmeX0gZnJvbSAnY3N2LXN0cmluZ2lmeS9zeW5jJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5pbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG4vKipcbiAqIEV4dGVuc2lvbiB0byBJRiB0aGF0IG91dHB1dHMgdGhlIHRyZWUgaW4gYSBDU1YgZm9ybWF0LlxuICovXG5leHBvcnQgY29uc3QgRXhwb3J0Q1NWID0gKCkgPT4ge1xuICBjb25zdCBwYXJzZU91dHB1dEFuZEZpZWxkID0gKG91dHB1dFBhdGg6IHN0cmluZykgPT4ge1xuICAgIGlmICghb3V0cHV0UGF0aCkge1xuICAgICAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoJ091dHB1dCBwYXRoIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhzID0gb3V0cHV0UGF0aC5zcGxpdCgnIycpO1xuICAgIGNvbnN0IG91dHB1dCA9IHBhdGhzLnNsaWNlKDAsIHBhdGhzLmxlbmd0aCAtIDEpLmpvaW4oJycpO1xuICAgIGNvbnN0IGNyaXRlcmlhID0gcGF0aHNbcGF0aHMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAocGF0aHMubGVuZ3RoIDw9IDEgfHwgIWNyaXRlcmlhKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpSW5wdXRFcnJvcihcbiAgICAgICAgJ0NTViBleHBvcnQgY3JpdGVyaWEgaXMgbm90IGZvdW5kIGluIG91dHB1dCBwYXRoLiBQbGVhc2UgYXBwZW5kIGl0IGFmdGVyIC0tb3V0cHV0IDxwYXRoPiMuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3V0cHV0LFxuICAgICAgY3JpdGVyaWEsXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogR3JhYnMgb3V0cHV0IGFuZCBjcml0ZXJpYSBmcm9tIGNsaSBhcmdzLCB0aGVuIGNhbGwgdHJlZSB3YWxrZXIgdG8gY29sbGVjdCBjc3YgZGF0YS5cbiAgICovXG4gIGNvbnN0IGV4ZWN1dGUgPSBhc3luYyAodHJlZTogYW55LCBjb250ZXh0OiBDb250ZXh0LCBvdXRwdXRQYXRoOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBjb2x1bW5zID0gWydQYXRoJ107XG4gICAgY29uc3QgbWF0cml4ID0gW2NvbHVtbnNdO1xuICAgIGNvbnN0IHtvdXRwdXQsIGNyaXRlcmlhfSA9IHBhcnNlT3V0cHV0QW5kRmllbGQob3V0cHV0UGF0aCk7XG4gICAgY29uc3QgYWdncmVnYXRpb25Jc0VuYWJsZWQgPSAhIWNvbnRleHQuYWdncmVnYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBXYWxrcyB0aHJvdWdoIGFsbCB0cmVlIGJyYW5jaGVzIGFuZCBsZWF2ZXMsIGNvbGxlY3RpbmcgdGhlIGRhdGFcbiAgICAgKi9cbiAgICBjb25zdCB0cmVlV2Fsa2VyID0gKG5vZGU6IGFueSwgY3JpdGVyaWE6IHN0cmluZywgcGF0aCA9ICd0cmVlJykgPT4ge1xuICAgICAgLyoqIEhtbSBhZ2dyZWdhdGVkLCB0aGVuIGNoZWNrcyBpZiBpdCdzIHRoZSBmaXJzdCBvbmUuIElmIHNvIGFkZHMgY29sdW1uLCBwdXNoZXMgdGhlIHZhbHVlLiAqL1xuICAgICAgaWYgKG5vZGUuYWdncmVnYXRlZCkge1xuICAgICAgICBpZiAocGF0aCA9PT0gJ3RyZWUnKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKCdBZ2dyZWdhdGVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBtYXRyaXgucHVzaChbYCR7cGF0aH0uJHtjcml0ZXJpYX1gLCBub2RlLmFnZ3JlZ2F0ZWRbY3JpdGVyaWFdXSk7XG4gICAgICB9XG5cbiAgICAgIC8qKiBTbyBpdCBoYXMgb3V0cHV0cywgd2hhdHMgdGhlbj8gY2hlY2tzIGlmIHRpbWVzdGFtcCBpcyBub3QgdGhlcmUsIGFkZHMgb25lLiBUaGVuIGFwcGVuZHMgdmFsdWVzIHRvIGl0LiAqL1xuICAgICAgaWYgKG5vZGUub3V0cHV0cykge1xuICAgICAgICBub2RlLm91dHB1dHMuZm9yRWFjaCgob3V0cHV0OiBQbHVnaW5QYXJhbXMpID0+IHtcbiAgICAgICAgICBjb25zdCB7dGltZXN0YW1wfSA9IG91dHB1dDtcblxuICAgICAgICAgIGlmICghY29sdW1ucy5pbmNsdWRlcyh0aW1lc3RhbXApKSB7XG4gICAgICAgICAgICBjb2x1bW5zLnB1c2gob3V0cHV0LnRpbWVzdGFtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbGFzdFJvdyA9IG1hdHJpeFttYXRyaXgubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICBpZiAoYWdncmVnYXRpb25Jc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIGxhc3RSb3cucHVzaChvdXRwdXRbY3JpdGVyaWFdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLyoqIEhhbmRsZSB3aXRob3V0IGFnZ3JlZ2F0aW9uIGV4cG9ydCBzdHJhdGVneS4gKi9cbiAgICAgICAgICAgIGlmIChtYXRyaXgubGVuZ3RoID09PSAxIHx8IGxhc3RSb3cubGVuZ3RoID09PSBjb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgICBtYXRyaXgucHVzaChbYCR7cGF0aH0uJHtjcml0ZXJpYX1gLCBvdXRwdXRbY3JpdGVyaWFdXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsYXN0Um93LnB1c2gob3V0cHV0W2NyaXRlcmlhXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLyoqIE9oaCBjaGlsZHJlbj8gdGhlbiBjYWxsIGV2ZXJ5IG9uZSBhbmQgZXhlY3V0ZS4gKi9cbiAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgIHRyZWVXYWxrZXIoXG4gICAgICAgICAgICBub2RlLmNoaWxkcmVuW2NoaWxkXSxcbiAgICAgICAgICAgIGNyaXRlcmlhLFxuICAgICAgICAgICAgYCR7cGF0aH0uY2hpbGRyZW4uJHtjaGlsZH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICB0cmVlV2Fsa2VyKHRyZWUsIGNyaXRlcmlhKTtcblxuICAgIGF3YWl0IHdyaXRlRmlsZShgJHtvdXRwdXR9LmNzdmAsIHN0cmluZ2lmeShtYXRyaXgsIHtjb2x1bW5zfSkpO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgZXhlY3V0ZSxcbiAgICBtZXRhZGF0YToge1xuICAgICAga2luZDogJ2V4aGF1c3QnLFxuICAgIH0sXG4gIH07XG59O1xuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsdGlucy9leHBvcnQtY3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFzQztBQUN0Qyw2Q0FBNkM7QUFFN0MsMkNBQXNDO0FBS3RDLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0I7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDNUIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtRQUNqRCxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsMkZBQTJGLENBQzVGLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxNQUFNO1lBQ04sUUFBUTtTQUNULENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUU7UUFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE1BQU0sSUFBSSxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcs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QUFPO1FBQ1AsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBeEdXLFFBQUEsU0FBUyxhQXdHcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3dyaXRlRmlsZX0gZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHtzdHJpbmdpZnl9IGZyb20gJ2Nzdi1zdHJpbmdpZnkvc3luYyc7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmNvbnN0IHtDbGlJbnB1dEVycm9yfSA9IEVSUk9SUztcblxuLyoqXG4gKiBFeHRlbnNpb24gdG8gSUYgdGhhdCBvdXRwdXRzIHRoZSB0cmVlIGluIGEgQ1NWIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNvbnN0IEV4cG9ydENTViA9ICgpID0+IHtcbiAgY29uc3QgcGFyc2VPdXRwdXRBbmRGaWVsZCA9IChvdXRwdXRQYXRoOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB2YWxpZGF0ZWRQYXRoID0gdmFsaWRhdGVPdXRwdXRQYXRoKG91dHB1dFBhdGgpO1xuXG4gICAgY29uc3QgcGF0aHMgPSB2YWxpZGF0ZWRQYXRoLnNwbGl0KCcjJyk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcGF0aHMuc2xpY2UoMCwgcGF0aHMubGVuZ3RoIC0gMSkuam9pbignJyk7XG4gICAgY29uc3QgY3JpdGVyaWEgPSBwYXRoc1twYXRocy5sZW5ndGggLSAxXTtcblxuICAgIGlmIChwYXRocy5sZW5ndGggPD0gMSB8fCAhY3JpdGVyaWEpIHtcbiAgICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKFxuICAgICAgICAnQ1NWIGV4cG9ydCBjcml0ZXJpYSBpcyBub3QgZm91bmQgaW4gb3V0cHV0IHBhdGguIFBsZWFzZSBhcHBlbmQgaXQgYWZ0ZXIgLS1vdXRwdXQgPHBhdGg+Iy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQsXG4gICAgICBjcml0ZXJpYSxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgb3V0cHV0IHBhdGguXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZU91dHB1dFBhdGggPSAob3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFvdXRwdXRQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpSW5wdXRFcnJvcignT3V0cHV0IHBhdGggaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgaWYgKCFvdXRwdXRQYXRoLmluY2x1ZGVzKCcjJykpIHtcbiAgICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKCdPdXRwdXQgcGF0aCBzaG91bGQgY29udGFpbnMgYCNgLicpO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXRQYXRoO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHcmFicyBvdXRwdXQgYW5kIGNyaXRlcmlhIGZyb20gY2xpIGFyZ3MsIHRoZW4gY2FsbCB0cmVlIHdhbGtlciB0byBjb2xsZWN0IGNzdiBkYXRhLlxuICAgKi9cbiAgY29uc3QgZXhlY3V0ZSA9IGFzeW5jICh0cmVlOiBhbnksIGNvbnRleHQ6IENvbnRleHQsIG91dHB1dFBhdGg6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSBbJ1BhdGgnXTtcbiAgICBjb25zdCBtYXRyaXggPSBbY29sdW1uc107XG4gICAgY29uc3Qge291dHB1dCwgY3JpdGVyaWF9ID0gcGFyc2VPdXRwdXRBbmRGaWVsZChvdXRwdXRQYXRoKTtcbiAgICBjb25zdCBhZ2dyZWdhdGlvbklzRW5hYmxlZCA9ICEhY29udGV4dC5hZ2dyZWdhdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFdhbGtzIHRocm91Z2ggYWxsIHRyZWUgYnJhbmNoZXMgYW5kIGxlYXZlcywgY29sbGVjdGluZyB0aGUgZGF0YVxuICAgICAqL1xuICAgIGNvbnN0IHRyZWVXYWxrZXIgPSAobm9kZTogYW55LCBjcml0ZXJpYTogc3RyaW5nLCBwYXRoID0gJ3RyZWUnKSA9PiB7XG4gICAgICAvKiogSG1tIGFnZ3JlZ2F0ZWQsIHRoZW4gY2hlY2tzIGlmIGl0J3MgdGhlIGZpcnN0IG9uZS4gSWYgc28gYWRkcyBjb2x1bW4sIHB1c2hlcyB0aGUgdmFsdWUuICovXG4gICAgICBpZiAobm9kZS5hZ2dyZWdhdGVkKSB7XG4gICAgICAgIGlmIChwYXRoID09PSAndHJlZScpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goJ0FnZ3JlZ2F0ZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hdHJpeC5wdXNoKFtgJHtwYXRofS4ke2NyaXRlcmlhfWAsIG5vZGUuYWdncmVnYXRlZFtjcml0ZXJpYV1dKTtcbiAgICAgIH1cblxuICAgICAgLyoqIFNvIGl0IGhhcyBvdXRwdXRzLCB3aGF0cyB0aGVuPyBjaGVja3MgaWYgdGltZXN0YW1wIGlzIG5vdCB0aGVyZSwgYWRkcyBvbmUuIFRoZW4gYXBwZW5kcyB2YWx1ZXMgdG8gaXQuICovXG4gICAgICBpZiAobm9kZS5vdXRwdXRzKSB7XG4gICAgICAgIG5vZGUub3V0cHV0cy5mb3JFYWNoKChvdXRwdXQ6IFBsdWdpblBhcmFtcykgPT4ge1xuICAgICAgICAgIGNvbnN0IHt0aW1lc3RhbXB9ID0gb3V0cHV0O1xuXG4gICAgICAgICAgaWYgKCFjb2x1bW5zLmluY2x1ZGVzKHRpbWVzdGFtcCkpIHtcbiAgICAgICAgICAgIGNvbHVtbnMucHVzaChvdXRwdXQudGltZXN0YW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBsYXN0Um93ID0gbWF0cml4W21hdHJpeC5sZW5ndGggLSAxXTtcblxuICAgICAgICAgIGlmIChhZ2dyZWdhdGlvbklzRW5hYmxlZCkge1xuICAgICAgICAgICAgbGFzdFJvdy5wdXNoKG91dHB1dFtjcml0ZXJpYV0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvKiogSGFuZGxlIHdpdGhvdXQgYWdncmVnYXRpb24gZXhwb3J0IHN0cmF0ZWd5LiAqL1xuICAgICAgICAgICAgaWYgKG1hdHJpeC5sZW5ndGggPT09IDEgfHwgbGFzdFJvdy5sZW5ndGggPT09IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIG1hdHJpeC5wdXNoKFtgJHtwYXRofS4ke2NyaXRlcmlhfWAsIG91dHB1dFtjcml0ZXJpYV1dKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGxhc3RSb3cucHVzaChvdXRwdXRbY3JpdGVyaWFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvKiogT2hoIGNoaWxkcmVuPyB0aGVuIGNhbGwgZXZlcnkgb25lIGFuZCBleGVjdXRlLiAqL1xuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBpbiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgdHJlZVdhbGtlcihcbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW5bY2hpbGRdLFxuICAgICAgICAgICAgY3JpdGVyaWEsXG4gICAgICAgICAgICBgJHtwYXRofS5jaGlsZHJlbi4ke2NoaWxkfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRyZWVXYWxrZXIodHJlZSwgY3JpdGVyaWEpO1xuXG4gICAgYXdhaXQgd3JpdGVGaWxlKGAke291dHB1dH0uY3N2YCwgc3RyaW5naWZ5KG1hdHJpeCwge2NvbHVtbnN9KSk7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBleGVjdXRlLFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICBraW5kOiAnZXhoYXVzdCcsXG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GroupBy = void 0;
4
- const errors_1 = require("../util/errors");
4
+ const zod_1 = require("zod");
5
5
  const config_1 = require("../config");
6
- const { InvalidGrouping } = errors_1.ERRORS;
6
+ const errors_1 = require("../util/errors");
7
+ const validations_1 = require("../util/validations");
8
+ const { InvalidGroupingError, InputValidationError } = errors_1.ERRORS;
7
9
  const { INVALID_GROUP_BY } = config_1.STRINGS;
8
10
  /**
9
11
  * Plugin for inputs grouping.
@@ -38,9 +40,10 @@ const GroupBy = () => {
38
40
  * Based on grouping types, initializes the structure grouped structure.
39
41
  */
40
42
  const execute = (inputs, config) => inputs.reduce((acc, input) => {
41
- const groups = config.group.map(groupType => {
43
+ const validatedConfig = validateConfig(config);
44
+ const groups = validatedConfig.group.map(groupType => {
42
45
  if (!input[groupType]) {
43
- throw new InvalidGrouping(INVALID_GROUP_BY(groupType));
46
+ throw new InvalidGroupingError(INVALID_GROUP_BY(groupType));
44
47
  }
45
48
  return input[groupType];
46
49
  });
@@ -50,7 +53,19 @@ const GroupBy = () => {
50
53
  };
51
54
  return acc;
52
55
  }, {}).children;
56
+ /**
57
+ * Validates config parameter.
58
+ */
59
+ const validateConfig = (config) => {
60
+ if (!config) {
61
+ throw new InputValidationError('Config is not provided.');
62
+ }
63
+ const schema = zod_1.z.object({
64
+ group: zod_1.z.array(zod_1.z.string()).min(1),
65
+ });
66
+ return (0, validations_1.validate)(schema, config);
67
+ };
53
68
  return { metadata, execute };
54
69
  };
55
70
  exports.GroupBy = GroupBy;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZ3JvdXAtYnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXNDO0FBRXRDLHNDQUFrQztBQUtsQyxNQUFNLEVBQUMsZUFBZSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRWpDLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFbkM7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxHQUFrQixFQUFFO0lBQ3pDLE1BQU0sUUFBUSxHQUFHO1FBQ2YsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsS0FBbUIsRUFDbkIsTUFBVyxFQUNYLE1BQWdCLEVBQ1gsRUFBRTtRQUNQLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBWSxDQUFDO1lBRXZDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV0RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN2QixJQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTTtvQkFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDeEM7b0JBQ0EsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQztxQkFBTTtvQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN6QzthQUNGO1lBRUQsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFzQixFQUFFLE1BQXFCLEVBQUUsRUFBRSxDQUNoRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sSUFBSSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUN4RDtZQUVELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsR0FBRyxHQUFHO1lBQ0osR0FBRyxHQUFHO1lBQ04sR0FBRyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7U0FDbkMsQ0FBQztRQUVGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUV6QixPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQTNEVyxRQUFBLE9BQU8sV0EyRGxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0dyb3VwQnlQbHVnaW4sIFBsdWdpblBhcmFtc30gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7R3JvdXBCeUNvbmZpZ30gZnJvbSAnLi4vdHlwZXMvZ3JvdXAtYnknO1xuXG5jb25zdCB7SW52YWxpZEdyb3VwaW5nfSA9IEVSUk9SUztcblxuY29uc3Qge0lOVkFMSURfR1JPVVBfQll9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBQbHVnaW4gZm9yIGlucHV0cyBncm91cGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdyb3VwQnkgPSAoKTogR3JvdXBCeVBsdWdpbiA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0ge1xuICAgIGtpbmQ6ICdncm91cGJ5JyxcbiAgfTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBzdHJ1Y3R1cmUgdG8gaW5zZXJ0IGlucHV0cyBieSBncm91cHMuXG4gICAqL1xuICBjb25zdCBhcHBlbmRHcm91cCA9IChcbiAgICB2YWx1ZTogUGx1Z2luUGFyYW1zLFxuICAgIG9iamVjdDogYW55LFxuICAgIGdyb3Vwczogc3RyaW5nW11cbiAgKTogYW55ID0+IHtcbiAgICBpZiAoZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuXG4gICAgICBvYmplY3QuY2hpbGRyZW4gPSBvYmplY3QuY2hpbGRyZW4gPz8ge307XG4gICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdID0gb2JqZWN0LmNoaWxkcmVuW2dyb3VwXSA/PyB7fTtcblxuICAgICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9iamVjdC5jaGlsZHJlbltncm91cF0uaW5wdXRzICYmXG4gICAgICAgICAgb2JqZWN0LmNoaWxkcmVuW2dyb3VwXS5pbnB1dHMubGVuZ3RoID4gMFxuICAgICAgICApIHtcbiAgICAgICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLmlucHV0cy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLmlucHV0cyA9IFt2YWx1ZV07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXBwZW5kR3JvdXAodmFsdWUsIG9iamVjdC5jaGlsZHJlbltncm91cF0sIGdyb3Vwcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfTtcblxuICAvKipcbiAgICogSW50ZXJhdGVzIG92ZXIgaW5wdXRzLCBncmFicyBjb25maWctZ3JvdXAgdHlwZXMgdmFsdWVzIGZvciBlYWNoIG9uZS5cbiAgICogQmFzZWQgb24gZ3JvdXBpbmcgdHlwZXMsIGluaXRpYWxpemVzIHRoZSBzdHJ1Y3R1cmUgZ3JvdXBlZCBzdHJ1Y3R1cmUuXG4gICAqL1xuICBjb25zdCBleGVjdXRlID0gKGlucHV0czogUGx1Z2luUGFyYW1zW10sIGNvbmZpZzogR3JvdXBCeUNvbmZpZykgPT5cbiAgICBpbnB1dHMucmVkdWNlKChhY2MsIGlucHV0KSA9PiB7XG4gICAgICBjb25zdCBncm91cHMgPSBjb25maWcuZ3JvdXAubWFwKGdyb3VwVHlwZSA9PiB7XG4gICAgICAgIGlmICghaW5wdXRbZ3JvdXBUeXBlXSkge1xuICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkR3JvdXBpbmcoSU5WQUxJRF9HUk9VUF9CWShncm91cFR5cGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbnB1dFtncm91cFR5cGVdO1xuICAgICAgfSk7XG5cbiAgICAgIGFjYyA9IHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5hcHBlbmRHcm91cChpbnB1dCwgYWNjLCBncm91cHMpLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBhbnkpLmNoaWxkcmVuO1xuXG4gIHJldHVybiB7bWV0YWRhdGEsIGV4ZWN1dGV9O1xufTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZ3JvdXAtYnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNCO0FBRXRCLHNDQUFrQztBQUtsQywyQ0FBc0M7QUFDdEMscURBQTZDO0FBRTdDLE1BQU0sRUFBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUU1RCxNQUFNLEVBQUMsZ0JBQWdCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRW5DOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsR0FBa0IsRUFBRTtJQUN6QyxNQUFNLFFBQVEsR0FBRztRQUNmLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sV0FBVyxHQUFHLENBQ2xCLEtBQW1CLEVBQ25CLE1BQVcsRUFDWCxNQUFnQixFQUNYLEVBQUU7UUFDUCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQVksQ0FBQztZQUV2QyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFdEQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU07b0JBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3hDO29CQUNBLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDM0M7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekM7YUFDRjtZQUVELFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBc0IsRUFBRSxNQUFxQixFQUFFLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUMzQixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDN0Q7WUFFRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILEdBQUcsR0FBRztZQUNKLEdBQUcsR0FBRztZQUNOLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDO1NBQ25DLENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFTLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFekI7O09BRUc7SUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDM0Q7UUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3RCLEtBQUssRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHNCQUFRLEVBQXlCLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUM7SUFFRixPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQTNFVyxRQUFBLE9BQU8sV0EyRWxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7R3JvdXBCeVBsdWdpbiwgUGx1Z2luUGFyYW1zfSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHtHcm91cEJ5Q29uZmlnfSBmcm9tICcuLi90eXBlcy9ncm91cC1ieSc7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi91dGlsL3ZhbGlkYXRpb25zJztcblxuY29uc3Qge0ludmFsaWRHcm91cGluZ0Vycm9yLCBJbnB1dFZhbGlkYXRpb25FcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtJTlZBTElEX0dST1VQX0JZfSA9IFNUUklOR1M7XG5cbi8qKlxuICogUGx1Z2luIGZvciBpbnB1dHMgZ3JvdXBpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBHcm91cEJ5ID0gKCk6IEdyb3VwQnlQbHVnaW4gPT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IHtcbiAgICBraW5kOiAnZ3JvdXBieScsXG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgc3RydWN0dXJlIHRvIGluc2VydCBpbnB1dHMgYnkgZ3JvdXBzLlxuICAgKi9cbiAgY29uc3QgYXBwZW5kR3JvdXAgPSAoXG4gICAgdmFsdWU6IFBsdWdpblBhcmFtcyxcbiAgICBvYmplY3Q6IGFueSxcbiAgICBncm91cHM6IHN0cmluZ1tdXG4gICk6IGFueSA9PiB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBncm91cCA9IGdyb3Vwcy5zaGlmdCgpIGFzIHN0cmluZztcblxuICAgICAgb2JqZWN0LmNoaWxkcmVuID0gb2JqZWN0LmNoaWxkcmVuID8/IHt9O1xuICAgICAgb2JqZWN0LmNoaWxkcmVuW2dyb3VwXSA9IG9iamVjdC5jaGlsZHJlbltncm91cF0gPz8ge307XG5cbiAgICAgIGlmIChncm91cHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLmlucHV0cyAmJlxuICAgICAgICAgIG9iamVjdC5jaGlsZHJlbltncm91cF0uaW5wdXRzLmxlbmd0aCA+IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgb2JqZWN0LmNoaWxkcmVuW2dyb3VwXS5pbnB1dHMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JqZWN0LmNoaWxkcmVuW2dyb3VwXS5pbnB1dHMgPSBbdmFsdWVdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGFwcGVuZEdyb3VwKHZhbHVlLCBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLCBncm91cHMpO1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH07XG5cbiAgLyoqXG4gICAqIEludGVyYXRlcyBvdmVyIGlucHV0cywgZ3JhYnMgY29uZmlnLWdyb3VwIHR5cGVzIHZhbHVlcyBmb3IgZWFjaCBvbmUuXG4gICAqIEJhc2VkIG9uIGdyb3VwaW5nIHR5cGVzLCBpbml0aWFsaXplcyB0aGUgc3RydWN0dXJlIGdyb3VwZWQgc3RydWN0dXJlLlxuICAgKi9cbiAgY29uc3QgZXhlY3V0ZSA9IChpbnB1dHM6IFBsdWdpblBhcmFtc1tdLCBjb25maWc6IEdyb3VwQnlDb25maWcpID0+XG4gICAgaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGVkQ29uZmlnID0gdmFsaWRhdGVDb25maWcoY29uZmlnKTtcbiAgICAgIGNvbnN0IGdyb3VwcyA9IHZhbGlkYXRlZENvbmZpZy5ncm91cC5tYXAoZ3JvdXBUeXBlID0+IHtcbiAgICAgICAgaWYgKCFpbnB1dFtncm91cFR5cGVdKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRHcm91cGluZ0Vycm9yKElOVkFMSURfR1JPVVBfQlkoZ3JvdXBUeXBlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaW5wdXRbZ3JvdXBUeXBlXTtcbiAgICAgIH0pO1xuXG4gICAgICBhY2MgPSB7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgLi4uYXBwZW5kR3JvdXAoaW5wdXQsIGFjYywgZ3JvdXBzKSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgYW55KS5jaGlsZHJlbjtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIGNvbmZpZyBwYXJhbWV0ZXIuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZUNvbmZpZyA9IChjb25maWc6IEdyb3VwQnlDb25maWcpID0+IHtcbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKCdDb25maWcgaXMgbm90IHByb3ZpZGVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIGdyb3VwOiB6LmFycmF5KHouc3RyaW5nKCkpLm1pbigxKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIGNvbmZpZyk7XG4gIH07XG5cbiAgcmV0dXJuIHttZXRhZGF0YSwgZXhlY3V0ZX07XG59O1xuIl19
@@ -8,6 +8,7 @@ const parameterize_1 = require("../lib/parameterize");
8
8
  const errors_1 = require("../util/errors");
9
9
  const config_1 = require("../config");
10
10
  const validations_1 = require("../util/validations");
11
+ luxon_1.Settings.defaultZone = 'utc';
11
12
  const { InputValidationError } = errors_1.ERRORS;
12
13
  const { INVALID_TIME_NORMALIZATION, INVALID_OBSERVATION_OVERLAP, AVOIDING_PADDING_BY_EDGES, } = config_1.STRINGS;
13
14
  const TimeSync = (globalConfig) => {
@@ -301,4 +302,4 @@ const TimeSync = (globalConfig) => {
301
302
  return { metadata, execute };
302
303
  };
303
304
  exports.TimeSync = TimeSync;
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWx0aW5zL3RpbWUtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsaUNBQTZEO0FBQzdELDZCQUFzQjtBQUV0QixzREFBaUQ7QUFFakQsMkNBQXNDO0FBRXRDLHNDQUFrQztBQVFsQyxxREFBNkM7QUFFN0MsTUFBTSxFQUFDLG9CQUFvQixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRXRDLE1BQU0sRUFDSiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHlCQUF5QixHQUMxQixHQUFHLGdCQUFPLENBQUM7QUFFTCxNQUFNLFFBQVEsR0FBRyxDQUFDLFlBQWtDLEVBQWlCLEVBQUU7SUFDNUUsTUFBTSxRQUFRLEdBQUc7UUFDZixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQXNCLEVBQWtCLEVBQUU7UUFDekQsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRztZQUNqQixTQUFTLEVBQUUsZ0JBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFELE9BQU8sRUFBRSxnQkFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEQsUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRO1lBQ2xDLFlBQVksRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDO1NBQy9DLENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELGVBQWUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFakMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFF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USxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0QsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUU7WUFDckQsS0FBSyxDQUFDLElBQUksQ0FDUixvQkFBb0IsQ0FDbEIsYUFBYTtZQUNiLGlEQUFpRDtZQUNqRCxpREFBaUQ7WUFDakQsb0RBQW9EO1lBQ3BELFFBQVEsQ0FBQyxLQUFLLElBQUksZ0JBQVEsQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FDbkUsQ0FDRixDQUFDO1NBQ0g7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxNQUFzQixFQUN0QixNQUFrQixFQUNGLEVBQUU7UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDO1lBRXpCLElBQ0UsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTO2dCQUN4QyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFDdEM7Z0JBQ0EsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQjtZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQW9CLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQTlaVyxRQUFBLFFBQVEsWUE4Wm5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0RhdGV9IGZyb20gJ25vZGU6dXRpbC90eXBlcyc7XG5pbXBvcnQge0RhdGVUaW1lLCBEYXRlVGltZU1heWJlVmFsaWQsIEludGVydmFsfSBmcm9tICdsdXhvbic7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyYW1ldGVyaXplfSBmcm9tICcuLi9saWIvcGFyYW1ldGVyaXplJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0V4ZWN1dGVQbHVnaW4sIFBsdWdpblBhcmFtc30gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFBhZGRpbmdSZWNlaXB0LFxuICBUaW1lTm9ybWFsaXplckNvbmZpZyxcbiAgVGltZVBhcmFtcyxcbn0gZnJvbSAnLi4vdHlwZXMvdGltZS1zeW5jJztcbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uL3V0aWwvdmFsaWRhdGlvbnMnO1xuXG5jb25zdCB7SW5wdXRWYWxpZGF0aW9uRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7XG4gIElOVkFMSURfVElNRV9OT1JNQUxJWkFUSU9OLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVAsXG4gIEFWT0lESU5HX1BBRERJTkdfQllfRURHRVMsXG59ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IFRpbWVTeW5jID0gKGdsb2JhbENvbmZpZzogVGltZU5vcm1hbGl6ZXJDb25maWcpOiBFeGVjdXRlUGx1Z2luID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAga2luZDogJ2V4ZWN1dGUnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBUYWtlIGlucHV0IGFycmF5IGFuZCByZXR1cm4gdGltZS1zeW5jaHJvbml6ZWQgaW5wdXQgYXJyYXkuXG4gICAqL1xuICBjb25zdCBleGVjdXRlID0gKGlucHV0czogUGx1Z2luUGFyYW1zW10pOiBQbHVnaW5QYXJhbXNbXSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdGVkQ29uZmlnID0gdmFsaWRhdGVHbG9iYWxDb25maWcoKTtcbiAgICBjb25zdCB0aW1lUGFyYW1zID0ge1xuICAgICAgc3RhcnRUaW1lOiBEYXRlVGltZS5mcm9tSVNPKHZhbGlkYXRlZENvbmZpZ1snc3RhcnQtdGltZSddKSxcbiAgICAgIGVuZFRpbWU6IERhdGVUaW1lLmZyb21JU08odmFsaWRhdGVkQ29uZmlnWydlbmQtdGltZSddKSxcbiAgICAgIGludGVydmFsOiB2YWxpZGF0ZWRDb25maWcuaW50ZXJ2YWwsXG4gICAgICBhbGxvd1BhZGRpbmc6IHZhbGlkYXRlZENvbmZpZ1snYWxsb3ctcGFkZGluZyddLFxuICAgIH07XG5cbiAgICBjb25zdCBwYWQgPSBjaGVja0ZvclBhZGRpbmcoaW5wdXRzLCB0aW1lUGFyYW1zKTtcbiAgICB2YWxpZGF0ZVBhZGRpbmcocGFkLCB0aW1lUGFyYW1zKTtcblxuICAgIGNvbnN0IHBhZGRlZElucHV0cyA9IHBhZElucHV0cyhpbnB1dHMsIHBhZCwgdGltZVBhcmFtcyk7XG5cbiAgICBjb25zdCBmbGF0dGVuSW5wdXRzID0gcGFkZGVkSW5wdXRzLnJlZHVjZShcbiAgICAgIChhY2M6IFBsdWdpblBhcmFtc1tdLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qgc2FmZUlucHV0ID0gT2JqZWN0LmFzc2lnbih7fSwgaW5wdXQsIHZhbGlkYXRlSW5wdXQoaW5wdXQsIGluZGV4KSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb21lbnQgPSBwYXJzZURhdGUoc2FmZUlucHV0LnRpbWVzdGFtcCk7XG5cbiAgICAgICAgLyoqIENoZWNrcyBpZiBub3QgdGhlIGZpcnN0IGlucHV0LCB0aGVuIGNoZWNrIGNvbnNpc3RlbmN5IHdpdGggcHJldmlvdXMgb25lcy4gKi9cbiAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzSW5wdXQgPSBwYWRkZWRJbnB1dHNbaW5kZXggLSAxXTtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c0lucHV0VGltZXN0YW1wID0gcGFyc2VEYXRlKHByZXZpb3VzSW5wdXQudGltZXN0YW1wKTtcblxuICAgICAgICAgIC8qKiBDaGVja3MgZm9yIHRpbWVzdGFtcHMgb3ZlcmxhcC4gKi9cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBwYXJzZURhdGUocHJldmlvdXNJbnB1dC50aW1lc3RhbXApLnBsdXMoe1xuICAgICAgICAgICAgICBzZWNvbmRzOiBwcmV2aW91c0lucHV0LmR1cmF0aW9uLFxuICAgICAgICAgICAgfSkgPiBjdXJyZW50TW9tZW50XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW5wdXRWYWxpZGF0aW9uRXJyb3IoSU5WQUxJRF9PQlNFUlZBVElPTl9PVkVSTEFQKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjb21wYXJlYWJsZVRpbWUgPSBwcmV2aW91c0lucHV0VGltZXN0YW1wLnBsdXMoe1xuICAgICAgICAgICAgc2Vjb25kczogcHJldmlvdXNJbnB1dC5kdXJhdGlvbixcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHRpbWVsaW5lR2FwU2l6ZSA9IGN1cnJlbnRNb21lbnRcbiAgICAgICAgICAgIC5kaWZmKGNvbXBhcmVhYmxlVGltZSlcbiAgICAgICAgICAgIC5hcygnc2Vjb25kcycpO1xuXG4gICAgICAgICAgLyoqIENoZWNrcyBpZiB0aGVyZSBpcyBnYXAgaW4gdGltZWxpbmUuICovXG4gICAgICAgICAgaWYgKHRpbWVsaW5lR2FwU2l6ZSA+IDEpIHtcbiAgICAgICAgICAgIGFjYy5wdXNoKFxuICAgICAgICAgICAgICAuLi5nZXRaZXJvaXNoSW5wdXRQZXJTZWNvbmRCZXR3ZWVuUmFuZ2UoXG4gICAgICAgICAgICAgICAgY29tcGFyZWFibGVUaW1lLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRNb21lbnQsXG4gICAgICAgICAgICAgICAgc2FmZUlucHV0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qKiBCcmVhayBkb3duIGN1cnJlbnQgb2JzZXJ2YXRpb24uICovXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2FmZUlucHV0LmR1cmF0aW9uOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBub3JtYWxpemVkSW5wdXQgPSBicmVha0Rvd25JbnB1dChzYWZlSW5wdXQsIGkpO1xuXG4gICAgICAgICAgYWNjLnB1c2gobm9ybWFsaXplZElucHV0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmltSW5wdXRzQnlHbG9iYWxUaW1lbGluZShhY2MsIHRpbWVQYXJhbXMpO1xuICAgICAgfSxcbiAgICAgIFtdIGFzIFBsdWdpblBhcmFtc1tdXG4gICAgKTtcblxuICAgIGNvbnN0IHNvcnRlZElucHV0cyA9IGZsYXR0ZW5JbnB1dHMuc29ydCgoYSwgYikgPT5cbiAgICAgIHBhcnNlRGF0ZShhLnRpbWVzdGFtcCkuZGlmZihwYXJzZURhdGUoYi50aW1lc3RhbXApKS5hcygnc2Vjb25kcycpXG4gICAgKTtcblxuICAgIHJldHVybiByZXNhbXBsZUlucHV0cyhzb3J0ZWRJbnB1dHMsIHRpbWVQYXJhbXMpIGFzIFBsdWdpblBhcmFtc1tdO1xuICB9O1xuXG4gIGNvbnN0IHBhcnNlRGF0ZSA9IChkYXRlOiBEYXRlIHwgc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFkYXRlKSByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgnSW52YWxpZCBkYXRlJyk7XG4gICAgLy8gZGF0ZXMgYXJlIHBhc3NlZCB0byB0aW1lLXN5bmMudHMgYm90aCBpbiBJU08gODYwMSBmb3JtYXRcbiAgICAvLyBhbmQgYXMgYSBEYXRlIG9iamVjdCAoZnJvbSB0aGUgZGVzZXJpYWxpemF0aW9uIG9mIGEgWUFNTCBmaWxlKVxuICAgIC8vIGlmIHRoZSBZQU1MIHBhcnNlciBmYWlscyB0byBpZGVudGlmeSBhcyBhIGRhdGUsIGl0IHBhc3NlcyBhcyBhIHN0cmluZ1xuICAgIGlmIChpc0RhdGUoZGF0ZSkpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tSlNEYXRlKGRhdGUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUlTTyhkYXRlKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgYFVuZXhwZWN0ZWQgZGF0ZSBkYXRhdHlwZTogJHt0eXBlb2YgZGF0ZX06ICR7ZGF0ZX1gXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIGlucHV0IHBhcmFtZXRlcnMuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZUlucHV0ID0gKGlucHV0OiBQbHVnaW5QYXJhbXMsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBzY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICB0aW1lc3RhbXA6IHpcbiAgICAgICAgLnN0cmluZyh7XG4gICAgICAgICAgcmVxdWlyZWRfZXJyb3I6IGByZXF1aXJlZCBpbiBpbnB1dFske2luZGV4fV1gLFxuICAgICAgICB9KVxuICAgICAgICAuZGF0ZXRpbWUoe1xuICAgICAgICAgIG1lc3NhZ2U6IGBpbnZhbGlkIGRhdGV0aW1lIGluIGlucHV0WyR7aW5kZXh9XWAsXG4gICAgICAgIH0pXG4gICAgICAgIC5vcih6LmRhdGUoKSksXG4gICAgICBkdXJhdGlvbjogei5udW1iZXIoKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIGlucHV0KTtcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIGdsb2JhbCBjb25maWcgcGFyYW1ldGVycy5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlR2xvYmFsQ29uZmlnID0gKCkgPT4ge1xuICAgIGlmIChnbG9iYWxDb25maWcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKElOVkFMSURfVElNRV9OT1JNQUxJWkFUSU9OKTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlbWEgPSB6XG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgJ3N0YXJ0LXRpbWUnOiB6LnN0cmluZygpLmRhdGV0aW1lKCksXG4gICAgICAgICdlbmQtdGltZSc6IHouc3RyaW5nKCkuZGF0ZXRpbWUoKSxcbiAgICAgICAgaW50ZXJ2YWw6IHoubnVtYmVyKCksXG4gICAgICAgICdhbGxvdy1wYWRkaW5nJzogei5ib29sZWFuKCksXG4gICAgICB9KVxuICAgICAgLnJlZmluZShkYXRhID0+IGRhdGFbJ3N0YXJ0LXRpbWUnXSA8IGRhdGFbJ2VuZC10aW1lJ10sIHtcbiAgICAgICAgbWVzc2FnZTogJ2BzdGFydC10aW1lYCBzaG91bGQgYmUgbG93ZXIgdGhhbiBgZW5kLXRpbWVgJyxcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIHNjaGVtYT4+KHNjaGVtYSwgZ2xvYmFsQ29uZmlnKTtcbiAgfTtcblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyBtaW5pbWFsIGZhY3Rvci5cbiAgICovXG4gIGNvbnN0IGNvbnZlcnRQZXJJbnRlcnZhbCA9ICh2YWx1ZTogbnVtYmVyLCBkdXJhdGlvbjogbnVtYmVyKSA9PlxuICAgIHZhbHVlIC8gZHVyYXRpb247XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSB0aW1lIHBlciBnaXZlbiBzZWNvbmQuXG4gICAqL1xuICBjb25zdCBub3JtYWxpemVUaW1lUGVyU2Vjb25kID0gKFxuICAgIGN1cnJlbnRSb3VuZE1vbWVudDogRGF0ZSB8IHN0cmluZyxcbiAgICBpOiBudW1iZXJcbiAgKSA9PiB7XG4gICAgY29uc3QgdGhpc01vbWVudCA9IHBhcnNlRGF0ZShjdXJyZW50Um91bmRNb21lbnQpLnN0YXJ0T2YoJ3NlY29uZCcpO1xuICAgIHJldHVybiB0aGlzTW9tZW50LnBsdXMoe3NlY29uZHM6IGl9KTtcbiAgfTtcbiAgLyoqXG4gICAqIEJyZWFrcyBkb3duIGlucHV0IHBlciBtaW5pbWFsIHRpbWUgdW5pdC5cbiAgICovXG4gIGNvbnN0IGJyZWFrRG93bklucHV0ID0gKGlucHV0OiBQbHVnaW5QYXJhbXMsIGk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGlucHV0S2V5cyA9IE9iamVjdC5rZXlzKGlucHV0KTtcblxuICAgIHJldHVybiBpbnB1dEtleXMucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKGtleSk7XG5cbiAgICAgIGlmIChrZXkgPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgIGNvbnN0IHBlclNlY29uZCA9IG5vcm1hbGl6ZVRpbWVQZXJTZWNvbmQoaW5wdXQudGltZXN0YW1wLCBpKTtcbiAgICAgICAgYWNjW2tleV0gPSBwZXJTZWNvbmQudG9VVEMoKS50b0lTTygpID8/ICcnO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIC8qKiBAdG9kbyB1c2UgdXNlciBkZWZpbmVkIHJlc29sdXRpb24gbGF0ZXIgKi9cbiAgICAgIGlmIChrZXkgPT09ICdkdXJhdGlvbicpIHtcbiAgICAgICAgYWNjW2tleV0gPSAxO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIGFjY1trZXldID1cbiAgICAgICAgbWV0aG9kID09PSAnc3VtJ1xuICAgICAgICAgID8gY29udmVydFBlckludGVydmFsKGlucHV0W2tleV0sIGlucHV0WydkdXJhdGlvbiddKVxuICAgICAgICAgIDogaW5wdXRba2V5XTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBQbHVnaW5QYXJhbXMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQb3B1bGF0ZXMgb2JqZWN0IHRvIGZpbGwgdGhlIGdhcHMgaW4gb2JzZXJ2YXRpb25hbCB0aW1lbGluZSB1c2luZyB6ZXJvaXNoIHZhbHVlcy5cbiAgICovXG4gIGNvbnN0IGZpbGxXaXRoWmVyb2lzaElucHV0ID0gKFxuICAgIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gICAgbWlzc2luZ1RpbWVzdGFtcDogRGF0ZVRpbWVNYXliZVZhbGlkXG4gICkgPT4ge1xuICAgIGNvbnN0IG1ldHJpY3MgPSBPYmplY3Qua2V5cyhpbnB1dCk7XG5cbiAgICByZXR1cm4gbWV0cmljcy5yZWR1Y2UoKGFjYywgbWV0cmljKSA9PiB7XG4gICAgICBpZiAobWV0cmljID09PSAndGltZXN0YW1wJykge1xuICAgICAgICBhY2NbbWV0cmljXSA9IG1pc3NpbmdUaW1lc3RhbXAuc3RhcnRPZignc2Vjb25kJykudG9VVEMoKS50b0lTTygpID8/ICcnO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIC8qKiBAdG9kbyBsYXRlciB3aWxsIGJlIGNoYW5nZWQgdG8gdXNlciBkZWZpbmVkIGludGVydmFsICovXG4gICAgICBpZiAobWV0cmljID09PSAnZHVyYXRpb24nKSB7XG4gICAgICAgIGFjY1ttZXRyaWNdID0gMTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0cmljID09PSAndGltZS1yZXNlcnZlZCcpIHtcbiAgICAgICAgYWNjW21ldHJpY10gPSBhY2NbJ2R1cmF0aW9uJ107XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICAgIGlmIChtZXRob2QgPT09ICdhdmcnIHx8IG1ldGhvZCA9PT0gJ3N1bScpIHtcbiAgICAgICAgYWNjW21ldHJpY10gPSAwO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIGFjY1ttZXRyaWNdID0gaW5wdXRbbWV0cmljXTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBQbHVnaW5QYXJhbXMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYGVycm9yIG9uIHBhZGRpbmdgIGlzIGVuYWJsZWQgYW5kIHBhZGRpbmcgaXMgbmVlZGVkLiBJZiBzbywgdGhlbiB0aHJvd3MgZXJyb3IuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZVBhZGRpbmcgPSAocGFkOiBQYWRkaW5nUmVjZWlwdCwgcGFyYW1zOiBUaW1lUGFyYW1zKTogdm9pZCA9PiB7XG4gICAgY29uc3Qge3N0YXJ0LCBlbmR9ID0gcGFkO1xuICAgIGNvbnN0IGlzUGFkZGluZ05lZWRlZCA9IHN0YXJ0IHx8IGVuZDtcbiAgICBpZiAoIXBhcmFtcy5hbGxvd1BhZGRpbmcgJiYgaXNQYWRkaW5nTmVlZGVkKSB7XG4gICAgICB0aHJvdyBuZXcgSW5wdXRWYWxpZGF0aW9uRXJyb3IoQVZPSURJTkdfUEFERElOR19CWV9FREdFUyhzdGFydCwgZW5kKSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgcGFkZGluZyBpcyBuZWVkZWQgZWl0aGVyIGF0IHN0YXJ0IG9mIHRoZSB0aW1lbGluZSBvciB0aGUgZW5kIGFuZCByZXR1cm5zIHN0YXR1cy5cbiAgICovXG4gIGNvbnN0IGNoZWNrRm9yUGFkZGluZyA9IChcbiAgICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICAgIHBhcmFtczogVGltZVBhcmFtc1xuICApOiBQYWRkaW5nUmVjZWlwdCA9PiB7XG4gICAgY29uc3Qgc3RhcnREaWZmSW5TZWNvbmRzID0gcGFyc2VEYXRlKGlucHV0c1swXS50aW1lc3RhbXApXG4gICAgICAuZGlmZihwYXJhbXMuc3RhcnRUaW1lKVxuICAgICAgLmFzKCdzZWNvbmRzJyk7XG5cbiAgICBjb25zdCBsYXN0SW5wdXQgPSBpbnB1dHNbaW5wdXRzLmxlbmd0aCAtIDFdO1xuXG4gICAgY29uc3QgZW5kRGlmZkluU2Vjb25kcyA9IHBhcnNlRGF0ZShsYXN0SW5wdXQudGltZXN0YW1wKVxuICAgICAgLnBsdXMoe3NlY29uZDogbGFzdElucHV0LmR1cmF0aW9ufSlcbiAgICAgIC5kaWZmKHBhcmFtcy5lbmRUaW1lKVxuICAgICAgLmFzKCdzZWNvbmRzJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnQ6IHN0YXJ0RGlmZkluU2Vjb25kcyA+IDAsXG4gICAgICBlbmQ6IGVuZERpZmZJblNlY29uZHMgPCAwLFxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIEl0ZXJhdGVzIG92ZXIgZ2l2ZW4gaW5wdXRzIGZyYW1lLCBtZWFud2hpbGUgY2hlY2tpbmcgaWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBzdW1gLCB0aGVuIGNhbGN1bGF0ZXMgaXQuXG4gICAqIEZvciBtZXRob2RzIGlzIGBhdmdgIGFuZCBgbm9uZWAgY2FsY3VsYXRpbmcgYXZlcmFnZSBvZiB0aGUgZnJhbWUuXG4gICAqL1xuICBjb25zdCByZXNhbXBsZUlucHV0RnJhbWUgPSAoaW5wdXRzSW5UaW1lc2xvdDogUGx1Z2luUGFyYW1zW10pID0+IHtcbiAgICByZXR1cm4gaW5wdXRzSW5UaW1lc2xvdC5yZWR1Y2UoKGFjYywgaW5wdXQsIGluZGV4LCBpbnB1dHMpID0+IHtcbiAgICAgIGNvbnN0IG1ldHJpY3MgPSBPYmplY3Qua2V5cyhpbnB1dCk7XG5cbiAgICAgIG1ldHJpY3MuZm9yRWFjaChtZXRyaWMgPT4ge1xuICAgICAgICBjb25zdCBtZXRob2QgPSBwYXJhbWV0ZXJpemUuZ2V0QWdncmVnYXRpb25NZXRob2QobWV0cmljKTtcbiAgICAgICAgYWNjW21ldHJpY10gPSBhY2NbbWV0cmljXSA/PyAwO1xuXG4gICAgICAgIGlmIChtZXRyaWMgPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gPSBpbnB1dHNbMF1bbWV0cmljXTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRob2QgPT09ICdzdW0nKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gKz0gaW5wdXRbbWV0cmljXTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRob2QgPT09ICdub25lJykge1xuICAgICAgICAgIGFjY1ttZXRyaWNdID0gaW5wdXRbbWV0cmljXTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aW1lc2xvdCBjb250YWlucyByZWNvcmRzIG1vcmUgdGhhbiBvbmUsIHRoZW4gZGl2aWRlIGVhY2ggbWV0cmljIGJ5IHRoZSB0aW1lc2xvdCBsZW5ndGgsXG4gICAgICAgICAqICBzbyB0aGF0IHRoZWlyIHN1bSB5aWVsZHMgdGhlIHRpbWVzbG90IGF2ZXJhZ2UuXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoXG4gICAgICAgICAgaW5wdXRzSW5UaW1lc2xvdC5sZW5ndGggPiAxICYmXG4gICAgICAgICAgaW5kZXggPT09IGlucHV0c0luVGltZXNsb3QubGVuZ3RoIC0gMVxuICAgICAgICApIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSAvPSBpbnB1dHNJblRpbWVzbG90Lmxlbmd0aDtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGFjY1ttZXRyaWNdICs9IGlucHV0W21ldHJpY107XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBQbHVnaW5QYXJhbXMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUYWtlcyBlYWNoIGFycmF5IGZyYW1lIHdpdGggaW50ZXJ2YWwgbGVuZ3RoLCB0aGVuIGFnZ3JlZ2F0aW5nIHRoZW0gdG9nZXRoZXIgYXMgZnJvbSB1bml0cy55YW1sIGZpbGUuXG4gICAqL1xuICBjb25zdCByZXNhbXBsZUlucHV0cyA9IChpbnB1dHM6IFBsdWdpblBhcmFtc1tdLCBwYXJhbXM6IFRpbWVQYXJhbXMpID0+IHtcbiAgICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjOiBQbHVnaW5QYXJhbXNbXSwgX2lucHV0LCBpbmRleCwgaW5wdXRzKSA9PiB7XG4gICAgICBjb25zdCBmcmFtZVN0YXJ0ID0gaW5kZXggKiBwYXJhbXMuaW50ZXJ2YWw7XG4gICAgICBjb25zdCBmcmFtZUVuZCA9IChpbmRleCArIDEpICogcGFyYW1zLmludGVydmFsO1xuICAgICAgY29uc3QgaW5wdXRzRnJhbWUgPSBpbnB1dHMuc2xpY2UoZnJhbWVTdGFydCwgZnJhbWVFbmQpO1xuXG4gICAgICBjb25zdCByZXNhbXBsZWRJbnB1dCA9IHJlc2FtcGxlSW5wdXRGcmFtZShpbnB1dHNGcmFtZSk7XG5cbiAgICAgIC8qKiBDaGVja3MgaWYgcmVzYW1wbGVkIGlucHV0IGlzIG5vdCBlbXB0eSwgdGhlbiBpbmNsdWRlcyBpbiByZXN1bHQuICovXG4gICAgICBpZiAoT2JqZWN0LmtleXMocmVzYW1wbGVkSW5wdXQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYWNjLnB1c2gocmVzYW1wbGVkSW5wdXQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdIGFzIFBsdWdpblBhcmFtc1tdKTtcbiAgfTtcblxuICAvKipcbiAgICogUGFkcyB6ZXJvaXNoIGlucHV0cyBmcm9tIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiB0aGUgaW5wdXRzIGlmIG5lZWRlZC5cbiAgICovXG4gIGNvbnN0IHBhZElucHV0cyA9IChcbiAgICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICAgIHBhZDogUGFkZGluZ1JlY2VpcHQsXG4gICAgcGFyYW1zOiBUaW1lUGFyYW1zXG4gICk6IFBsdWdpblBhcmFtc1tdID0+IHtcbiAgICBjb25zdCB7c3RhcnQsIGVuZH0gPSBwYWQ7XG4gICAgY29uc3QgcGFkZGVkRnJvbUJlZ2lubmluZyA9IFtdO1xuXG4gICAgaWYgKHN0YXJ0KSB7XG4gICAgICBwYWRkZWRGcm9tQmVnaW5uaW5nLnB1c2goXG4gICAgICAgIC4uLmdldFplcm9pc2hJbnB1dFBlclNlY29uZEJldHdlZW5SYW5nZShcbiAgICAgICAgICBwYXJhbXMuc3RhcnRUaW1lLFxuICAgICAgICAgIHBhcnNlRGF0ZShpbnB1dHNbMF0udGltZXN0YW1wKSxcbiAgICAgICAgICBpbnB1dHNbMF1cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWRkZWRBcnJheSA9IHBhZGRlZEZyb21CZWdpbm5pbmcuY29uY2F0KGlucHV0cyk7XG5cbiAgICBpZiAoZW5kKSB7XG4gICAgICBjb25zdCBsYXN0SW5wdXQgPSBpbnB1dHNbaW5wdXRzLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgbGFzdElucHV0RW5kID0gcGFyc2VEYXRlKGxhc3RJbnB1dC50aW1lc3RhbXApLnBsdXMoe1xuICAgICAgICBzZWNvbmRzOiBsYXN0SW5wdXQuZHVyYXRpb24sXG4gICAgICB9KTtcbiAgICAgIHBhZGRlZEFycmF5LnB1c2goXG4gICAgICAgIC4uLmdldFplcm9pc2hJbnB1dFBlclNlY29uZEJldHdlZW5SYW5nZShcbiAgICAgICAgICBsYXN0SW5wdXRFbmQsXG4gICAgICAgICAgcGFyYW1zLmVuZFRpbWUucGx1cyh7c2Vjb25kczogMX0pLFxuICAgICAgICAgIGxhc3RJbnB1dFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcGFkZGVkQXJyYXk7XG4gIH07XG5cbiAgY29uc3QgZ2V0WmVyb2lzaElucHV0UGVyU2Vjb25kQmV0d2VlblJhbmdlID0gKFxuICAgIHN0YXJ0RGF0ZTogRGF0ZVRpbWVNYXliZVZhbGlkLFxuICAgIGVuZERhdGU6IERhdGVUaW1lTWF5YmVWYWxpZCxcbiAgICB0ZW1wbGF0ZUlucHV0OiBQbHVnaW5QYXJhbXNcbiAgKSA9PiB7XG4gICAgY29uc3QgYXJyYXk6IFBsdWdpblBhcmFtc1tdID0gW107XG4gICAgY29uc3QgZGF0ZVJhbmdlID0gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIGZvciAoY29uc3QgaW50ZXJ2YWwgb2YgZGF0ZVJhbmdlLnNwbGl0Qnkoe3NlY29uZDogMX0pKSB7XG4gICAgICBhcnJheS5wdXNoKFxuICAgICAgICBmaWxsV2l0aFplcm9pc2hJbnB1dChcbiAgICAgICAgICB0ZW1wbGF0ZUlucHV0LFxuICAgICAgICAgIC8vIGFzIGZhciBhcyBJIGNhbiB0ZWxsLCBzdGFydCB3aWxsIG5ldmVyIGJlIG51bGxcbiAgICAgICAgICAvLyBiZWNhdXNlIGlmIHdlIHBhc3MgYW4gaW52YWxpZCBzdGFydC9lbmREYXRlIHRvXG4gICAgICAgICAgLy8gSW50ZXJ2YWwsIHdlIGdldCBhIHplcm8gbGVuZ3RoIGFycmF5IGFzIHRoZSByYW5nZVxuICAgICAgICAgIGludGVydmFsLnN0YXJ0IHx8IERhdGVUaW1lLmludmFsaWQoJ25vdCBleHBlY3RlZCAtIHN0YXJ0IGlzIG51bGwnKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH07XG5cbiAgLypcbiAgICogQ2hlY2tzIGlmIGlucHV0J3MgdGltZXN0YW1wIGlzIGluY2x1ZGVkIGluIGdsb2JhbCBzcGVjaWZpZWQgcGVyaW9kIHRoZW4gbGVhdmVzIGl0LCBvdGhlcndpc2UuXG4gICAqL1xuICBjb25zdCB0cmltSW5wdXRzQnlHbG9iYWxUaW1lbGluZSA9IChcbiAgICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICAgIHBhcmFtczogVGltZVBhcmFtc1xuICApOiBQbHVnaW5QYXJhbXNbXSA9PiB7XG4gICAgcmV0dXJuIGlucHV0cy5yZWR1Y2UoKGFjYzogUGx1Z2luUGFyYW1zW10sIGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHt0aW1lc3RhbXB9ID0gaXRlbTtcblxuICAgICAgaWYgKFxuICAgICAgICBwYXJzZURhdGUodGltZXN0YW1wKSA+PSBwYXJhbXMuc3RhcnRUaW1lICYmXG4gICAgICAgIHBhcnNlRGF0ZSh0aW1lc3RhbXApIDw9IHBhcmFtcy5lbmRUaW1lXG4gICAgICApIHtcbiAgICAgICAgYWNjLnB1c2goaXRlbSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgUGx1Z2luUGFyYW1zW10pO1xuICB9O1xuXG4gIHJldHVybiB7bWV0YWRhdGEsIGV4ZWN1dGV9O1xufTtcbiJdfQ==
305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWx0aW5zL3RpbWUtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsaUNBQXVFO0FBQ3ZFLDZCQUFzQjtBQUV0QixzREFBaUQ7QUFFakQsMkNBQXNDO0FBRXRDLHNDQUFrQztBQVFsQyxxREFBNkM7QUFFN0MsZ0JBQVEsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0FBRTdCLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUV0QyxNQUFNLEVBQ0osMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQix5QkFBeUIsR0FDMUIsR0FBRyxnQkFBTyxDQUFDO0FBRUwsTUFBTSxRQUFRLEdBQUcsQ0FBQyxZQUFrQyxFQUFpQixFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHO1FBQ2YsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFzQixFQUFrQixFQUFFO1FBQ3pELE1BQU0sZUFBZSxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFDL0MsTUFBTSxVQUFVLEdBQUc7WUFDakIsU0FBUyxFQUFFLGdCQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxRCxPQUFPLEVBQUUsZ0JBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RELFFBQVEsRUFBRSxlQUFlLENBQUMsUUFBUTtZQUNsQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQztTQUMvQyxDQUFDO1FBRUYsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxN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QixFQUFFLENBQUM7UUFDakMsTUFBTSxTQUFTLEdBQUcsZ0JBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFO1lBQ3JELEtBQUssQ0FBQyxJQUFJLENBQ1Isb0JBQW9CLENBQ2xCLGFBQWE7WUFDYixpREFBaUQ7WUFDakQsaURBQWlEO1lBQ2pELG9EQUFvRDtZQUNwRCxRQUFRLENBQUMsS0FBSyxJQUFJLGdCQUFRLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQ25FLENBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sMEJBQTBCLEdBQUcsQ0FDakMsTUFBc0IsRUFDdEIsTUFBa0IsRUFDRixFQUFFO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQztZQUV6QixJQUNFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUztnQkFDeEMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQ3RDO2dCQUNBLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEI7WUFFRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFvQixDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUYsT0FBTyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQztBQUM3QixDQUFDLENBQUM7QUE5WlcsUUFBQSxRQUFRLFlBOFpuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNEYXRlfSBmcm9tICdub2RlOnV0aWwvdHlwZXMnO1xuaW1wb3J0IHtTZXR0aW5ncywgRGF0ZVRpbWUsIERhdGVUaW1lTWF5YmVWYWxpZCwgSW50ZXJ2YWx9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4uL2xpYi9wYXJhbWV0ZXJpemUnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7RXhlY3V0ZVBsdWdpbiwgUGx1Z2luUGFyYW1zfSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgUGFkZGluZ1JlY2VpcHQsXG4gIFRpbWVOb3JtYWxpemVyQ29uZmlnLFxuICBUaW1lUGFyYW1zLFxufSBmcm9tICcuLi90eXBlcy90aW1lLXN5bmMnO1xuaW1wb3J0IHt2YWxpZGF0ZX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cblNldHRpbmdzLmRlZmF1bHRab25lID0gJ3V0Yyc7XG5cbmNvbnN0IHtJbnB1dFZhbGlkYXRpb25FcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtcbiAgSU5WQUxJRF9USU1FX05PUk1BTElaQVRJT04sXG4gIElOVkFMSURfT0JTRVJWQVRJT05fT1ZFUkxBUCxcbiAgQVZPSURJTkdfUEFERElOR19CWV9FREdFUyxcbn0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgVGltZVN5bmMgPSAoZ2xvYmFsQ29uZmlnOiBUaW1lTm9ybWFsaXplckNvbmZpZyk6IEV4ZWN1dGVQbHVnaW4gPT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IHtcbiAgICBraW5kOiAnZXhlY3V0ZScsXG4gIH07XG5cbiAgLyoqXG4gICAqIFRha2UgaW5wdXQgYXJyYXkgYW5kIHJldHVybiB0aW1lLXN5bmNocm9uaXplZCBpbnB1dCBhcnJheS5cbiAgICovXG4gIGNvbnN0IGV4ZWN1dGUgPSAoaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSk6IFBsdWdpblBhcmFtc1tdID0+IHtcbiAgICBjb25zdCB2YWxpZGF0ZWRDb25maWcgPSB2YWxpZGF0ZUdsb2JhbENvbmZpZygpO1xuICAgIGNvbnN0IHRpbWVQYXJhbXMgPSB7XG4gICAgICBzdGFydFRpbWU6IERhdGVUaW1lLmZyb21JU08odmFsaWRhdGVkQ29uZmlnWydzdGFydC10aW1lJ10pLFxuICAgICAgZW5kVGltZTogRGF0ZVRpbWUuZnJvbUlTTyh2YWxpZGF0ZWRDb25maWdbJ2VuZC10aW1lJ10pLFxuICAgICAgaW50ZXJ2YWw6IHZhbGlkYXRlZENvbmZpZy5pbnRlcnZhbCxcbiAgICAgIGFsbG93UGFkZGluZzogdmFsaWRhdGVkQ29uZmlnWydhbGxvdy1wYWRkaW5nJ10sXG4gICAgfTtcblxuICAgIGNvbnN0IHBhZCA9IGNoZWNrRm9yUGFkZGluZyhpbnB1dHMsIHRpbWVQYXJhbXMpO1xuICAgIHZhbGlkYXRlUGFkZGluZyhwYWQsIHRpbWVQYXJhbXMpO1xuXG4gICAgY29uc3QgcGFkZGVkSW5wdXRzID0gcGFkSW5wdXRzKGlucHV0cywgcGFkLCB0aW1lUGFyYW1zKTtcblxuICAgIGNvbnN0IGZsYXR0ZW5JbnB1dHMgPSBwYWRkZWRJbnB1dHMucmVkdWNlKFxuICAgICAgKGFjYzogUGx1Z2luUGFyYW1zW10sIGlucHV0LCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBzYWZlSW5wdXQgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dCwgdmFsaWRhdGVJbnB1dChpbnB1dCwgaW5kZXgpKTtcbiAgICAgICAgY29uc3QgY3VycmVudE1vbWVudCA9IHBhcnNlRGF0ZShzYWZlSW5wdXQudGltZXN0YW1wKTtcblxuICAgICAgICAvKiogQ2hlY2tzIGlmIG5vdCB0aGUgZmlyc3QgaW5wdXQsIHRoZW4gY2hlY2sgY29uc2lzdGVuY3kgd2l0aCBwcmV2aW91cyBvbmVzLiAqL1xuICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgY29uc3QgcHJldmlvdXNJbnB1dCA9IHBhZGRlZElucHV0c1tpbmRleCAtIDFdO1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzSW5wdXRUaW1lc3RhbXAgPSBwYXJzZURhdGUocHJldmlvdXNJbnB1dC50aW1lc3RhbXApO1xuXG4gICAgICAgICAgLyoqIENoZWNrcyBmb3IgdGltZXN0YW1wcyBvdmVybGFwLiAqL1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHBhcnNlRGF0ZShwcmV2aW91c0lucHV0LnRpbWVzdGFtcCkucGx1cyh7XG4gICAgICAgICAgICAgIHNlY29uZHM6IHByZXZpb3VzSW5wdXQuZHVyYXRpb24sXG4gICAgICAgICAgICB9KSA+IGN1cnJlbnRNb21lbnRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnB1dFZhbGlkYXRpb25FcnJvcihJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbXBhcmVhYmxlVGltZSA9IHByZXZpb3VzSW5wdXRUaW1lc3RhbXAucGx1cyh7XG4gICAgICAgICAgICBzZWNvbmRzOiBwcmV2aW91c0lucHV0LmR1cmF0aW9uLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc3QgdGltZWxpbmVHYXBTaXplID0gY3VycmVudE1vbWVudFxuICAgICAgICAgICAgLmRpZmYoY29tcGFyZWFibGVUaW1lKVxuICAgICAgICAgICAgLmFzKCdzZWNvbmRzJyk7XG5cbiAgICAgICAgICAvKiogQ2hlY2tzIGlmIHRoZXJlIGlzIGdhcCBpbiB0aW1lbGluZS4gKi9cbiAgICAgICAgICBpZiAodGltZWxpbmVHYXBTaXplID4gMSkge1xuICAgICAgICAgICAgYWNjLnB1c2goXG4gICAgICAgICAgICAgIC4uLmdldFplcm9pc2hJbnB1dFBlclNlY29uZEJldHdlZW5SYW5nZShcbiAgICAgICAgICAgICAgICBjb21wYXJlYWJsZVRpbWUsXG4gICAgICAgICAgICAgICAgY3VycmVudE1vbWVudCxcbiAgICAgICAgICAgICAgICBzYWZlSW5wdXRcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLyoqIEJyZWFrIGRvd24gY3VycmVudCBvYnNlcnZhdGlvbi4gKi9cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzYWZlSW5wdXQuZHVyYXRpb247IGkrKykge1xuICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRJbnB1dCA9IGJyZWFrRG93bklucHV0KHNhZmVJbnB1dCwgaSk7XG5cbiAgICAgICAgICBhY2MucHVzaChub3JtYWxpemVkSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyaW1JbnB1dHNCeUdsb2JhbFRpbWVsaW5lKGFjYywgdGltZVBhcmFtcyk7XG4gICAgICB9LFxuICAgICAgW10gYXMgUGx1Z2luUGFyYW1zW11cbiAgICApO1xuXG4gICAgY29uc3Qgc29ydGVkSW5wdXRzID0gZmxhdHRlbklucHV0cy5zb3J0KChhLCBiKSA9PlxuICAgICAgcGFyc2VEYXRlKGEudGltZXN0YW1wKS5kaWZmKHBhcnNlRGF0ZShiLnRpbWVzdGFtcCkpLmFzKCdzZWNvbmRzJylcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc2FtcGxlSW5wdXRzKHNvcnRlZElucHV0cywgdGltZVBhcmFtcykgYXMgUGx1Z2luUGFyYW1zW107XG4gIH07XG5cbiAgY29uc3QgcGFyc2VEYXRlID0gKGRhdGU6IERhdGUgfCBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWRhdGUpIHJldHVybiBEYXRlVGltZS5pbnZhbGlkKCdJbnZhbGlkIGRhdGUnKTtcbiAgICAvLyBkYXRlcyBhcmUgcGFzc2VkIHRvIHRpbWUtc3luYy50cyBib3RoIGluIElTTyA4NjAxIGZvcm1hdFxuICAgIC8vIGFuZCBhcyBhIERhdGUgb2JqZWN0IChmcm9tIHRoZSBkZXNlcmlhbGl6YXRpb24gb2YgYSBZQU1MIGZpbGUpXG4gICAgLy8gaWYgdGhlIFlBTUwgcGFyc2VyIGZhaWxzIHRvIGlkZW50aWZ5IGFzIGEgZGF0ZSwgaXQgcGFzc2VzIGFzIGEgc3RyaW5nXG4gICAgaWYgKGlzRGF0ZShkYXRlKSkge1xuICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tSVNPKGRhdGUpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW5wdXRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgVW5leHBlY3RlZCBkYXRlIGRhdGF0eXBlOiAke3R5cGVvZiBkYXRlfTogJHtkYXRlfWBcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgaW5wdXQgcGFyYW1ldGVycy5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlSW5wdXQgPSAoaW5wdXQ6IFBsdWdpblBhcmFtcywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIHRpbWVzdGFtcDogelxuICAgICAgICAuc3RyaW5nKHtcbiAgICAgICAgICByZXF1aXJlZF9lcnJvcjogYHJlcXVpcmVkIGluIGlucHV0WyR7aW5kZXh9XWAsXG4gICAgICAgIH0pXG4gICAgICAgIC5kYXRldGltZSh7XG4gICAgICAgICAgbWVzc2FnZTogYGludmFsaWQgZGF0ZXRpbWUgaW4gaW5wdXRbJHtpbmRleH1dYCxcbiAgICAgICAgfSlcbiAgICAgICAgLm9yKHouZGF0ZSgpKSxcbiAgICAgIGR1cmF0aW9uOiB6Lm51bWJlcigpLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIHNjaGVtYT4+KHNjaGVtYSwgaW5wdXQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgZ2xvYmFsIGNvbmZpZyBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgY29uc3QgdmFsaWRhdGVHbG9iYWxDb25maWcgPSAoKSA9PiB7XG4gICAgaWYgKGdsb2JhbENvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgSW5wdXRWYWxpZGF0aW9uRXJyb3IoSU5WQUxJRF9USU1FX05PUk1BTElaQVRJT04pO1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IHpcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICAnc3RhcnQtdGltZSc6IHouc3RyaW5nKCkuZGF0ZXRpbWUoKSxcbiAgICAgICAgJ2VuZC10aW1lJzogei5zdHJpbmcoKS5kYXRldGltZSgpLFxuICAgICAgICBpbnRlcnZhbDogei5udW1iZXIoKSxcbiAgICAgICAgJ2FsbG93LXBhZGRpbmcnOiB6LmJvb2xlYW4oKSxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKGRhdGEgPT4gZGF0YVsnc3RhcnQtdGltZSddIDwgZGF0YVsnZW5kLXRpbWUnXSwge1xuICAgICAgICBtZXNzYWdlOiAnYHN0YXJ0LXRpbWVgIHNob3VsZCBiZSBsb3dlciB0aGFuIGBlbmQtdGltZWAnLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCBnbG9iYWxDb25maWcpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIG1pbmltYWwgZmFjdG9yLlxuICAgKi9cbiAgY29uc3QgY29udmVydFBlckludGVydmFsID0gKHZhbHVlOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIpID0+XG4gICAgdmFsdWUgLyBkdXJhdGlvbjtcblxuICAvKipcbiAgICogTm9ybWFsaXplIHRpbWUgcGVyIGdpdmVuIHNlY29uZC5cbiAgICovXG4gIGNvbnN0IG5vcm1hbGl6ZVRpbWVQZXJTZWNvbmQgPSAoXG4gICAgY3VycmVudFJvdW5kTW9tZW50OiBEYXRlIHwgc3RyaW5nLFxuICAgIGk6IG51bWJlclxuICApID0+IHtcbiAgICBjb25zdCB0aGlzTW9tZW50ID0gcGFyc2VEYXRlKGN1cnJlbnRSb3VuZE1vbWVudCkuc3RhcnRPZignc2Vjb25kJyk7XG4gICAgcmV0dXJuIHRoaXNNb21lbnQucGx1cyh7c2Vjb25kczogaX0pO1xuICB9O1xuICAvKipcbiAgICogQnJlYWtzIGRvd24gaW5wdXQgcGVyIG1pbmltYWwgdGltZSB1bml0LlxuICAgKi9cbiAgY29uc3QgYnJlYWtEb3duSW5wdXQgPSAoaW5wdXQ6IFBsdWdpblBhcmFtcywgaTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgaW5wdXRLZXlzID0gT2JqZWN0LmtleXMoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGlucHV0S2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBjb25zdCBtZXRob2QgPSBwYXJhbWV0ZXJpemUuZ2V0QWdncmVnYXRpb25NZXRob2Qoa2V5KTtcblxuICAgICAgaWYgKGtleSA9PT0gJ3RpbWVzdGFtcCcpIHtcbiAgICAgICAgY29uc3QgcGVyU2Vjb25kID0gbm9ybWFsaXplVGltZVBlclNlY29uZChpbnB1dC50aW1lc3RhbXAsIGkpO1xuICAgICAgICBhY2Nba2V5XSA9IHBlclNlY29uZC50b1VUQygpLnRvSVNPKCkgPz8gJyc7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cblxuICAgICAgLyoqIEB0b2RvIHVzZSB1c2VyIGRlZmluZWQgcmVzb2x1dGlvbiBsYXRlciAqL1xuICAgICAgaWYgKGtleSA9PT0gJ2R1cmF0aW9uJykge1xuICAgICAgICBhY2Nba2V5XSA9IDE7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cblxuICAgICAgYWNjW2tleV0gPVxuICAgICAgICBtZXRob2QgPT09ICdzdW0nXG4gICAgICAgICAgPyBjb252ZXJ0UGVySW50ZXJ2YWwoaW5wdXRba2V5XSwgaW5wdXRbJ2R1cmF0aW9uJ10pXG4gICAgICAgICAgOiBpbnB1dFtrZXldO1xuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFBsdWdpblBhcmFtcyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFBvcHVsYXRlcyBvYmplY3QgdG8gZmlsbCB0aGUgZ2FwcyBpbiBvYnNlcnZhdGlvbmFsIHRpbWVsaW5lIHVzaW5nIHplcm9pc2ggdmFsdWVzLlxuICAgKi9cbiAgY29uc3QgZmlsbFdpdGhaZXJvaXNoSW5wdXQgPSAoXG4gICAgaW5wdXQ6IFBsdWdpblBhcmFtcyxcbiAgICBtaXNzaW5nVGltZXN0YW1wOiBEYXRlVGltZU1heWJlVmFsaWRcbiAgKSA9PiB7XG4gICAgY29uc3QgbWV0cmljcyA9IE9iamVjdC5rZXlzKGlucHV0KTtcblxuICAgIHJldHVybiBtZXRyaWNzLnJlZHVjZSgoYWNjLCBtZXRyaWMpID0+IHtcbiAgICAgIGlmIChtZXRyaWMgPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgIGFjY1ttZXRyaWNdID0gbWlzc2luZ1RpbWVzdGFtcC5zdGFydE9mKCdzZWNvbmQnKS50b1VUQygpLnRvSVNPKCkgPz8gJyc7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cblxuICAgICAgLyoqIEB0b2RvIGxhdGVyIHdpbGwgYmUgY2hhbmdlZCB0byB1c2VyIGRlZmluZWQgaW50ZXJ2YWwgKi9cbiAgICAgIGlmIChtZXRyaWMgPT09ICdkdXJhdGlvbicpIHtcbiAgICAgICAgYWNjW21ldHJpY10gPSAxO1xuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXRyaWMgPT09ICd0aW1lLXJlc2VydmVkJykge1xuICAgICAgICBhY2NbbWV0cmljXSA9IGFjY1snZHVyYXRpb24nXTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXRob2QgPSBwYXJhbWV0ZXJpemUuZ2V0QWdncmVnYXRpb25NZXRob2QobWV0cmljKTtcblxuICAgICAgaWYgKG1ldGhvZCA9PT0gJ2F2ZycgfHwgbWV0aG9kID09PSAnc3VtJykge1xuICAgICAgICBhY2NbbWV0cmljXSA9IDA7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cblxuICAgICAgYWNjW21ldHJpY10gPSBpbnB1dFttZXRyaWNdO1xuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFBsdWdpblBhcmFtcyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBgZXJyb3Igb24gcGFkZGluZ2AgaXMgZW5hYmxlZCBhbmQgcGFkZGluZyBpcyBuZWVkZWQuIElmIHNvLCB0aGVuIHRocm93cyBlcnJvci5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlUGFkZGluZyA9IChwYWQ6IFBhZGRpbmdSZWNlaXB0LCBwYXJhbXM6IFRpbWVQYXJhbXMpOiB2b2lkID0+IHtcbiAgICBjb25zdCB7c3RhcnQsIGVuZH0gPSBwYWQ7XG4gICAgY29uc3QgaXNQYWRkaW5nTmVlZGVkID0gc3RhcnQgfHwgZW5kO1xuICAgIGlmICghcGFyYW1zLmFsbG93UGFkZGluZyAmJiBpc1BhZGRpbmdOZWVkZWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnB1dFZhbGlkYXRpb25FcnJvcihBVk9JRElOR19QQURESU5HX0JZX0VER0VTKHN0YXJ0LCBlbmQpKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBwYWRkaW5nIGlzIG5lZWRlZCBlaXRoZXIgYXQgc3RhcnQgb2YgdGhlIHRpbWVsaW5lIG9yIHRoZSBlbmQgYW5kIHJldHVybnMgc3RhdHVzLlxuICAgKi9cbiAgY29uc3QgY2hlY2tGb3JQYWRkaW5nID0gKFxuICAgIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gICAgcGFyYW1zOiBUaW1lUGFyYW1zXG4gICk6IFBhZGRpbmdSZWNlaXB0ID0+IHtcbiAgICBjb25zdCBzdGFydERpZmZJblNlY29uZHMgPSBwYXJzZURhdGUoaW5wdXRzWzBdLnRpbWVzdGFtcClcbiAgICAgIC5kaWZmKHBhcmFtcy5zdGFydFRpbWUpXG4gICAgICAuYXMoJ3NlY29uZHMnKTtcblxuICAgIGNvbnN0IGxhc3RJbnB1dCA9IGlucHV0c1tpbnB1dHMubGVuZ3RoIC0gMV07XG5cbiAgICBjb25zdCBlbmREaWZmSW5TZWNvbmRzID0gcGFyc2VEYXRlKGxhc3RJbnB1dC50aW1lc3RhbXApXG4gICAgICAucGx1cyh7c2Vjb25kOiBsYXN0SW5wdXQuZHVyYXRpb259KVxuICAgICAgLmRpZmYocGFyYW1zLmVuZFRpbWUpXG4gICAgICAuYXMoJ3NlY29uZHMnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdGFydDogc3RhcnREaWZmSW5TZWNvbmRzID4gMCxcbiAgICAgIGVuZDogZW5kRGlmZkluU2Vjb25kcyA8IDAsXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogSXRlcmF0ZXMgb3ZlciBnaXZlbiBpbnB1dHMgZnJhbWUsIG1lYW53aGlsZSBjaGVja2luZyBpZiBhZ2dyZWdhdGlvbiBtZXRob2QgaXMgYHN1bWAsIHRoZW4gY2FsY3VsYXRlcyBpdC5cbiAgICogRm9yIG1ldGhvZHMgaXMgYGF2Z2AgYW5kIGBub25lYCBjYWxjdWxhdGluZyBhdmVyYWdlIG9mIHRoZSBmcmFtZS5cbiAgICovXG4gIGNvbnN0IHJlc2FtcGxlSW5wdXRGcmFtZSA9IChpbnB1dHNJblRpbWVzbG90OiBQbHVnaW5QYXJhbXNbXSkgPT4ge1xuICAgIHJldHVybiBpbnB1dHNJblRpbWVzbG90LnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgsIGlucHV0cykgPT4ge1xuICAgICAgY29uc3QgbWV0cmljcyA9IE9iamVjdC5rZXlzKGlucHV0KTtcblxuICAgICAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IHBhcmFtZXRlcml6ZS5nZXRBZ2dyZWdhdGlvbk1ldGhvZChtZXRyaWMpO1xuICAgICAgICBhY2NbbWV0cmljXSA9IGFjY1ttZXRyaWNdID8/IDA7XG5cbiAgICAgICAgaWYgKG1ldHJpYyA9PT0gJ3RpbWVzdGFtcCcpIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSA9IGlucHV0c1swXVttZXRyaWNdO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ3N1bScpIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSArPSBpbnB1dFttZXRyaWNdO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gPSBpbnB1dFttZXRyaWNdO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIHRpbWVzbG90IGNvbnRhaW5zIHJlY29yZHMgbW9yZSB0aGFuIG9uZSwgdGhlbiBkaXZpZGUgZWFjaCBtZXRyaWMgYnkgdGhlIHRpbWVzbG90IGxlbmd0aCxcbiAgICAgICAgICogIHNvIHRoYXQgdGhlaXIgc3VtIHlpZWxkcyB0aGUgdGltZXNsb3QgYXZlcmFnZS5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChcbiAgICAgICAgICBpbnB1dHNJblRpbWVzbG90Lmxlbmd0aCA+IDEgJiZcbiAgICAgICAgICBpbmRleCA9PT0gaW5wdXRzSW5UaW1lc2xvdC5sZW5ndGggLSAxXG4gICAgICAgICkge1xuICAgICAgICAgIGFjY1ttZXRyaWNdIC89IGlucHV0c0luVGltZXNsb3QubGVuZ3RoO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjW21ldHJpY10gKz0gaW5wdXRbbWV0cmljXTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFBsdWdpblBhcmFtcyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRha2VzIGVhY2ggYXJyYXkgZnJhbWUgd2l0aCBpbnRlcnZhbCBsZW5ndGgsIHRoZW4gYWdncmVnYXRpbmcgdGhlbSB0b2dldGhlciBhcyBmcm9tIHVuaXRzLnlhbWwgZmlsZS5cbiAgICovXG4gIGNvbnN0IHJlc2FtcGxlSW5wdXRzID0gKGlucHV0czogUGx1Z2luUGFyYW1zW10sIHBhcmFtczogVGltZVBhcmFtcykgPT4ge1xuICAgIHJldHVybiBpbnB1dHMucmVkdWNlKChhY2M6IFBsdWdpblBhcmFtc1tdLCBfaW5wdXQsIGluZGV4LCBpbnB1dHMpID0+IHtcbiAgICAgIGNvbnN0IGZyYW1lU3RhcnQgPSBpbmRleCAqIHBhcmFtcy5pbnRlcnZhbDtcbiAgICAgIGNvbnN0IGZyYW1lRW5kID0gKGluZGV4ICsgMSkgKiBwYXJhbXMuaW50ZXJ2YWw7XG4gICAgICBjb25zdCBpbnB1dHNGcmFtZSA9IGlucHV0cy5zbGljZShmcmFtZVN0YXJ0LCBmcmFtZUVuZCk7XG5cbiAgICAgIGNvbnN0IHJlc2FtcGxlZElucHV0ID0gcmVzYW1wbGVJbnB1dEZyYW1lKGlucHV0c0ZyYW1lKTtcblxuICAgICAgLyoqIENoZWNrcyBpZiByZXNhbXBsZWQgaW5wdXQgaXMgbm90IGVtcHR5LCB0aGVuIGluY2x1ZGVzIGluIHJlc3VsdC4gKi9cbiAgICAgIGlmIChPYmplY3Qua2V5cyhyZXNhbXBsZWRJbnB1dCkubGVuZ3RoID4gMCkge1xuICAgICAgICBhY2MucHVzaChyZXNhbXBsZWRJbnB1dCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgUGx1Z2luUGFyYW1zW10pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQYWRzIHplcm9pc2ggaW5wdXRzIGZyb20gdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dHMgaWYgbmVlZGVkLlxuICAgKi9cbiAgY29uc3QgcGFkSW5wdXRzID0gKFxuICAgIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gICAgcGFkOiBQYWRkaW5nUmVjZWlwdCxcbiAgICBwYXJhbXM6IFRpbWVQYXJhbXNcbiAgKTogUGx1Z2luUGFyYW1zW10gPT4ge1xuICAgIGNvbnN0IHtzdGFydCwgZW5kfSA9IHBhZDtcbiAgICBjb25zdCBwYWRkZWRGcm9tQmVnaW5uaW5nID0gW107XG5cbiAgICBpZiAoc3RhcnQpIHtcbiAgICAgIHBhZGRlZEZyb21CZWdpbm5pbmcucHVzaChcbiAgICAgICAgLi4uZ2V0WmVyb2lzaElucHV0UGVyU2Vjb25kQmV0d2VlblJhbmdlKFxuICAgICAgICAgIHBhcmFtcy5zdGFydFRpbWUsXG4gICAgICAgICAgcGFyc2VEYXRlKGlucHV0c1swXS50aW1lc3RhbXApLFxuICAgICAgICAgIGlucHV0c1swXVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBhZGRlZEFycmF5ID0gcGFkZGVkRnJvbUJlZ2lubmluZy5jb25jYXQoaW5wdXRzKTtcblxuICAgIGlmIChlbmQpIHtcbiAgICAgIGNvbnN0IGxhc3RJbnB1dCA9IGlucHV0c1tpbnB1dHMubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBsYXN0SW5wdXRFbmQgPSBwYXJzZURhdGUobGFzdElucHV0LnRpbWVzdGFtcCkucGx1cyh7XG4gICAgICAgIHNlY29uZHM6IGxhc3RJbnB1dC5kdXJhdGlvbixcbiAgICAgIH0pO1xuICAgICAgcGFkZGVkQXJyYXkucHVzaChcbiAgICAgICAgLi4uZ2V0WmVyb2lzaElucHV0UGVyU2Vjb25kQmV0d2VlblJhbmdlKFxuICAgICAgICAgIGxhc3RJbnB1dEVuZCxcbiAgICAgICAgICBwYXJhbXMuZW5kVGltZS5wbHVzKHtzZWNvbmRzOiAxfSksXG4gICAgICAgICAgbGFzdElucHV0XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBwYWRkZWRBcnJheTtcbiAgfTtcblxuICBjb25zdCBnZXRaZXJvaXNoSW5wdXRQZXJTZWNvbmRCZXR3ZWVuUmFuZ2UgPSAoXG4gICAgc3RhcnREYXRlOiBEYXRlVGltZU1heWJlVmFsaWQsXG4gICAgZW5kRGF0ZTogRGF0ZVRpbWVNYXliZVZhbGlkLFxuICAgIHRlbXBsYXRlSW5wdXQ6IFBsdWdpblBhcmFtc1xuICApID0+IHtcbiAgICBjb25zdCBhcnJheTogUGx1Z2luUGFyYW1zW10gPSBbXTtcbiAgICBjb25zdCBkYXRlUmFuZ2UgPSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XG4gICAgZm9yIChjb25zdCBpbnRlcnZhbCBvZiBkYXRlUmFuZ2Uuc3BsaXRCeSh7c2Vjb25kOiAxfSkpIHtcbiAgICAgIGFycmF5LnB1c2goXG4gICAgICAgIGZpbGxXaXRoWmVyb2lzaElucHV0KFxuICAgICAgICAgIHRlbXBsYXRlSW5wdXQsXG4gICAgICAgICAgLy8gYXMgZmFyIGFzIEkgY2FuIHRlbGwsIHN0YXJ0IHdpbGwgbmV2ZXIgYmUgbnVsbFxuICAgICAgICAgIC8vIGJlY2F1c2UgaWYgd2UgcGFzcyBhbiBpbnZhbGlkIHN0YXJ0L2VuZERhdGUgdG9cbiAgICAgICAgICAvLyBJbnRlcnZhbCwgd2UgZ2V0IGEgemVybyBsZW5ndGggYXJyYXkgYXMgdGhlIHJhbmdlXG4gICAgICAgICAgaW50ZXJ2YWwuc3RhcnQgfHwgRGF0ZVRpbWUuaW52YWxpZCgnbm90IGV4cGVjdGVkIC0gc3RhcnQgaXMgbnVsbCcpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbiAgfTtcblxuICAvKlxuICAgKiBDaGVja3MgaWYgaW5wdXQncyB0aW1lc3RhbXAgaXMgaW5jbHVkZWQgaW4gZ2xvYmFsIHNwZWNpZmllZCBwZXJpb2QgdGhlbiBsZWF2ZXMgaXQsIG90aGVyd2lzZS5cbiAgICovXG4gIGNvbnN0IHRyaW1JbnB1dHNCeUdsb2JhbFRpbWVsaW5lID0gKFxuICAgIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gICAgcGFyYW1zOiBUaW1lUGFyYW1zXG4gICk6IFBsdWdpblBhcmFtc1tdID0+IHtcbiAgICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjOiBQbHVnaW5QYXJhbXNbXSwgaXRlbSkgPT4ge1xuICAgICAgY29uc3Qge3RpbWVzdGFtcH0gPSBpdGVtO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHBhcnNlRGF0ZSh0aW1lc3RhbXApID49IHBhcmFtcy5zdGFydFRpbWUgJiZcbiAgICAgICAgcGFyc2VEYXRlKHRpbWVzdGFtcCkgPD0gcGFyYW1zLmVuZFRpbWVcbiAgICAgICkge1xuICAgICAgICBhY2MucHVzaChpdGVtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSBhcyBQbHVnaW5QYXJhbXNbXSk7XG4gIH07XG5cbiAgcmV0dXJuIHttZXRhZGF0YSwgZXhlY3V0ZX07XG59O1xuIl19
@@ -18,8 +18,7 @@ Incubation projects are experimental, offer no support guarantee, have minimal g
18
18
  SOMETHING_WRONG: 'Something wrong with cli arguments. Please check docs.',
19
19
  ISSUE_TEMPLATE: `
20
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
- `,
21
+ https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=feedback&projects=&template=feedback.md&title=Feedback+-+`,
23
22
  INVALID_MODULE_PATH: (path) => `Provided module: '${path}' is invalid or not found.`,
24
23
  INVALID_TIME_NORMALIZATION: 'Start time or end time is missing.',
25
24
  UNEXPECTED_TIME_CONFIG: 'Unexpected node-level config provided for time-sync plugin.',
@@ -35,4 +34,4 @@ https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=fee
35
34
  UNKNOWN_PARAM: (name) => `Unknown parameter: ${name}. Using 'sum' aggregation method.`,
36
35
  NOT_INITALIZED_PLUGIN: (name) => `Not initalized plugin: ${name}. Check if ${name} is in 'manifest.initalize.plugins'.`,
37
36
  };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQztvQ0FDZ0MsSUFBSSxzTEFBc0w7SUFDNU4sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7OztDQUdqQjtJQUNDLG1CQUFtQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDcEMscUJBQXFCLElBQUksNEJBQTRCO0lBQ3ZELDBCQUEwQixFQUFFLG9DQUFvQztJQUNoRSxzQkFBc0IsRUFDcEIsNkRBQTZEO0lBQy9ELHFCQUFxQixFQUFFLHNCQUFzQjtJQUM3QyxnQkFBZ0IsRUFBRSxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUN4Qyx1QkFBdUIsV0FBVyxFQUFFO0lBQ3RDLHlCQUF5QixFQUFFLENBQUMsS0FBYyxFQUFFLEdBQVksRUFBRSxFQUFFLENBQzFELHVCQUNFLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQ3JELEVBQUU7SUFDSiwyQkFBMkIsRUFBRSxpQ0FBaUM7SUFDOUQsMEJBQTBCLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM3Qyx5Q0FBeUMsTUFBTSwwQkFBMEI7SUFDM0UsY0FBYyxFQUFFLENBQUMsTUFBYyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2hELHNCQUFzQixNQUFNLDJCQUEyQixLQUFLLElBQUk7SUFDbEUsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixJQUFJLEdBQUc7SUFDNUQsa0JBQWtCLEVBQUUsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FDL0MsZ0RBQWdELEtBQUssQ0FBQyxJQUFJLEdBQUc7SUFDL0Qsc0JBQXNCLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FDN0MsMkJBQTJCLFVBQVUsR0FBRztJQUMxQyxhQUFhLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM5QixzQkFBc0IsSUFBSSxtQ0FBbUM7SUFDL0QscUJBQXFCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUN0QywwQkFBMEIsSUFBSSxjQUFjLElBQUksc0NBQXNDO0NBQ3pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01hbmlmZXN0UGFyYW1ldGVyfSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5cbmV4cG9ydCBjb25zdCBTVFJJTkdTID0ge1xuICBGSUxFX0lTX05PVF9ZQU1MOiAnUHJvdmlkZWQgbWFuaWZlc3QgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIE1JU1NJTkdfTUVUSE9EOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ21ldGhvZCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIFVOU1VQUE9SVEVEX1BMVUdJTjpcbiAgICBcIlBsdWdpbiBpbnRlcmZhY2UgZG9lc24ndCBpbXBsZW1lbnQgJ2V4ZWN1dGUnIG9yICdtZXRhZGF0YScgbWV0aG9kcy5cIixcbiAgT1ZFUlJJREVfV0FSTklORzpcbiAgICAnXFxuKipXQVJOSU5HKio6IFlvdSBhcmUgb3ZlcnJpZGluZyB0aGUgSUYgZGVmYXVsdCBwYXJhbWV0ZXJzIGZpbGUuIFBsZWFzZSBiZSBleHRyZW1lbHkgY2FyZWZ1bCBvZiB1bmludGVuZGVkIHNpZGUtZWZmZWN0cyBpbiB5b3VyIHBsdWdpbiBwaXBlbGluZSFcXG4nLFxuICBESVNDTEFJTUVSX01FU1NBR0U6IGBcblshaW1wb3J0YW50XSBJbmN1YmF0aW9uIFByb2plY3RcblxuVGhpcyBwcm9qZWN0IGlzIGFuIGluY3ViYXRpb24gcHJvamVjdCBiZWluZyBydW4gaW5zaWRlIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBhcyBzdWNoLCB3ZSBET07igJlUIHJlY29tbWVuZCB1c2luZyBpdCBpbiBhbnkgY3JpdGljYWwgdXNlIGNhc2UuIFxuSW5jdWJhdGlvbiBwcm9qZWN0cyBhcmUgZXhwZXJpbWVudGFsLCBvZmZlciBubyBzdXBwb3J0IGd1YXJhbnRlZSwgaGF2ZSBtaW5pbWFsIGdvdmVybmFuY2UgYW5kIHByb2Nlc3MsIGFuZCBtYXkgYmUgcmV0aXJlZCBhdCBhbnkgbW9tZW50LiBUaGlzIHByb2plY3QgbWF5IG9uZSBkYXkgZ3JhZHVhdGUsIGluIHdoaWNoIGNhc2UgdGhpcyBkaXNjbGFpbWVyIHdpbGwgYmUgcmVtb3ZlZC5gLFxuICBOT1RfTkFUSVZFX1BMVUdJTjogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgXG5bIWltcG9ydGFudF0gWW91IGFyZSB1c2luZyBwbHVnaW4gJHtwYXRofSB3aGljaCBpcyBub3QgcGFydCBvZiB0aGUgSW1wYWN0IEZyYW1ld29yayBzdGFuZGFyZCBsaWJyYXJ5LiBZb3Ugc2hvdWxkIGRvIHlvdXIgb3duIHJlc2VhcmNoIHRvIGVuc3VyZSB0aGUgcGx1Z2lucyBhcmUgdXAgdG8gZGF0ZSBhbmQgYWNjdXJhdGUuIFRoZXkgbWF5IG5vdCBiZSBhY3RpdmVseSBtYWludGFpbmVkLmAsXG4gIFNPTUVUSElOR19XUk9ORzogJ1NvbWV0aGluZyB3cm9uZyB3aXRoIGNsaSBhcmd1bWVudHMuIFBsZWFzZSBjaGVjayBkb2NzLicsXG4gIElTU1VFX1RFTVBMQVRFOiBgXG5JbXBhY3QgRnJhbWV3b3JrIGlzIGFuIGFscGhhIHJlbGVhc2UgZnJvbSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbiBhbmQgaXMgcmVsZWFzZWQgdG8gY2FwdHVyZSBlYXJseSBmZWVkYmFjay4gSWYgeW91J2QgbGlrZSB0byBvZmZlciBzb21lIGZlZWRiYWNrLCBwbGVhc2UgdXNlIHRoaXMgaXNzdWUgdGVtcGxhdGU6IFxuaHR0cHM6Ly9naXRodWIuY29tL0dyZWVuLVNvZnR3YXJlLUZvdW5kYXRpb24vaWYvaXNzdWVzL25ldz9hc3NpZ25lZXM9JmxhYmVscz1mZWVkYmFjayZwcm9qZWN0cz0mdGVtcGxhdGU9ZmVlZGJhY2subWQmdGl0bGU9RmVlZGJhY2srLStcbmAsXG4gIElOVkFMSURfTU9EVUxFX1BBVEg6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFByb3ZpZGVkIG1vZHVsZTogJyR7cGF0aH0nIGlzIGludmFsaWQgb3Igbm90IGZvdW5kLmAsXG4gIElOVkFMSURfVElNRV9OT1JNQUxJWkFUSU9OOiAnU3RhcnQgdGltZSBvciBlbmQgdGltZSBpcyBtaXNzaW5nLicsXG4gIFVORVhQRUNURURfVElNRV9DT05GSUc6XG4gICAgJ1VuZXhwZWN0ZWQgbm9kZS1sZXZlbCBjb25maWcgcHJvdmlkZWQgZm9yIHRpbWUtc3luYyBwbHVnaW4uJyxcbiAgSU5WQUxJRF9USU1FX0lOVEVSVkFMOiAnSW50ZXJ2YWwgaXMgbWlzc2luZy4nLFxuICBBVk9JRElOR19QQURESU5HOiAoZGVzY3JpcHRpb246IHN0cmluZykgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke2Rlc2NyaXB0aW9ufWAsXG4gIEFWT0lESU5HX1BBRERJTkdfQllfRURHRVM6IChzdGFydDogYm9vbGVhbiwgZW5kOiBib29sZWFuKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7XG4gICAgICBzdGFydCAmJiBlbmQgPyAnc3RhcnQgYW5kIGVuZCcgOiBzdGFydCA/ICdzdGFydCcgOiAnZW5kJ1xuICAgIH1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6ICdPYnNlcnZhdGlvbiB0aW1lc3RhbXBzIG92ZXJsYXAuJyxcbiAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0Q6IChtZXRyaWM6IHN0cmluZykgPT5cbiAgICBgQWdncmVnYXRpb24gaXMgbm90IHBvc3NpYmxlIGZvciBnaXZlbiAke21ldHJpY30gc2luY2UgbWV0aG9kIGlzICdub25lJy5gLFxuICBNRVRSSUNfTUlTU0lORzogKG1ldHJpYzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmAsXG4gIElOVkFMSURfR1JPVVBfQlk6ICh0eXBlOiBzdHJpbmcpID0+IGBJbnZhbGlkIGdyb3VwICR7dHlwZX0uYCxcbiAgUkVKRUNUSU5HX09WRVJSSURFOiAocGFyYW06IE1hbmlmZXN0UGFyYW1ldGVyKSA9PlxuICAgIGBSZWplY3Rpbmcgb3ZlcnJpZGluZyBvZiBjYW5vbmljYWwgcGFyYW1ldGVyOiAke3BhcmFtLm5hbWV9LmAsXG4gIElOVkFMSURfRVhIQVVTVF9QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYEludmFsaWQgZXhoYXVzdCBwbHVnaW46ICR7cGx1Z2luTmFtZX0uYCxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIFVzaW5nICdzdW0nIGFnZ3JlZ2F0aW9uIG1ldGhvZC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG59O1xuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQztvQ0FDZ0MsSUFBSSxzTEFBc0w7SUFDNU4sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7O3VJQUVxSDtJQUNySSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3BDLHFCQUFxQixJQUFJLDRCQUE0QjtJQUN2RCwwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMkJBQTJCLEVBQUUsaUNBQWlDO0lBQzlELDBCQUEwQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDN0MseUNBQXlDLE1BQU0sMEJBQTBCO0lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHO0lBQzVELGtCQUFrQixFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQy9DLGdEQUFnRCxLQUFLLENBQUMsSUFBSSxHQUFHO0lBQy9ELHNCQUFzQixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQzdDLDJCQUEyQixVQUFVLEdBQUc7SUFDMUMsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksbUNBQW1DO0lBQy9ELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJQUFJLHNDQUFzQztDQUN6RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYW5pZmVzdFBhcmFtZXRlcn0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5leHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRklMRV9JU19OT1RfWUFNTDogJ1Byb3ZpZGVkIG1hbmlmZXN0IGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9JU19NSVNTSU5HOiAnTWFuaWZlc3QgaXMgbWlzc2luZy4nLFxuICBNSVNTSU5HX01FVEhPRDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdtZXRob2QnIGlzIG1pc3NpbmcuXCIsXG4gIE1JU1NJTkdfUEFUSDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdwYXRoJyBpcyBtaXNzaW5nLlwiLFxuICBVTlNVUFBPUlRFRF9QTFVHSU46XG4gICAgXCJQbHVnaW4gaW50ZXJmYWNlIGRvZXNuJ3QgaW1wbGVtZW50ICdleGVjdXRlJyBvciAnbWV0YWRhdGEnIG1ldGhvZHMuXCIsXG4gIE9WRVJSSURFX1dBUk5JTkc6XG4gICAgJ1xcbioqV0FSTklORyoqOiBZb3UgYXJlIG92ZXJyaWRpbmcgdGhlIElGIGRlZmF1bHQgcGFyYW1ldGVycyBmaWxlLiBQbGVhc2UgYmUgZXh0cmVtZWx5IGNhcmVmdWwgb2YgdW5pbnRlbmRlZCBzaWRlLWVmZmVjdHMgaW4geW91ciBwbHVnaW4gcGlwZWxpbmUhXFxuJyxcbiAgRElTQ0xBSU1FUl9NRVNTQUdFOiBgXG5bIWltcG9ydGFudF0gSW5jdWJhdGlvbiBQcm9qZWN0XG5cblRoaXMgcHJvamVjdCBpcyBhbiBpbmN1YmF0aW9uIHByb2plY3QgYmVpbmcgcnVuIGluc2lkZSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbjsgYXMgc3VjaCwgd2UgRE9O4oCZVCByZWNvbW1lbmQgdXNpbmcgaXQgaW4gYW55IGNyaXRpY2FsIHVzZSBjYXNlLiBcbkluY3ViYXRpb24gcHJvamVjdHMgYXJlIGV4cGVyaW1lbnRhbCwgb2ZmZXIgbm8gc3VwcG9ydCBndWFyYW50ZWUsIGhhdmUgbWluaW1hbCBnb3Zlcm5hbmNlIGFuZCBwcm9jZXNzLCBhbmQgbWF5IGJlIHJldGlyZWQgYXQgYW55IG1vbWVudC4gVGhpcyBwcm9qZWN0IG1heSBvbmUgZGF5IGdyYWR1YXRlLCBpbiB3aGljaCBjYXNlIHRoaXMgZGlzY2xhaW1lciB3aWxsIGJlIHJlbW92ZWQuYCxcbiAgTk9UX05BVElWRV9QTFVHSU46IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFxuWyFpbXBvcnRhbnRdIFlvdSBhcmUgdXNpbmcgcGx1Z2luICR7cGF0aH0gd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhlIEltcGFjdCBGcmFtZXdvcmsgc3RhbmRhcmQgbGlicmFyeS4gWW91IHNob3VsZCBkbyB5b3VyIG93biByZXNlYXJjaCB0byBlbnN1cmUgdGhlIHBsdWdpbnMgYXJlIHVwIHRvIGRhdGUgYW5kIGFjY3VyYXRlLiBUaGV5IG1heSBub3QgYmUgYWN0aXZlbHkgbWFpbnRhaW5lZC5gLFxuICBTT01FVEhJTkdfV1JPTkc6ICdTb21ldGhpbmcgd3Jvbmcgd2l0aCBjbGkgYXJndW1lbnRzLiBQbGVhc2UgY2hlY2sgZG9jcy4nLFxuICBJU1NVRV9URU1QTEFURTogYFxuSW1wYWN0IEZyYW1ld29yayBpcyBhbiBhbHBoYSByZWxlYXNlIGZyb20gdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb24gYW5kIGlzIHJlbGVhc2VkIHRvIGNhcHR1cmUgZWFybHkgZmVlZGJhY2suIElmIHlvdSdkIGxpa2UgdG8gb2ZmZXIgc29tZSBmZWVkYmFjaywgcGxlYXNlIHVzZSB0aGlzIGlzc3VlIHRlbXBsYXRlOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9HcmVlbi1Tb2Z0d2FyZS1Gb3VuZGF0aW9uL2lmL2lzc3Vlcy9uZXc/YXNzaWduZWVzPSZsYWJlbHM9ZmVlZGJhY2smcHJvamVjdHM9JnRlbXBsYXRlPWZlZWRiYWNrLm1kJnRpdGxlPUZlZWRiYWNrKy0rYCxcbiAgSU5WQUxJRF9NT0RVTEVfUEFUSDogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgUHJvdmlkZWQgbW9kdWxlOiAnJHtwYXRofScgaXMgaW52YWxpZCBvciBub3QgZm91bmQuYCxcbiAgSU5WQUxJRF9USU1FX05PUk1BTElaQVRJT046ICdTdGFydCB0aW1lIG9yIGVuZCB0aW1lIGlzIG1pc3NpbmcuJyxcbiAgVU5FWFBFQ1RFRF9USU1FX0NPTkZJRzpcbiAgICAnVW5leHBlY3RlZCBub2RlLWxldmVsIGNvbmZpZyBwcm92aWRlZCBmb3IgdGltZS1zeW5jIHBsdWdpbi4nLFxuICBJTlZBTElEX1RJTUVfSU5URVJWQUw6ICdJbnRlcnZhbCBpcyBtaXNzaW5nLicsXG4gIEFWT0lESU5HX1BBRERJTkc6IChkZXNjcmlwdGlvbjogc3RyaW5nKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7ZGVzY3JpcHRpb259YCxcbiAgQVZPSURJTkdfUEFERElOR19CWV9FREdFUzogKHN0YXJ0OiBib29sZWFuLCBlbmQ6IGJvb2xlYW4pID0+XG4gICAgYEF2b2lkaW5nIHBhZGRpbmcgYXQgJHtcbiAgICAgIHN0YXJ0ICYmIGVuZCA/ICdzdGFydCBhbmQgZW5kJyA6IHN0YXJ0ID8gJ3N0YXJ0JyA6ICdlbmQnXG4gICAgfWAsXG4gIElOVkFMSURfT0JTRVJWQVRJT05fT1ZFUkxBUDogJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcC4nLFxuICBJTlZBTElEX0FHR1JFR0FUSU9OX01FVEhPRDogKG1ldHJpYzogc3RyaW5nKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBpcyBub3QgcG9zc2libGUgZm9yIGdpdmVuICR7bWV0cmljfSBzaW5jZSBtZXRob2QgaXMgJ25vbmUnLmAsXG4gIE1FVFJJQ19NSVNTSU5HOiAobWV0cmljOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYEFnZ3JlZ2F0aW9uIG1ldHJpYyAke21ldHJpY30gaXMgbm90IGZvdW5kIGluIGlucHV0c1ske2luZGV4fV0uYCxcbiAgSU5WQUxJRF9HUk9VUF9CWTogKHR5cGU6IHN0cmluZykgPT4gYEludmFsaWQgZ3JvdXAgJHt0eXBlfS5gLFxuICBSRUpFQ1RJTkdfT1ZFUlJJREU6IChwYXJhbTogTWFuaWZlc3RQYXJhbWV0ZXIpID0+XG4gICAgYFJlamVjdGluZyBvdmVycmlkaW5nIG9mIGNhbm9uaWNhbCBwYXJhbWV0ZXI6ICR7cGFyYW0ubmFtZX0uYCxcbiAgSU5WQUxJRF9FWEhBVVNUX1BMVUdJTjogKHBsdWdpbk5hbWU6IHN0cmluZykgPT5cbiAgICBgSW52YWxpZCBleGhhdXN0IHBsdWdpbjogJHtwbHVnaW5OYW1lfS5gLFxuICBVTktOT1dOX1BBUkFNOiAobmFtZTogc3RyaW5nKSA9PlxuICAgIGBVbmtub3duIHBhcmFtZXRlcjogJHtuYW1lfS4gVXNpbmcgJ3N1bScgYWdncmVnYXRpb24gbWV0aG9kLmAsXG4gIE5PVF9JTklUQUxJWkVEX1BMVUdJTjogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgTm90IGluaXRhbGl6ZWQgcGx1Z2luOiAke25hbWV9LiBDaGVjayBpZiAke25hbWV9IGlzIGluICdtYW5pZmVzdC5pbml0YWxpemUucGx1Z2lucycuYCxcbn07XG4iXX0=
package/build/index.js CHANGED
@@ -22,8 +22,8 @@ const impactEngine = async () => {
22
22
  const { inputPath, outputPath, paramPath } = options;
23
23
  const { tree, context, parameters } = await (0, load_1.load)(inputPath, paramPath);
24
24
  parameterize_1.parameterize.combine(context.params, parameters);
25
- const plugins = await (0, initialize_1.initalize)(context.initialize.plugins);
26
- const computedTree = await (0, compute_1.compute)(tree, { context, plugins });
25
+ const pluginStorage = await (0, initialize_1.initalize)(context.initialize.plugins);
26
+ const computedTree = await (0, compute_1.compute)(tree, { context, pluginStorage });
27
27
  const aggregatedTree = (0, aggregate_1.aggregate)(computedTree, context.aggregation);
28
28
  context['if-version'] = packageJson.version;
29
29
  (0, exhaust_1.exhaust)(aggregatedTree, context, outputPath);
@@ -32,4 +32,4 @@ const impactEngine = async () => {
32
32
  return Promise.reject(new CliInputError(SOMETHING_WRONG));
33
33
  };
34
34
  impactEngine().catch(helpers_1.andHandle);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QywyQ0FBc0M7QUFDdEMsaURBQTJDO0FBQzNDLHFDQUFnQztBQUNoQyxxREFBZ0Q7QUFFaEQsc0NBQXNDO0FBQ3RDLDBDQUFxQztBQUNyQyw0Q0FBeUM7QUFDekMsMENBQXFDO0FBRXJDLHFDQUFpQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUUvQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXRELE1BQU0sWUFBWSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzlCLGVBQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUU1QixJQUFJLE9BQU8sRUFBRTtRQUNYLE1BQU0sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUVuRCxNQUFNLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsR0FBRyxNQUFNLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxzQkFBUyxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBUyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBQSxpQkFBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFN0MsT0FBTztLQUNSO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7YWdncmVnYXRlfSBmcm9tICcuL2xpYi9hZ2dyZWdhdGUnO1xuaW1wb3J0IHtjb21wdXRlfSBmcm9tICcuL2xpYi9jb21wdXRlJztcbmltcG9ydCB7ZXhoYXVzdH0gZnJvbSAnLi9saWIvZXhoYXVzdCc7XG5pbXBvcnQge2luaXRhbGl6ZX0gZnJvbSAnLi9saWIvaW5pdGlhbGl6ZSc7XG5pbXBvcnQge2xvYWR9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7cGFyc2VBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2FuZEhhbmRsZX0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFLCBTT01FVEhJTkdfV1JPTkd9ID0gU1RSSU5HUztcblxuY29uc3QgaW1wYWN0RW5naW5lID0gYXN5bmMgKCkgPT4ge1xuICBsb2dnZXIuaW5mbyhESVNDTEFJTUVSX01FU1NBR0UpO1xuICBjb25zdCBvcHRpb25zID0gcGFyc2VBcmdzKCk7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7aW5wdXRQYXRoLCBvdXRwdXRQYXRoLCBwYXJhbVBhdGh9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IHt0cmVlLCBjb250ZXh0LCBwYXJhbWV0ZXJzfSA9IGF3YWl0IGxvYWQoaW5wdXRQYXRoLCBwYXJhbVBhdGgpO1xuICAgIHBhcmFtZXRlcml6ZS5jb21iaW5lKGNvbnRleHQucGFyYW1zLCBwYXJhbWV0ZXJzKTtcbiAgICBjb25zdCBwbHVnaW5zID0gYXdhaXQgaW5pdGFsaXplKGNvbnRleHQuaW5pdGlhbGl6ZS5wbHVnaW5zKTtcbiAgICBjb25zdCBjb21wdXRlZFRyZWUgPSBhd2FpdCBjb21wdXRlKHRyZWUsIHtjb250ZXh0LCBwbHVnaW5zfSk7XG4gICAgY29uc3QgYWdncmVnYXRlZFRyZWUgPSBhZ2dyZWdhdGUoY29tcHV0ZWRUcmVlLCBjb250ZXh0LmFnZ3JlZ2F0aW9uKTtcbiAgICBjb250ZXh0WydpZi12ZXJzaW9uJ10gPSBwYWNrYWdlSnNvbi52ZXJzaW9uO1xuICAgIGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dFBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBDbGlJbnB1dEVycm9yKFNPTUVUSElOR19XUk9ORykpO1xufTtcblxuaW1wYWN0RW5naW5lKCkuY2F0Y2goYW5kSGFuZGxlKTtcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QywyQ0FBc0M7QUFDdEMsaURBQTJDO0FBQzNDLHFDQUFnQztBQUNoQyxxREFBZ0Q7QUFFaEQsc0NBQXNDO0FBQ3RDLDBDQUFxQztBQUNyQyw0Q0FBeUM7QUFDekMsMENBQXFDO0FBRXJDLHFDQUFpQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUUvQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXRELE1BQU0sWUFBWSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzlCLGVBQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUU1QixJQUFJLE9BQU8sRUFBRTtRQUNYLE1BQU0sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUVuRCxNQUFNLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsR0FBRyxNQUFNLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSxzQkFBUyxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBUyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBQSxpQkFBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFN0MsT0FBTztLQUNSO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7YWdncmVnYXRlfSBmcm9tICcuL2xpYi9hZ2dyZWdhdGUnO1xuaW1wb3J0IHtjb21wdXRlfSBmcm9tICcuL2xpYi9jb21wdXRlJztcbmltcG9ydCB7ZXhoYXVzdH0gZnJvbSAnLi9saWIvZXhoYXVzdCc7XG5pbXBvcnQge2luaXRhbGl6ZX0gZnJvbSAnLi9saWIvaW5pdGlhbGl6ZSc7XG5pbXBvcnQge2xvYWR9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7cGFyc2VBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2FuZEhhbmRsZX0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFLCBTT01FVEhJTkdfV1JPTkd9ID0gU1RSSU5HUztcblxuY29uc3QgaW1wYWN0RW5naW5lID0gYXN5bmMgKCkgPT4ge1xuICBsb2dnZXIuaW5mbyhESVNDTEFJTUVSX01FU1NBR0UpO1xuICBjb25zdCBvcHRpb25zID0gcGFyc2VBcmdzKCk7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7aW5wdXRQYXRoLCBvdXRwdXRQYXRoLCBwYXJhbVBhdGh9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IHt0cmVlLCBjb250ZXh0LCBwYXJhbWV0ZXJzfSA9IGF3YWl0IGxvYWQoaW5wdXRQYXRoLCBwYXJhbVBhdGgpO1xuICAgIHBhcmFtZXRlcml6ZS5jb21iaW5lKGNvbnRleHQucGFyYW1zLCBwYXJhbWV0ZXJzKTtcbiAgICBjb25zdCBwbHVnaW5TdG9yYWdlID0gYXdhaXQgaW5pdGFsaXplKGNvbnRleHQuaW5pdGlhbGl6ZS5wbHVnaW5zKTtcbiAgICBjb25zdCBjb21wdXRlZFRyZWUgPSBhd2FpdCBjb21wdXRlKHRyZWUsIHtjb250ZXh0LCBwbHVnaW5TdG9yYWdlfSk7XG4gICAgY29uc3QgYWdncmVnYXRlZFRyZWUgPSBhZ2dyZWdhdGUoY29tcHV0ZWRUcmVlLCBjb250ZXh0LmFnZ3JlZ2F0aW9uKTtcbiAgICBjb250ZXh0WydpZi12ZXJzaW9uJ10gPSBwYWNrYWdlSnNvbi52ZXJzaW9uO1xuICAgIGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dFBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBDbGlJbnB1dEVycm9yKFNPTUVUSElOR19XUk9ORykpO1xufTtcblxuaW1wYWN0RW5naW5lKCkuY2F0Y2goYW5kSGFuZGxlKTtcbiJdfQ==
@@ -17,7 +17,7 @@ const traverse = async (children, params) => {
17
17
  const mergeDefaults = (inputs, defaults) => {
18
18
  if (inputs) {
19
19
  const response = defaults
20
- ? inputs.map(input => (0, helpers_1.mergeObjects)(input, defaults))
20
+ ? inputs.map(input => (0, helpers_1.mergeObjects)(defaults, input))
21
21
  : inputs;
22
22
  return response;
23
23
  }
@@ -46,19 +46,19 @@ const computeNode = async (node, params) => {
46
46
  config,
47
47
  });
48
48
  }
49
- let storage = node.inputs;
50
- storage = mergeDefaults(storage, defaults);
49
+ let inputStorage = structuredClone(node.inputs);
50
+ inputStorage = mergeDefaults(inputStorage, defaults);
51
51
  const pipelineCopy = structuredClone(pipeline);
52
52
  while (pipelineCopy.length !== 0) {
53
53
  const pluginName = pipelineCopy.shift();
54
- const plugin = params.plugins.get(pluginName);
54
+ const plugin = params.pluginStorage.get(pluginName);
55
55
  const nodeConfig = config && config[pluginName];
56
56
  if ((0, interface_1.isExecute)(plugin)) {
57
- storage = await plugin.execute(storage, nodeConfig);
58
- node.outputs = storage;
57
+ inputStorage = await plugin.execute(inputStorage, nodeConfig);
58
+ node.outputs = inputStorage;
59
59
  }
60
60
  if ((0, interface_1.isGroupBy)(plugin)) {
61
- node.children = await plugin.execute(storage, nodeConfig);
61
+ node.children = await plugin.execute(inputStorage, nodeConfig);
62
62
  delete node.inputs;
63
63
  delete node.outputs;
64
64
  await traverse(node.children, {
@@ -80,4 +80,4 @@ const compute = async (tree, params) => {
80
80
  return copyOfTree;
81
81
  };
82
82
  exports.compute = compute;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkM7QUFHN0Msa0RBQXNFO0FBR3RFOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN2RCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRTtRQUM1QixNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLE1BQXNCLEVBQ3RCLFFBQWtDLEVBQ2xDLEVBQUU7SUFDRixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFWCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxJQUFVLEVBQUUsTUFBYyxFQUFnQixFQUFFO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFhLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUVsRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixHQUFHLE1BQU07WUFDVCxRQUFRO1lBQ1IsUUFBUTtZQUNSLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSjtJQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUF3QixDQUFDO0lBQzVDLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQyxPQUFPLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQVksQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhELElBQUksSUFBQSxxQkFBUyxFQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ2xDLE9BQU8sRUFDUCxVQUEyQixDQUM1QixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVwQixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVE7Z0JBQ1IsTUFBTTthQUNQLENBQUMsQ0FBQztZQUVILE1BQU07U0FDUDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLE1BQXFCLEVBQUUsRUFBRTtJQUNoRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQU5XLFFBQUEsT0FBTyxXQU1sQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWVyZ2VPYmplY3RzfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0NvbXB1dGVQYXJhbXMsIE5vZGUsIFBhcmFtc30gZnJvbSAnLi4vdHlwZXMvY29tcHV0ZSc7XG5pbXBvcnQge1BsdWdpblBhcmFtcywgaXNFeGVjdXRlLCBpc0dyb3VwQnl9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dyb3VwQnlDb25maWd9IGZyb20gJy4uL3R5cGVzL2dyb3VwLWJ5JztcblxuLyoqXG4gKiBUcmF2ZXJzZXMgYWxsIGNoaWxkIG5vZGVzIGJhc2VkIG9uIGNoaWxkcmVuIGdyb3VwaW5nLlxuICovXG5jb25zdCB0cmF2ZXJzZSA9IGFzeW5jIChjaGlsZHJlbjogYW55LCBwYXJhbXM6IFBhcmFtcykgPT4ge1xuICBmb3IgKGNvbnN0IGNoaWxkIGluIGNoaWxkcmVuKSB7XG4gICAgYXdhaXQgY29tcHV0ZU5vZGUoY2hpbGRyZW5bY2hpbGRdLCBwYXJhbXMpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgYGRlZmF1bHRgIHZhbHVlcyB0byBgaW5wdXRzYC5cbiAqL1xuY29uc3QgbWVyZ2VEZWZhdWx0cyA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgZGVmYXVsdHM6IFBsdWdpblBhcmFtcyB8IHVuZGVmaW5lZFxuKSA9PiB7XG4gIGlmIChpbnB1dHMpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGRlZmF1bHRzXG4gICAgICA/IGlucHV0cy5tYXAoaW5wdXQgPT4gbWVyZ2VPYmplY3RzKGlucHV0LCBkZWZhdWx0cykpXG4gICAgICA6IGlucHV0cztcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0cyA/IFtkZWZhdWx0c10gOiBbXTtcbn07XG5cbi8qKlxuICogMS4gSWYgdGhlIG5vZGUgaGFzIGl0J3Mgb3duIHBpcGVsaW5lLCBkZWZhdWx0cyBvciBjb25maWcgdGhlbiB1c2UgdGhhdCxcbiAqICAgIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgaGFzIGJlZW4gcGFzc2VkIGRvd24gZnJvbSBmdXJ0aGVyIHVwIHRoZSB0cmVlLlxuICogMi4gSWYgaXQncyBhIGdyb3VwaW5nIG5vZGUsIHRoZW4gZmlyc3Qgb2YgYWxsIGNvbXB1dGVzIGFsbCBpdCdzIGNoaWxkcmVuLlxuICogICAgVGhpcyBpcyBkb2luZyBhIGRlcHRoIGZpcnN0IHRyYXZlcnNhbC5cbiAqIDMuIE90aGVyd2lzZSBtZXJnZXMgdGhlIGRlZmF1bHRzIGludG8gdGhlIGlucHV0cy5cbiAqIDQuIEdvZXMgdGhyb3VnaCB0aGUgcGlwZWxpbmUgcGx1Z2lucywgYnkgY2hlY2tpbmcgaWYgaXQncyBgZXhlY3V0ZWAgcGx1Z2luLiBJZiBzbyBzZXRzIG91dHB1dHMuXG4gKiAgICBJZiBpcyBhIGBncm91cGJ5YCBwbHVnaW4sIGl0IHdpbGwgcmV0dXJuIGNoaWxkIGNvbXBvbmVudHMgcmF0aGVyIHRoYW4gb3V0cHV0cy5cbiAqIDUuIFNpbmNlIGFmdGVyIGBncm91cGJ5YCwgdGhlcmUgYXJlIG5ldyBjaGlsZCBjb21wb25lbnRzLCB0aGVuIGNvbXB1dGVzIHRoZW0uXG4gKiAgICBOb3RlOiBgcGlwZWxpbmVgIG5vdyBlcXVhbHMgdGhlIHJlbWFpbmluZyBwbHUuZ2lucyB0byBhcHBseSB0byBlYWNoIGNoaWxkXG4gKi9cbmNvbnN0IGNvbXB1dGVOb2RlID0gYXN5bmMgKG5vZGU6IE5vZGUsIHBhcmFtczogUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgcGlwZWxpbmUgPSAobm9kZS5waXBlbGluZSB8fCBwYXJhbXMucGlwZWxpbmUpIGFzIHN0cmluZ1tdO1xuICBjb25zdCBjb25maWcgPSBub2RlLmNvbmZpZyB8fCBwYXJhbXMuY29uZmlnO1xuICBjb25zdCBkZWZhdWx0cyA9IG5vZGUuZGVmYXVsdHMgfHwgcGFyYW1zLmRlZmF1bHRzO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgc3RvcmFnZSA9IG5vZGUuaW5wdXRzIGFzIFBsdWdpblBhcmFtc1tdO1xuICBzdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhzdG9yYWdlLCBkZWZhdWx0cyk7XG4gIGNvbnN0IHBpcGVsaW5lQ29weSA9IHN0cnVjdHVyZWRDbG9uZShwaXBlbGluZSk7XG5cbiAgd2hpbGUgKHBpcGVsaW5lQ29weS5sZW5ndGggIT09IDApIHtcbiAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5LnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgIGNvbnN0IHBsdWdpbiA9IHBhcmFtcy5wbHVnaW5zLmdldChwbHVnaW5OYW1lKTtcbiAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgIGlmIChpc0V4ZWN1dGUocGx1Z2luKSkge1xuICAgICAgc3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKHN0b3JhZ2UsIG5vZGVDb25maWcpO1xuICAgICAgbm9kZS5vdXRwdXRzID0gc3RvcmFnZTtcbiAgICB9XG5cbiAgICBpZiAoaXNHcm91cEJ5KHBsdWdpbikpIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShcbiAgICAgICAgc3RvcmFnZSxcbiAgICAgICAgbm9kZUNvbmZpZyBhcyBHcm91cEJ5Q29uZmlnXG4gICAgICApO1xuICAgICAgZGVsZXRlIG5vZGUuaW5wdXRzO1xuICAgICAgZGVsZXRlIG5vZGUub3V0cHV0cztcblxuICAgICAgYXdhaXQgdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHBpcGVsaW5lOiBwaXBlbGluZUNvcHksXG4gICAgICAgIGRlZmF1bHRzLFxuICAgICAgICBjb25maWcsXG4gICAgICB9KTtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkM7QUFHN0Msa0RBQXNFO0FBR3RFOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN2RCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRTtRQUM1QixNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLE1BQXNCLEVBQ3RCLFFBQWtDLEVBQ2xDLEVBQUU7SUFDRixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFWCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxJQUFVLEVBQUUsTUFBYyxFQUFnQixFQUFFO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFhLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUVsRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixHQUFHLE1BQU07WUFDVCxRQUFRO1lBQ1IsUUFBUTtZQUNSLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSjtJQUVELElBQUksWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBQ2xFLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQyxPQUFPLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQVksQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhELElBQUksSUFBQSxxQkFBUyxFQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JCLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ2xDLFlBQVksRUFDWixVQUEyQixDQUM1QixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVwQixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVE7Z0JBQ1IsTUFBTTthQUNQLENBQUMsQ0FBQztZQUVILE1BQU07U0FDUDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLE1BQXFCLEVBQUUsRUFBRTtJQUNoRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQU5XLFFBQUEsT0FBTyxXQU1sQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWVyZ2VPYmplY3RzfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0NvbXB1dGVQYXJhbXMsIE5vZGUsIFBhcmFtc30gZnJvbSAnLi4vdHlwZXMvY29tcHV0ZSc7XG5pbXBvcnQge1BsdWdpblBhcmFtcywgaXNFeGVjdXRlLCBpc0dyb3VwQnl9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dyb3VwQnlDb25maWd9IGZyb20gJy4uL3R5cGVzL2dyb3VwLWJ5JztcblxuLyoqXG4gKiBUcmF2ZXJzZXMgYWxsIGNoaWxkIG5vZGVzIGJhc2VkIG9uIGNoaWxkcmVuIGdyb3VwaW5nLlxuICovXG5jb25zdCB0cmF2ZXJzZSA9IGFzeW5jIChjaGlsZHJlbjogYW55LCBwYXJhbXM6IFBhcmFtcykgPT4ge1xuICBmb3IgKGNvbnN0IGNoaWxkIGluIGNoaWxkcmVuKSB7XG4gICAgYXdhaXQgY29tcHV0ZU5vZGUoY2hpbGRyZW5bY2hpbGRdLCBwYXJhbXMpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZHMgYGRlZmF1bHRgIHZhbHVlcyB0byBgaW5wdXRzYC5cbiAqL1xuY29uc3QgbWVyZ2VEZWZhdWx0cyA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgZGVmYXVsdHM6IFBsdWdpblBhcmFtcyB8IHVuZGVmaW5lZFxuKSA9PiB7XG4gIGlmIChpbnB1dHMpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IGRlZmF1bHRzXG4gICAgICA/IGlucHV0cy5tYXAoaW5wdXQgPT4gbWVyZ2VPYmplY3RzKGRlZmF1bHRzLCBpbnB1dCkpXG4gICAgICA6IGlucHV0cztcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0cyA/IFtkZWZhdWx0c10gOiBbXTtcbn07XG5cbi8qKlxuICogMS4gSWYgdGhlIG5vZGUgaGFzIGl0J3Mgb3duIHBpcGVsaW5lLCBkZWZhdWx0cyBvciBjb25maWcgdGhlbiB1c2UgdGhhdCxcbiAqICAgIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgaGFzIGJlZW4gcGFzc2VkIGRvd24gZnJvbSBmdXJ0aGVyIHVwIHRoZSB0cmVlLlxuICogMi4gSWYgaXQncyBhIGdyb3VwaW5nIG5vZGUsIHRoZW4gZmlyc3Qgb2YgYWxsIGNvbXB1dGVzIGFsbCBpdCdzIGNoaWxkcmVuLlxuICogICAgVGhpcyBpcyBkb2luZyBhIGRlcHRoIGZpcnN0IHRyYXZlcnNhbC5cbiAqIDMuIE90aGVyd2lzZSBtZXJnZXMgdGhlIGRlZmF1bHRzIGludG8gdGhlIGlucHV0cy5cbiAqIDQuIEdvZXMgdGhyb3VnaCB0aGUgcGlwZWxpbmUgcGx1Z2lucywgYnkgY2hlY2tpbmcgaWYgaXQncyBgZXhlY3V0ZWAgcGx1Z2luLiBJZiBzbyBzZXRzIG91dHB1dHMuXG4gKiAgICBJZiBpcyBhIGBncm91cGJ5YCBwbHVnaW4sIGl0IHdpbGwgcmV0dXJuIGNoaWxkIGNvbXBvbmVudHMgcmF0aGVyIHRoYW4gb3V0cHV0cy5cbiAqIDUuIFNpbmNlIGFmdGVyIGBncm91cGJ5YCwgdGhlcmUgYXJlIG5ldyBjaGlsZCBjb21wb25lbnRzLCB0aGVuIGNvbXB1dGVzIHRoZW0uXG4gKiAgICBOb3RlOiBgcGlwZWxpbmVgIG5vdyBlcXVhbHMgdGhlIHJlbWFpbmluZyBwbHUuZ2lucyB0byBhcHBseSB0byBlYWNoIGNoaWxkXG4gKi9cbmNvbnN0IGNvbXB1dGVOb2RlID0gYXN5bmMgKG5vZGU6IE5vZGUsIHBhcmFtczogUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgcGlwZWxpbmUgPSAobm9kZS5waXBlbGluZSB8fCBwYXJhbXMucGlwZWxpbmUpIGFzIHN0cmluZ1tdO1xuICBjb25zdCBjb25maWcgPSBub2RlLmNvbmZpZyB8fCBwYXJhbXMuY29uZmlnO1xuICBjb25zdCBkZWZhdWx0cyA9IG5vZGUuZGVmYXVsdHMgfHwgcGFyYW1zLmRlZmF1bHRzO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgaW5wdXRTdG9yYWdlID0gc3RydWN0dXJlZENsb25lKG5vZGUuaW5wdXRzKSBhcyBQbHVnaW5QYXJhbXNbXTtcbiAgaW5wdXRTdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhpbnB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgY29uc3QgcGlwZWxpbmVDb3B5ID0gc3RydWN0dXJlZENsb25lKHBpcGVsaW5lKTtcblxuICB3aGlsZSAocGlwZWxpbmVDb3B5Lmxlbmd0aCAhPT0gMCkge1xuICAgIGNvbnN0IHBsdWdpbk5hbWUgPSBwaXBlbGluZUNvcHkuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgY29uc3QgcGx1Z2luID0gcGFyYW1zLnBsdWdpblN0b3JhZ2UuZ2V0KHBsdWdpbk5hbWUpO1xuICAgIGNvbnN0IG5vZGVDb25maWcgPSBjb25maWcgJiYgY29uZmlnW3BsdWdpbk5hbWVdO1xuXG4gICAgaWYgKGlzRXhlY3V0ZShwbHVnaW4pKSB7XG4gICAgICBpbnB1dFN0b3JhZ2UgPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShpbnB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuICAgICAgbm9kZS5vdXRwdXRzID0gaW5wdXRTdG9yYWdlO1xuICAgIH1cblxuICAgIGlmIChpc0dyb3VwQnkocGx1Z2luKSkge1xuICAgICAgbm9kZS5jaGlsZHJlbiA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKFxuICAgICAgICBpbnB1dFN0b3JhZ2UsXG4gICAgICAgIG5vZGVDb25maWcgYXMgR3JvdXBCeUNvbmZpZ1xuICAgICAgKTtcbiAgICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICAgIGRlbGV0ZSBub2RlLm91dHB1dHM7XG5cbiAgICAgIGF3YWl0IHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBwaXBlbGluZTogcGlwZWxpbmVDb3B5LFxuICAgICAgICBkZWZhdWx0cyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSk7XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGNvcHkgb2YgZXhpc3RpbmcgdHJlZSwgdGhlbiBhcHBsaWVzIGNvbXB1dGluZyBzdHJhdGVneS5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXB1dGUgPSBhc3luYyAodHJlZTogYW55LCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpID0+IHtcbiAgY29uc3QgY29weU9mVHJlZSA9IHN0cnVjdHVyZWRDbG9uZSh0cmVlKTtcblxuICBhd2FpdCBjb21wdXRlTm9kZShjb3B5T2ZUcmVlLCBwYXJhbXMpO1xuXG4gIHJldHVybiBjb3B5T2ZUcmVlO1xufTtcbiJdfQ==
package/build/lib/load.js CHANGED
@@ -12,8 +12,10 @@ const config_1 = require("../config");
12
12
  const load = async (inputPath, paramPath) => {
13
13
  const rawManifest = await (0, yaml_1.openYamlFileAsObject)(inputPath);
14
14
  const { tree, ...context } = (0, validations_1.validateManifest)(rawManifest);
15
- const parametersFromCli = paramPath && (await (0, json_1.readAndParseJson)(paramPath)); // todo: validate json
16
- const parameters = parametersFromCli || config_1.PARAMETERS;
15
+ const parametersFromCli = paramPath &&
16
+ (await (0, json_1.readAndParseJson)(paramPath)); /** @todo validate json */
17
+ const parameters = parametersFromCli ||
18
+ config_1.PARAMETERS; /** @todo PARAMETERS should be specified in parameterize only */
17
19
  return {
18
20
  tree,
19
21
  context,
@@ -21,4 +23,4 @@ const load = async (inputPath, paramPath) => {
21
23
  };
22
24
  };
23
25
  exports.load = load;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBcUQ7QUFDckQsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFHckM7OztHQUdHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTSxTQUFTLENBQUMsQ0FBQztJQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxNQUFNLGlCQUFpQixHQUNyQixTQUFTLElBQUksQ0FBQyxNQUFNLElBQUEsdUJBQWdCLEVBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtJQUN0RixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsSUFBSSxtQkFBVSxDQUFDO0lBRW5ELE9BQU87UUFDTCxJQUFJO1FBQ0osT0FBTztRQUNQLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBWlcsUUFBQSxJQUFJLFFBWWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3ZhbGlkYXRlTWFuaWZlc3R9IGZyb20gJy4uL3V0aWwvdmFsaWRhdGlvbnMnO1xuaW1wb3J0IHtvcGVuWWFtbEZpbGVBc09iamVjdH0gZnJvbSAnLi4vdXRpbC95YW1sJztcbmltcG9ydCB7cmVhZEFuZFBhcnNlSnNvbn0gZnJvbSAnLi4vdXRpbC9qc29uJztcblxuaW1wb3J0IHtQQVJBTUVURVJTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtQYXJhbWV0ZXJzfSBmcm9tICcuLi90eXBlcy9wYXJhbWV0ZXJzJztcblxuLyoqXG4gKiBQYXJzZXMgbWFuaWZlc3QgZmlsZSBhcyBhbiBvYmplY3QuIENoZWNrcyBpZiBwYXJhbWV0ZXIgZmlsZSBpcyBwYXNzZWQgdmlhIENMSSwgdGhlbiBsb2FkcyBpdCB0b28uXG4gKiBSZXR1cm5zIGNvbnRleHQsIHRyZWUgYW5kIHBhcmFtZXRlcnMgKGVpdGhlciB0aGUgZGVmYXVsdCBvbmUsIG9yIGZyb20gQ0xJKS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWQgPSBhc3luYyAoaW5wdXRQYXRoOiBzdHJpbmcsIHBhcmFtUGF0aD86IHN0cmluZykgPT4ge1xuICBjb25zdCByYXdNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PGFueT4oaW5wdXRQYXRoKTtcbiAgY29uc3Qge3RyZWUsIC4uLmNvbnRleHR9ID0gdmFsaWRhdGVNYW5pZmVzdChyYXdNYW5pZmVzdCk7XG4gIGNvbnN0IHBhcmFtZXRlcnNGcm9tQ2xpID1cbiAgICBwYXJhbVBhdGggJiYgKGF3YWl0IHJlYWRBbmRQYXJzZUpzb248UGFyYW1ldGVycz4ocGFyYW1QYXRoKSk7IC8vIHRvZG86IHZhbGlkYXRlIGpzb25cbiAgY29uc3QgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNGcm9tQ2xpIHx8IFBBUkFNRVRFUlM7XG5cbiAgcmV0dXJuIHtcbiAgICB0cmVlLFxuICAgIGNvbnRleHQsXG4gICAgcGFyYW1ldGVycyxcbiAgfTtcbn07XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBcUQ7QUFDckQsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFHckM7OztHQUdHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTSxTQUFTLENBQUMsQ0FBQztJQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxNQUFNLGlCQUFpQixHQUNyQixTQUFTO1FBQ1QsQ0FBQyxNQUFNLElBQUEsdUJBQWdCLEVBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUM3RSxNQUFNLFVBQVUsR0FDZCxpQkFBaUI7UUFDakIsbUJBQVUsQ0FBQyxDQUFDLGdFQUFnRTtJQUU5RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLE9BQU87UUFDUCxVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWZXLFFBQUEsSUFBSSxRQWVmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt2YWxpZGF0ZU1hbmlmZXN0fSBmcm9tICcuLi91dGlsL3ZhbGlkYXRpb25zJztcbmltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3R9IGZyb20gJy4uL3V0aWwveWFtbCc7XG5pbXBvcnQge3JlYWRBbmRQYXJzZUpzb259IGZyb20gJy4uL3V0aWwvanNvbic7XG5cbmltcG9ydCB7UEFSQU1FVEVSU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbi8qKlxuICogUGFyc2VzIG1hbmlmZXN0IGZpbGUgYXMgYW4gb2JqZWN0LiBDaGVja3MgaWYgcGFyYW1ldGVyIGZpbGUgaXMgcGFzc2VkIHZpYSBDTEksIHRoZW4gbG9hZHMgaXQgdG9vLlxuICogUmV0dXJucyBjb250ZXh0LCB0cmVlIGFuZCBwYXJhbWV0ZXJzIChlaXRoZXIgdGhlIGRlZmF1bHQgb25lLCBvciBmcm9tIENMSSkuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkID0gYXN5bmMgKGlucHV0UGF0aDogc3RyaW5nLCBwYXJhbVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmF3TWFuaWZlc3QgPSBhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxhbnk+KGlucHV0UGF0aCk7XG4gIGNvbnN0IHt0cmVlLCAuLi5jb250ZXh0fSA9IHZhbGlkYXRlTWFuaWZlc3QocmF3TWFuaWZlc3QpO1xuICBjb25zdCBwYXJhbWV0ZXJzRnJvbUNsaSA9XG4gICAgcGFyYW1QYXRoICYmXG4gICAgKGF3YWl0IHJlYWRBbmRQYXJzZUpzb248UGFyYW1ldGVycz4ocGFyYW1QYXRoKSk7IC8qKiBAdG9kbyB2YWxpZGF0ZSBqc29uICovXG4gIGNvbnN0IHBhcmFtZXRlcnMgPVxuICAgIHBhcmFtZXRlcnNGcm9tQ2xpIHx8XG4gICAgUEFSQU1FVEVSUzsgLyoqIEB0b2RvIFBBUkFNRVRFUlMgc2hvdWxkIGJlIHNwZWNpZmllZCBpbiBwYXJhbWV0ZXJpemUgb25seSAqL1xuXG4gIHJldHVybiB7XG4gICAgdHJlZSxcbiAgICBjb250ZXh0LFxuICAgIHBhcmFtZXRlcnMsXG4gIH07XG59O1xuIl19
@@ -1,5 +1,6 @@
1
1
  import { ManifestParameter } from '../types/manifest';
2
+ import { Parameters } from '../types/parameters';
2
3
  export declare const parameterize: {
3
- combine: (contextParameters: ManifestParameter[] | null | undefined, parameters: any) => void;
4
+ combine: (contextParameters: ManifestParameter[] | null | undefined, parameters: Parameters) => void;
4
5
  getAggregationMethod: (unitName: string) => "sum" | "none" | "avg";
5
6
  };