@decaf-ts/utils 0.1.7 → 0.2.1
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.
- package/dist/assets/slogans.json +802 -0
- package/dist/utils.cjs +4474 -0
- package/dist/utils.esm.cjs +4427 -0
- package/lib/bin/build-scripts.cjs +11 -0
- package/lib/bin/build-scripts.d.ts +1 -0
- package/lib/bin/tag-release.cjs +1 -3
- package/lib/bin/tag-release.d.ts +1 -0
- package/lib/bin/update-scripts.cjs +1 -3
- package/lib/bin/update-scripts.d.ts +1 -0
- package/lib/cli/command.cjs +1 -2
- package/lib/cli/commands/build-scripts.cjs +273 -0
- package/lib/cli/commands/build-scripts.d.ts +50 -0
- package/lib/cli/commands/index.cjs +2 -2
- package/{dist/types → lib}/cli/commands/index.d.ts +1 -0
- package/lib/cli/commands/tag-release.cjs +1 -2
- package/lib/cli/commands/update-scripts.cjs +6 -3
- package/lib/cli/constants.cjs +1 -2
- package/lib/cli/index.cjs +1 -2
- package/lib/cli/types.cjs +1 -2
- package/lib/esm/assets/slogans.json +801 -801
- package/lib/esm/bin/build-scripts.d.ts +1 -0
- package/lib/esm/bin/build-scripts.js +9 -0
- package/lib/esm/bin/tag-release.d.ts +1 -0
- package/lib/esm/bin/tag-release.js +1 -3
- package/lib/esm/bin/update-scripts.d.ts +1 -0
- package/lib/esm/bin/update-scripts.js +1 -3
- package/lib/esm/cli/command.d.ts +110 -0
- package/lib/esm/cli/command.js +1 -2
- package/lib/esm/cli/commands/build-scripts.d.ts +50 -0
- package/lib/esm/cli/commands/build-scripts.js +266 -0
- package/lib/esm/cli/commands/index.d.ts +3 -0
- package/lib/esm/cli/commands/index.js +2 -2
- package/lib/esm/cli/commands/tag-release.d.ts +105 -0
- package/lib/esm/cli/commands/tag-release.js +1 -2
- package/lib/esm/cli/commands/update-scripts.d.ts +211 -0
- package/lib/esm/cli/commands/update-scripts.js +6 -3
- package/lib/esm/cli/constants.d.ts +73 -0
- package/lib/esm/cli/constants.js +1 -2
- package/lib/esm/cli/index.d.ts +4 -0
- package/lib/esm/cli/index.js +1 -2
- package/lib/esm/cli/types.d.ts +28 -0
- package/lib/esm/cli/types.js +1 -2
- package/{dist/types → lib/esm}/index.d.ts +2 -2
- package/lib/esm/index.js +3 -4
- package/lib/esm/input/index.js +1 -2
- package/{dist/types → lib/esm}/input/input.d.ts +3 -3
- package/lib/esm/input/input.js +1 -2
- package/lib/esm/input/types.js +1 -2
- package/lib/esm/output/common.js +1 -2
- package/lib/esm/output/index.js +1 -2
- package/lib/esm/output/logging.js +1 -2
- package/lib/esm/output/types.js +1 -2
- package/lib/esm/utils/accumulator.js +1 -2
- package/lib/esm/utils/constants.js +1 -2
- package/lib/esm/utils/environment.js +1 -2
- package/{dist/types → lib/esm}/utils/fs.d.ts +16 -0
- package/lib/esm/utils/fs.js +115 -2
- package/lib/esm/utils/http.js +1 -2
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/md.js +1 -2
- package/lib/esm/utils/tests.js +1 -2
- package/lib/esm/utils/text.js +1 -2
- package/lib/esm/utils/timeout.js +1 -2
- package/lib/esm/utils/types.js +1 -2
- package/lib/esm/utils/utils.js +1 -2
- package/lib/esm/utils/web.js +1 -2
- package/lib/esm/writers/OutputWriter.js +1 -2
- package/lib/esm/writers/RegexpOutputWriter.js +1 -2
- package/lib/esm/writers/StandardOutputWriter.js +2 -4
- package/lib/esm/writers/index.js +1 -2
- package/lib/esm/writers/types.js +1 -2
- package/lib/index.cjs +3 -4
- package/lib/index.d.ts +39 -0
- package/lib/input/index.cjs +1 -2
- package/lib/input/index.d.ts +2 -0
- package/lib/input/input.cjs +1 -2
- package/lib/input/input.d.ts +472 -0
- package/lib/input/types.cjs +1 -2
- package/lib/input/types.d.ts +76 -0
- package/lib/output/common.cjs +1 -2
- package/lib/output/common.d.ts +51 -0
- package/lib/output/index.cjs +1 -2
- package/lib/output/index.d.ts +3 -0
- package/lib/output/logging.cjs +1 -2
- package/lib/output/logging.d.ts +177 -0
- package/lib/output/types.cjs +1 -2
- package/lib/output/types.d.ts +203 -0
- package/lib/utils/accumulator.cjs +1 -2
- package/lib/utils/accumulator.d.ts +105 -0
- package/lib/utils/constants.cjs +1 -2
- package/lib/utils/constants.d.ts +136 -0
- package/lib/utils/environment.cjs +1 -2
- package/lib/utils/environment.d.ts +57 -0
- package/lib/utils/fs.cjs +119 -2
- package/lib/utils/fs.d.ts +149 -0
- package/lib/utils/http.cjs +1 -2
- package/lib/utils/http.d.ts +41 -0
- package/lib/utils/index.cjs +1 -2
- package/lib/utils/index.d.ts +7 -0
- package/lib/utils/md.cjs +1 -2
- package/lib/utils/md.d.ts +156 -0
- package/lib/utils/tests.cjs +1 -2
- package/lib/utils/tests.d.ts +170 -0
- package/lib/utils/text.cjs +1 -2
- package/lib/utils/text.d.ts +106 -0
- package/lib/utils/timeout.cjs +1 -2
- package/lib/utils/timeout.d.ts +1 -0
- package/lib/utils/types.cjs +1 -2
- package/lib/utils/types.d.ts +81 -0
- package/lib/utils/utils.cjs +1 -2
- package/lib/utils/utils.d.ts +91 -0
- package/lib/utils/web.cjs +1 -2
- package/lib/utils/web.d.ts +7 -0
- package/lib/writers/OutputWriter.cjs +1 -2
- package/lib/writers/OutputWriter.d.ts +49 -0
- package/lib/writers/RegexpOutputWriter.cjs +1 -2
- package/lib/writers/RegexpOutputWriter.d.ts +69 -0
- package/lib/writers/StandardOutputWriter.cjs +2 -4
- package/lib/writers/StandardOutputWriter.d.ts +91 -0
- package/lib/writers/index.cjs +1 -2
- package/lib/writers/index.d.ts +4 -0
- package/lib/writers/types.cjs +1 -2
- package/lib/writers/types.d.ts +29 -0
- package/package.json +21 -31
- package/dist/esm/utils.js +0 -1
- package/dist/types/bin/tag-release.d.ts +0 -2
- package/dist/types/bin/update-scripts.d.ts +0 -2
- package/dist/utils.js +0 -1
- /package/{dist/types → lib}/cli/command.d.ts +0 -0
- /package/{dist/types → lib}/cli/commands/tag-release.d.ts +0 -0
- /package/{dist/types → lib}/cli/commands/update-scripts.d.ts +0 -0
- /package/{dist/types → lib}/cli/constants.d.ts +0 -0
- /package/{dist/types → lib}/cli/index.d.ts +0 -0
- /package/{dist/types → lib}/cli/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/input/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/input/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/common.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/logging.d.ts +0 -0
- /package/{dist/types → lib/esm}/output/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/accumulator.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/constants.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/environment.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/http.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/md.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/tests.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/text.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/timeout.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/types.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/utils.d.ts +0 -0
- /package/{dist/types → lib/esm}/utils/web.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/OutputWriter.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/RegexpOutputWriter.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/StandardOutputWriter.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/index.d.ts +0 -0
- /package/{dist/types → lib/esm}/writers/types.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BuildScripts } from "../cli/commands";
|
|
2
|
+
new BuildScripts()
|
|
3
|
+
.execute()
|
|
4
|
+
.then(() => BuildScripts.log.info("Scripts built successfully."))
|
|
5
|
+
.catch((e) => {
|
|
6
|
+
BuildScripts.log.error(`Error building scripts: ${e}`);
|
|
7
|
+
process.exit(1);
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW4vYnVpbGQtc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsSUFBSSxZQUFZLEVBQUU7S0FDZixPQUFPLEVBQUU7S0FDVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUNoRSxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtJQUNwQixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRTY3JpcHRzIH0gZnJvbSBcIi4uL2NsaS9jb21tYW5kc1wiO1xuXG5uZXcgQnVpbGRTY3JpcHRzKClcbiAgLmV4ZWN1dGUoKVxuICAudGhlbigoKSA9PiBCdWlsZFNjcmlwdHMubG9nLmluZm8oXCJTY3JpcHRzIGJ1aWx0IHN1Y2Nlc3NmdWxseS5cIikpXG4gIC5jYXRjaCgoZTogdW5rbm93bikgPT4ge1xuICAgIEJ1aWxkU2NyaXB0cy5sb2cuZXJyb3IoYEVycm9yIGJ1aWxkaW5nIHNjcmlwdHM6ICR7ZX1gKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/node
|
|
2
1
|
import { ReleaseScript } from "../cli/commands";
|
|
3
2
|
new ReleaseScript()
|
|
4
3
|
.execute()
|
|
@@ -7,5 +6,4 @@ new ReleaseScript()
|
|
|
7
6
|
ReleaseScript.log.error(`Error preparing release: ${e}`);
|
|
8
7
|
process.exit(1);
|
|
9
8
|
});
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9iaW4vdGFnLXJlbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxJQUFJLGFBQWEsRUFBRTtLQUNoQixPQUFPLEVBQUU7S0FDVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUNqRSxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtJQUNwQixhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImJpbi90YWctcmVsZWFzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vbm9kZVxuaW1wb3J0IHsgUmVsZWFzZVNjcmlwdCB9IGZyb20gXCIuLi9jbGkvY29tbWFuZHNcIjtcblxubmV3IFJlbGVhc2VTY3JpcHQoKVxuICAuZXhlY3V0ZSgpXG4gIC50aGVuKCgpID0+IFJlbGVhc2VTY3JpcHQubG9nLmluZm8oXCJSZWxlYXNlIHB1c2hlZCBzdWNjZXNzZnVsbHlcIikpXG4gIC5jYXRjaCgoZTogdW5rbm93bikgPT4ge1xuICAgIFJlbGVhc2VTY3JpcHQubG9nLmVycm9yKGBFcnJvciBwcmVwYXJpbmcgcmVsZWFzZTogJHtlfWApO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfSk7XG4iXX0=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXJlbGVhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmluL3RhZy1yZWxlYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxJQUFJLGFBQWEsRUFBRTtLQUNoQixPQUFPLEVBQUU7S0FDVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUNqRSxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtJQUNwQixhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVsZWFzZVNjcmlwdCB9IGZyb20gXCIuLi9jbGkvY29tbWFuZHNcIjtcblxubmV3IFJlbGVhc2VTY3JpcHQoKVxuICAuZXhlY3V0ZSgpXG4gIC50aGVuKCgpID0+IFJlbGVhc2VTY3JpcHQubG9nLmluZm8oXCJSZWxlYXNlIHB1c2hlZCBzdWNjZXNzZnVsbHlcIikpXG4gIC5jYXRjaCgoZTogdW5rbm93bikgPT4ge1xuICAgIFJlbGVhc2VTY3JpcHQubG9nLmVycm9yKGBFcnJvciBwcmVwYXJpbmcgcmVsZWFzZTogJHtlfWApO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/node
|
|
2
1
|
import { TemplateSync } from "../cli/commands";
|
|
3
2
|
new TemplateSync()
|
|
4
3
|
.execute()
|
|
@@ -7,5 +6,4 @@ new TemplateSync()
|
|
|
7
6
|
TemplateSync.log.error(`Error preparing template: ${e}`);
|
|
8
7
|
process.exit(1);
|
|
9
8
|
});
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9iaW4vdXBkYXRlLXNjcmlwdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxJQUFJLFlBQVksRUFBRTtLQUNmLE9BQU8sRUFBRTtLQUNULElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDVCxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDbkIsNEVBQTRFLENBQzdFLENBQ0Y7S0FDQSxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtJQUNwQixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImJpbi91cGRhdGUtc2NyaXB0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vbm9kZVxuaW1wb3J0IHsgVGVtcGxhdGVTeW5jIH0gZnJvbSBcIi4uL2NsaS9jb21tYW5kc1wiO1xuXG5uZXcgVGVtcGxhdGVTeW5jKClcbiAgLmV4ZWN1dGUoKVxuICAudGhlbigoKSA9PlxuICAgIFRlbXBsYXRlU3luYy5sb2cuaW5mbyhcbiAgICAgIFwiVGVtcGxhdGUgdXBkYXRlZCBzdWNjZXNzZnVsbHkuIFBsZWFzZSBjb25maXJtIGFsbCBjaGFuZ2VzIGJlZm9yZSBjb21taXRpbmdcIlxuICAgIClcbiAgKVxuICAuY2F0Y2goKGU6IHVua25vd24pID0+IHtcbiAgICBUZW1wbGF0ZVN5bmMubG9nLmVycm9yKGBFcnJvciBwcmVwYXJpbmcgdGVtcGxhdGU6ICR7ZX1gKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xuIl19
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXNjcmlwdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmluL3VwZGF0ZS1zY3JpcHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxJQUFJLFlBQVksRUFBRTtLQUNmLE9BQU8sRUFBRTtLQUNULElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDVCxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDbkIsNEVBQTRFLENBQzdFLENBQ0Y7S0FDQSxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtJQUNwQixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVTeW5jIH0gZnJvbSBcIi4uL2NsaS9jb21tYW5kc1wiO1xuXG5uZXcgVGVtcGxhdGVTeW5jKClcbiAgLmV4ZWN1dGUoKVxuICAudGhlbigoKSA9PlxuICAgIFRlbXBsYXRlU3luYy5sb2cuaW5mbyhcbiAgICAgIFwiVGVtcGxhdGUgdXBkYXRlZCBzdWNjZXNzZnVsbHkuIFBsZWFzZSBjb25maXJtIGFsbCBjaGFuZ2VzIGJlZm9yZSBjb21taXRpbmdcIlxuICAgIClcbiAgKVxuICAuY2F0Y2goKGU6IHVua25vd24pID0+IHtcbiAgICBUZW1wbGF0ZVN5bmMubG9nLmVycm9yKGBFcnJvciBwcmVwYXJpbmcgdGVtcGxhdGU6ICR7ZX1gKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xuIl19
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ParseArgsResult } from "../input/types";
|
|
2
|
+
import { LoggingConfig, VerbosityLogger } from "../output/types";
|
|
3
|
+
import { CommandOptions } from "./types";
|
|
4
|
+
import { DefaultCommandValues } from "./constants";
|
|
5
|
+
/**
|
|
6
|
+
* @class Command
|
|
7
|
+
* @abstract
|
|
8
|
+
* @template I - The type of input options for the command.
|
|
9
|
+
* @template R - The return type of the command execution.
|
|
10
|
+
* @memberOf utils/cli
|
|
11
|
+
* @description Abstract base class for command implementation.
|
|
12
|
+
* @summary Provides a structure for creating command-line interface commands with input handling, logging, and execution flow.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} name - The name of the command.
|
|
15
|
+
* @param {CommandOptions<I>} [inputs] - The input options for the command.
|
|
16
|
+
* @param {string[]} [requirements] - The list of required dependencies for the command.
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class Command<I, R> {
|
|
19
|
+
protected name: string;
|
|
20
|
+
protected inputs: CommandOptions<I>;
|
|
21
|
+
protected requirements: string[];
|
|
22
|
+
/**
|
|
23
|
+
* @static
|
|
24
|
+
* @description Static logger for the Command class.
|
|
25
|
+
* @type {VerbosityLogger}
|
|
26
|
+
*/
|
|
27
|
+
static log: VerbosityLogger;
|
|
28
|
+
/**
|
|
29
|
+
* @protected
|
|
30
|
+
* @description Instance logger for the command.
|
|
31
|
+
* @type {VerbosityLogger}
|
|
32
|
+
*/
|
|
33
|
+
protected log: VerbosityLogger;
|
|
34
|
+
protected constructor(name: string, inputs?: CommandOptions<I>, requirements?: string[]);
|
|
35
|
+
/**
|
|
36
|
+
* @protected
|
|
37
|
+
* @async
|
|
38
|
+
* @description Checks if all required dependencies are present.
|
|
39
|
+
* @summary Retrieves the list of dependencies and compares it against the required dependencies for the command.
|
|
40
|
+
* @returns {Promise<void>} A promise that resolves when the check is complete.
|
|
41
|
+
*
|
|
42
|
+
* @mermaid
|
|
43
|
+
* sequenceDiagram
|
|
44
|
+
* participant Command
|
|
45
|
+
* participant getDependencies
|
|
46
|
+
* participant Set
|
|
47
|
+
* Command->>getDependencies: Call
|
|
48
|
+
* getDependencies-->>Command: Return {prod, dev, peer}
|
|
49
|
+
* Command->>Set: Create Set from prod, dev, peer
|
|
50
|
+
* Set-->>Command: Return unique dependencies
|
|
51
|
+
* Command->>Command: Compare against requirements
|
|
52
|
+
* alt Missing dependencies
|
|
53
|
+
* Command->>Command: Add to missing list
|
|
54
|
+
* end
|
|
55
|
+
* Note over Command: If missing.length > 0, handle missing dependencies
|
|
56
|
+
*/
|
|
57
|
+
protected checkRequirements(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* @protected
|
|
60
|
+
* @description Provides help information for the command.
|
|
61
|
+
* @summary This method should be overridden in derived classes to provide specific help information.
|
|
62
|
+
* @param {ParseArgsResult} args - The parsed command-line arguments.
|
|
63
|
+
* @returns {void}
|
|
64
|
+
*/
|
|
65
|
+
protected help(args: ParseArgsResult): void;
|
|
66
|
+
/**
|
|
67
|
+
* @protected
|
|
68
|
+
* @abstract
|
|
69
|
+
* @description Runs the command with the provided arguments.
|
|
70
|
+
* @summary This method should be implemented in derived classes to define the command's behavior.
|
|
71
|
+
* @param {ParseArgsResult} answers - The parsed command-line arguments.
|
|
72
|
+
* @returns {Promise<R | string | void>} A promise that resolves with the command's result.
|
|
73
|
+
*/
|
|
74
|
+
protected abstract run<R>(answers: LoggingConfig & typeof DefaultCommandValues & {
|
|
75
|
+
[k in keyof I]: unknown;
|
|
76
|
+
}): Promise<R | string | void>;
|
|
77
|
+
/**
|
|
78
|
+
* @async
|
|
79
|
+
* @description Executes the command.
|
|
80
|
+
* @summary This method handles the overall execution flow of the command, including parsing arguments,
|
|
81
|
+
* setting up logging, checking for version or help requests, and running the command.
|
|
82
|
+
* @returns {Promise<R | string | void>} A promise that resolves with the command's result.
|
|
83
|
+
*
|
|
84
|
+
* @mermaid
|
|
85
|
+
* sequenceDiagram
|
|
86
|
+
* participant Command
|
|
87
|
+
* participant UserInput
|
|
88
|
+
* participant Logging
|
|
89
|
+
* participant getPackageVersion
|
|
90
|
+
* participant printBanner
|
|
91
|
+
* Command->>UserInput: parseArgs(inputs)
|
|
92
|
+
* UserInput-->>Command: Return ParseArgsResult
|
|
93
|
+
* Command->>Command: Process options
|
|
94
|
+
* Command->>Logging: setConfig(options)
|
|
95
|
+
* alt version requested
|
|
96
|
+
* Command->>getPackageVersion: Call
|
|
97
|
+
* getPackageVersion-->>Command: Return version
|
|
98
|
+
* else help requested
|
|
99
|
+
* Command->>Command: help(args)
|
|
100
|
+
* else banner requested
|
|
101
|
+
* Command->>printBanner: Call
|
|
102
|
+
* end
|
|
103
|
+
* Command->>Command: run(args)
|
|
104
|
+
* alt error occurs
|
|
105
|
+
* Command->>Command: Log error
|
|
106
|
+
* end
|
|
107
|
+
* Command-->>Command: Return result
|
|
108
|
+
*/
|
|
109
|
+
execute(): Promise<R | string | void>;
|
|
110
|
+
}
|
package/lib/esm/cli/command.js
CHANGED
|
@@ -145,5 +145,4 @@ export class Command {
|
|
|
145
145
|
return result;
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QztRQUVELE9BQU8sTUFBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsImZpbGUiOiJjbGkvY29tbWFuZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlQXJnc1Jlc3VsdCB9IGZyb20gXCIuLi9pbnB1dC90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZywgVmVyYm9zaXR5TG9nZ2VyIH0gZnJvbSBcIi4uL291dHB1dC90eXBlc1wiO1xuaW1wb3J0IHsgQ29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gXCIuLi9vdXRwdXQvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgRGVmYXVsdExvZ2dpbmdDb25maWcsIExvZ0xldmVsIH0gZnJvbSBcIi4uL3V0aWxzL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVXNlcklucHV0IH0gZnJvbSBcIi4uL2lucHV0L2lucHV0XCI7XG5pbXBvcnQgeyBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIERlZmF1bHRDb21tYW5kVmFsdWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXREZXBlbmRlbmNpZXMsIGdldFBhY2thZ2VWZXJzaW9uIH0gZnJvbSBcIi4uL3V0aWxzL2ZzXCI7XG5pbXBvcnQgeyBwcmludEJhbm5lciB9IGZyb20gXCIuLi9vdXRwdXQvY29tbW9uXCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi91dGlscy9lbnZpcm9ubWVudFwiO1xuXG4vKipcbiAqIEBjbGFzcyBDb21tYW5kXG4gKiBAYWJzdHJhY3RcbiAqIEB0ZW1wbGF0ZSBJIC0gVGhlIHR5cGUgb2YgaW5wdXQgb3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKiBAdGVtcGxhdGUgUiAtIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24uXG4gKiBAbWVtYmVyT2YgdXRpbHMvY2xpXG4gKiBAZGVzY3JpcHRpb24gQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgY29tbWFuZCBpbXBsZW1lbnRhdGlvbi5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgc3RydWN0dXJlIGZvciBjcmVhdGluZyBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGNvbW1hbmRzIHdpdGggaW5wdXQgaGFuZGxpbmcsIGxvZ2dpbmcsIGFuZCBleGVjdXRpb24gZmxvdy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIHtDb21tYW5kT3B0aW9uczxJPn0gW2lucHV0c10gLSBUaGUgaW5wdXQgb3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBbcmVxdWlyZW1lbnRzXSAtIFRoZSBsaXN0IG9mIHJlcXVpcmVkIGRlcGVuZGVuY2llcyBmb3IgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb21tYW5kPEksIFI+IHtcbiAgLyoqXG4gICAqIEBzdGF0aWNcbiAgICogQGRlc2NyaXB0aW9uIFN0YXRpYyBsb2dnZXIgZm9yIHRoZSBDb21tYW5kIGNsYXNzLlxuICAgKiBAdHlwZSB7VmVyYm9zaXR5TG9nZ2VyfVxuICAgKi9cbiAgc3RhdGljIGxvZzogVmVyYm9zaXR5TG9nZ2VyO1xuXG4gIC8qKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBsb2dnZXIgZm9yIHRoZSBjb21tYW5kLlxuICAgKiBAdHlwZSB7VmVyYm9zaXR5TG9nZ2VyfVxuICAgKi9cbiAgcHJvdGVjdGVkIGxvZzogVmVyYm9zaXR5TG9nZ2VyO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBpbnB1dHM6IENvbW1hbmRPcHRpb25zPEk+ID0ge30gYXMgdW5rbm93biBhcyBDb21tYW5kT3B0aW9uczxJPixcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZW1lbnRzOiBzdHJpbmdbXSA9IFtdXG4gICkge1xuICAgIGlmICghQ29tbWFuZC5sb2cpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21tYW5kLCBcImxvZ1wiLCB7XG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IExvZ2dpbmcuZm9yKENvbW1hbmQubmFtZSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMubG9nID0gQ29tbWFuZC5sb2c7XG4gICAgfVxuICAgIHRoaXMubG9nID0gQ29tbWFuZC5sb2cuZm9yKHRoaXMubmFtZSk7XG4gICAgdGhpcy5pbnB1dHMgPSBPYmplY3QuYXNzaWduKHt9LCBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIGlucHV0cyk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3RlY3RlZFxuICAgKiBAYXN5bmNcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhbGwgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBwcmVzZW50LlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIGFuZCBjb21wYXJlcyBpdCBhZ2FpbnN0IHRoZSByZXF1aXJlZCBkZXBlbmRlbmNpZXMgZm9yIHRoZSBjb21tYW5kLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY2hlY2sgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IENvbW1hbmRcbiAgICogICBwYXJ0aWNpcGFudCBnZXREZXBlbmRlbmNpZXNcbiAgICogICBwYXJ0aWNpcGFudCBTZXRcbiAgICogICBDb21tYW5kLT4+Z2V0RGVwZW5kZW5jaWVzOiBDYWxsXG4gICAqICAgZ2V0RGVwZW5kZW5jaWVzLS0+PkNvbW1hbmQ6IFJldHVybiB7cHJvZCwgZGV2LCBwZWVyfVxuICAgKiAgIENvbW1hbmQtPj5TZXQ6IENyZWF0ZSBTZXQgZnJvbSBwcm9kLCBkZXYsIHBlZXJcbiAgICogICBTZXQtLT4+Q29tbWFuZDogUmV0dXJuIHVuaXF1ZSBkZXBlbmRlbmNpZXNcbiAgICogICBDb21tYW5kLT4+Q29tbWFuZDogQ29tcGFyZSBhZ2FpbnN0IHJlcXVpcmVtZW50c1xuICAgKiAgIGFsdCBNaXNzaW5nIGRlcGVuZGVuY2llc1xuICAgKiAgICAgQ29tbWFuZC0+PkNvbW1hbmQ6IEFkZCB0byBtaXNzaW5nIGxpc3RcbiAgICogICBlbmRcbiAgICogICBOb3RlIG92ZXIgQ29tbWFuZDogSWYgbWlzc2luZy5sZW5ndGggPiAwLCBoYW5kbGUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjaGVja1JlcXVpcmVtZW50cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IHByb2QsIGRldiwgcGVlciB9ID0gYXdhaXQgZ2V0RGVwZW5kZW5jaWVzKCk7XG4gICAgY29uc3QgbWlzc2luZyA9IFtdO1xuICAgIGNvbnN0IGZ1bGxMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoWy4uLnByb2QsIC4uLmRldiwgLi4ucGVlcl0pLnZhbHVlcygpXG4gICAgKS5tYXAoKGQpID0+IGQubmFtZSk7XG4gICAgZm9yIChjb25zdCBkZXAgb2YgdGhpcy5yZXF1aXJlbWVudHMpXG4gICAgICBpZiAoIWZ1bGxMaXN0LmluY2x1ZGVzKGRlcCkpIG1pc3NpbmcucHVzaChkZXApO1xuXG4gICAgaWYgKCFtaXNzaW5nLmxlbmd0aCkgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIGhlbHAgaW5mb3JtYXRpb24gZm9yIHRoZSBjb21tYW5kLlxuICAgKiBAc3VtbWFyeSBUaGlzIG1ldGhvZCBzaG91bGQgYmUgb3ZlcnJpZGRlbiBpbiBkZXJpdmVkIGNsYXNzZXMgdG8gcHJvdmlkZSBzcGVjaWZpYyBoZWxwIGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0ge1BhcnNlQXJnc1Jlc3VsdH0gYXJncyAtIFRoZSBwYXJzZWQgY29tbWFuZC1saW5lIGFyZ3VtZW50cy5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHByb3RlY3RlZCBoZWxwKGFyZ3M6IFBhcnNlQXJnc1Jlc3VsdCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmxvZy5pbmZvKFxuICAgICAgYFRoaXMgaXMgaGVscC4gSSdtIG5vIHVzZSBiZWNhdXNlIEkgc2hvdWxkIGhhdmUgYmVlbiBvdmVycmlkZGVuLmBcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQGFic3RyYWN0XG4gICAqIEBkZXNjcmlwdGlvbiBSdW5zIHRoZSBjb21tYW5kIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICogQHN1bW1hcnkgVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGltcGxlbWVudGVkIGluIGRlcml2ZWQgY2xhc3NlcyB0byBkZWZpbmUgdGhlIGNvbW1hbmQncyBiZWhhdmlvci5cbiAgICogQHBhcmFtIHtQYXJzZUFyZ3NSZXN1bHR9IGFuc3dlcnMgLSBUaGUgcGFyc2VkIGNvbW1hbmQtbGluZSBhcmd1bWVudHMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFIgfCBzdHJpbmcgfCB2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY29tbWFuZCdzIHJlc3VsdC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBydW48Uj4oXG4gICAgYW5zd2VyczogTG9nZ2luZ0NvbmZpZyAmXG4gICAgICB0eXBlb2YgRGVmYXVsdENvbW1hbmRWYWx1ZXMgJiB7IFtrIGluIGtleW9mIEldOiB1bmtub3duIH1cbiAgKTogUHJvbWlzZTxSIHwgc3RyaW5nIHwgdm9pZD47XG5cbiAgLyoqXG4gICAqIEBhc3luY1xuICAgKiBAZGVzY3JpcHRpb24gRXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIGhhbmRsZXMgdGhlIG92ZXJhbGwgZXhlY3V0aW9uIGZsb3cgb2YgdGhlIGNvbW1hbmQsIGluY2x1ZGluZyBwYXJzaW5nIGFyZ3VtZW50cyxcbiAgICogc2V0dGluZyB1cCBsb2dnaW5nLCBjaGVja2luZyBmb3IgdmVyc2lvbiBvciBoZWxwIHJlcXVlc3RzLCBhbmQgcnVubmluZyB0aGUgY29tbWFuZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8UiB8IHN0cmluZyB8IHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kJ3MgcmVzdWx0LlxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBDb21tYW5kXG4gICAqICAgcGFydGljaXBhbnQgVXNlcklucHV0XG4gICAqICAgcGFydGljaXBhbnQgTG9nZ2luZ1xuICAgKiAgIHBhcnRpY2lwYW50IGdldFBhY2thZ2VWZXJzaW9uXG4gICAqICAgcGFydGljaXBhbnQgcHJpbnRCYW5uZXJcbiAgICogICBDb21tYW5kLT4+VXNlcklucHV0OiBwYXJzZUFyZ3MoaW5wdXRzKVxuICAgKiAgIFVzZXJJbnB1dC0tPj5Db21tYW5kOiBSZXR1cm4gUGFyc2VBcmdzUmVzdWx0XG4gICAqICAgQ29tbWFuZC0+PkNvbW1hbmQ6IFByb2Nlc3Mgb3B0aW9uc1xuICAgKiAgIENvbW1hbmQtPj5Mb2dnaW5nOiBzZXRDb25maWcob3B0aW9ucylcbiAgICogICBhbHQgdmVyc2lvbiByZXF1ZXN0ZWRcbiAgICogICAgIENvbW1hbmQtPj5nZXRQYWNrYWdlVmVyc2lvbjogQ2FsbFxuICAgKiAgICAgZ2V0UGFja2FnZVZlcnNpb24tLT4+Q29tbWFuZDogUmV0dXJuIHZlcnNpb25cbiAgICogICBlbHNlIGhlbHAgcmVxdWVzdGVkXG4gICAqICAgICBDb21tYW5kLT4+Q29tbWFuZDogaGVscChhcmdzKVxuICAgKiAgIGVsc2UgYmFubmVyIHJlcXVlc3RlZFxuICAgKiAgICAgQ29tbWFuZC0+PnByaW50QmFubmVyOiBDYWxsXG4gICAqICAgZW5kXG4gICAqICAgQ29tbWFuZC0+PkNvbW1hbmQ6IHJ1bihhcmdzKVxuICAgKiAgIGFsdCBlcnJvciBvY2N1cnNcbiAgICogICAgIENvbW1hbmQtPj5Db21tYW5kOiBMb2cgZXJyb3JcbiAgICogICBlbmRcbiAgICogICBDb21tYW5kLS0+PkNvbW1hbmQ6IFJldHVybiByZXN1bHRcbiAgICovXG4gIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTxSIHwgc3RyaW5nIHwgdm9pZD4ge1xuICAgIGNvbnN0IGFyZ3M6IFBhcnNlQXJnc1Jlc3VsdCA9IFVzZXJJbnB1dC5wYXJzZUFyZ3ModGhpcy5pbnB1dHMpO1xuICAgIGNvbnN0IGVudiA9IEVudmlyb25tZW50LmFjY3VtdWxhdGUoRGVmYXVsdExvZ2dpbmdDb25maWcpXG4gICAgICAuYWNjdW11bGF0ZShEZWZhdWx0Q29tbWFuZFZhbHVlcylcbiAgICAgIC5hY2N1bXVsYXRlKGFyZ3MudmFsdWVzKTtcbiAgICBjb25zdCB7IHRpbWVzdGFtcCwgdmVyYm9zZSwgdmVyc2lvbiwgaGVscCwgbG9nTGV2ZWwsIGxvZ1N0eWxlLCBiYW5uZXIgfSA9XG4gICAgICBlbnY7XG5cbiAgICB0aGlzLmxvZy5zZXRDb25maWcoe1xuICAgICAgLi4uZW52LFxuICAgICAgdGltZXN0YW1wOiAhIXRpbWVzdGFtcCxcbiAgICAgIGxldmVsOiBsb2dMZXZlbCBhcyBMb2dMZXZlbCxcbiAgICAgIHN0eWxlOiAhIWxvZ1N0eWxlLFxuICAgICAgdmVyYm9zZTogKHZlcmJvc2UgYXMgbnVtYmVyKSB8fCAwLFxuICAgIH0pO1xuXG4gICAgaWYgKHZlcnNpb24pIHtcbiAgICAgIHJldHVybiBnZXRQYWNrYWdlVmVyc2lvbigpO1xuICAgIH1cblxuICAgIGlmIChoZWxwKSB7XG4gICAgICByZXR1cm4gdGhpcy5oZWxwKGFyZ3MpO1xuICAgIH1cblxuICAgIGlmIChiYW5uZXIpXG4gICAgICBwcmludEJhbm5lcihcbiAgICAgICAgdGhpcy5sb2cuZm9yKHByaW50QmFubmVyLCB7XG4gICAgICAgICAgdGltZXN0YW1wOiBmYWxzZSxcbiAgICAgICAgICBzdHlsZTogZmFsc2UsXG4gICAgICAgICAgY29udGV4dDogZmFsc2UsXG4gICAgICAgICAgbG9nTGV2ZWw6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIGxldCByZXN1bHQ7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMucnVuKGVudik7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhpcy5sb2cuZXJyb3IoYEVycm9yIHdoaWxlIHJ1bm5pbmcgcHJvdmlkZWQgY2xpIGZ1bmN0aW9uOiAke2V9YCk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQgYXMgUjtcbiAgfVxufVxuIl19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFnQixPQUFPO0lBZTNCLFlBQ1ksSUFBWSxFQUNaLFNBQTRCLEVBQWtDLEVBQzlELGVBQXlCLEVBQUU7UUFGM0IsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQXdEO1FBQzlELGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRXJDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO2dCQUNwQyxRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2FBQ2pDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FB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LEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUVELE9BQU8sTUFBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlQXJnc1Jlc3VsdCB9IGZyb20gXCIuLi9pbnB1dC90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZywgVmVyYm9zaXR5TG9nZ2VyIH0gZnJvbSBcIi4uL291dHB1dC90eXBlc1wiO1xuaW1wb3J0IHsgQ29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gXCIuLi9vdXRwdXQvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgRGVmYXVsdExvZ2dpbmdDb25maWcsIExvZ0xldmVsIH0gZnJvbSBcIi4uL3V0aWxzL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVXNlcklucHV0IH0gZnJvbSBcIi4uL2lucHV0L2lucHV0XCI7XG5pbXBvcnQgeyBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIERlZmF1bHRDb21tYW5kVmFsdWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXREZXBlbmRlbmNpZXMsIGdldFBhY2thZ2VWZXJzaW9uIH0gZnJvbSBcIi4uL3V0aWxzL2ZzXCI7XG5pbXBvcnQgeyBwcmludEJhbm5lciB9IGZyb20gXCIuLi9vdXRwdXQvY29tbW9uXCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi91dGlscy9lbnZpcm9ubWVudFwiO1xuXG4vKipcbiAqIEBjbGFzcyBDb21tYW5kXG4gKiBAYWJzdHJhY3RcbiAqIEB0ZW1wbGF0ZSBJIC0gVGhlIHR5cGUgb2YgaW5wdXQgb3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKiBAdGVtcGxhdGUgUiAtIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgY29tbWFuZCBleGVjdXRpb24uXG4gKiBAbWVtYmVyT2YgdXRpbHMvY2xpXG4gKiBAZGVzY3JpcHRpb24gQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgY29tbWFuZCBpbXBsZW1lbnRhdGlvbi5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgc3RydWN0dXJlIGZvciBjcmVhdGluZyBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGNvbW1hbmRzIHdpdGggaW5wdXQgaGFuZGxpbmcsIGxvZ2dpbmcsIGFuZCBleGVjdXRpb24gZmxvdy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIHtDb21tYW5kT3B0aW9uczxJPn0gW2lucHV0c10gLSBUaGUgaW5wdXQgb3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBbcmVxdWlyZW1lbnRzXSAtIFRoZSBsaXN0IG9mIHJlcXVpcmVkIGRlcGVuZGVuY2llcyBmb3IgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb21tYW5kPEksIFI+IHtcbiAgLyoqXG4gICAqIEBzdGF0aWNcbiAgICogQGRlc2NyaXB0aW9uIFN0YXRpYyBsb2dnZXIgZm9yIHRoZSBDb21tYW5kIGNsYXNzLlxuICAgKiBAdHlwZSB7VmVyYm9zaXR5TG9nZ2VyfVxuICAgKi9cbiAgc3RhdGljIGxvZzogVmVyYm9zaXR5TG9nZ2VyO1xuXG4gIC8qKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBsb2dnZXIgZm9yIHRoZSBjb21tYW5kLlxuICAgKiBAdHlwZSB7VmVyYm9zaXR5TG9nZ2VyfVxuICAgKi9cbiAgcHJvdGVjdGVkIGxvZzogVmVyYm9zaXR5TG9nZ2VyO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBpbnB1dHM6IENvbW1hbmRPcHRpb25zPEk+ID0ge30gYXMgdW5rbm93biBhcyBDb21tYW5kT3B0aW9uczxJPixcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZW1lbnRzOiBzdHJpbmdbXSA9IFtdXG4gICkge1xuICAgIGlmICghQ29tbWFuZC5sb2cpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21tYW5kLCBcImxvZ1wiLCB7XG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IExvZ2dpbmcuZm9yKENvbW1hbmQubmFtZSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMubG9nID0gQ29tbWFuZC5sb2c7XG4gICAgfVxuICAgIHRoaXMubG9nID0gQ29tbWFuZC5sb2cuZm9yKHRoaXMubmFtZSk7XG4gICAgdGhpcy5pbnB1dHMgPSBPYmplY3QuYXNzaWduKHt9LCBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIGlucHV0cyk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3RlY3RlZFxuICAgKiBAYXN5bmNcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhbGwgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGFyZSBwcmVzZW50LlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIGFuZCBjb21wYXJlcyBpdCBhZ2FpbnN0IHRoZSByZXF1aXJlZCBkZXBlbmRlbmNpZXMgZm9yIHRoZSBjb21tYW5kLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY2hlY2sgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IENvbW1hbmRcbiAgICogICBwYXJ0aWNpcGFudCBnZXREZXBlbmRlbmNpZXNcbiAgICogICBwYXJ0aWNpcGFudCBTZXRcbiAgICogICBDb21tYW5kLT4+Z2V0RGVwZW5kZW5jaWVzOiBDYWxsXG4gICAqICAgZ2V0RGVwZW5kZW5jaWVzLS0+PkNvbW1hbmQ6IFJldHVybiB7cHJvZCwgZGV2LCBwZWVyfVxuICAgKiAgIENvbW1hbmQtPj5TZXQ6IENyZWF0ZSBTZXQgZnJvbSBwcm9kLCBkZXYsIHBlZXJcbiAgICogICBTZXQtLT4+Q29tbWFuZDogUmV0dXJuIHVuaXF1ZSBkZXBlbmRlbmNpZXNcbiAgICogICBDb21tYW5kLT4+Q29tbWFuZDogQ29tcGFyZSBhZ2FpbnN0IHJlcXVpcmVtZW50c1xuICAgKiAgIGFsdCBNaXNzaW5nIGRlcGVuZGVuY2llc1xuICAgKiAgICAgQ29tbWFuZC0+PkNvbW1hbmQ6IEFkZCB0byBtaXNzaW5nIGxpc3RcbiAgICogICBlbmRcbiAgICogICBOb3RlIG92ZXIgQ29tbWFuZDogSWYgbWlzc2luZy5sZW5ndGggPiAwLCBoYW5kbGUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjaGVja1JlcXVpcmVtZW50cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IHByb2QsIGRldiwgcGVlciB9ID0gYXdhaXQgZ2V0RGVwZW5kZW5jaWVzKCk7XG4gICAgY29uc3QgbWlzc2luZyA9IFtdO1xuICAgIGNvbnN0IGZ1bGxMaXN0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoWy4uLnByb2QsIC4uLmRldiwgLi4ucGVlcl0pLnZhbHVlcygpXG4gICAgKS5tYXAoKGQpID0+IGQubmFtZSk7XG4gICAgZm9yIChjb25zdCBkZXAgb2YgdGhpcy5yZXF1aXJlbWVudHMpXG4gICAgICBpZiAoIWZ1bGxMaXN0LmluY2x1ZGVzKGRlcCkpIG1pc3NpbmcucHVzaChkZXApO1xuXG4gICAgaWYgKCFtaXNzaW5nLmxlbmd0aCkgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIGhlbHAgaW5mb3JtYXRpb24gZm9yIHRoZSBjb21tYW5kLlxuICAgKiBAc3VtbWFyeSBUaGlzIG1ldGhvZCBzaG91bGQgYmUgb3ZlcnJpZGRlbiBpbiBkZXJpdmVkIGNsYXNzZXMgdG8gcHJvdmlkZSBzcGVjaWZpYyBoZWxwIGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0ge1BhcnNlQXJnc1Jlc3VsdH0gYXJncyAtIFRoZSBwYXJzZWQgY29tbWFuZC1saW5lIGFyZ3VtZW50cy5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHByb3RlY3RlZCBoZWxwKGFyZ3M6IFBhcnNlQXJnc1Jlc3VsdCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmxvZy5pbmZvKFxuICAgICAgYFRoaXMgaXMgaGVscC4gSSdtIG5vIHVzZSBiZWNhdXNlIEkgc2hvdWxkIGhhdmUgYmVlbiBvdmVycmlkZGVuLmBcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQGFic3RyYWN0XG4gICAqIEBkZXNjcmlwdGlvbiBSdW5zIHRoZSBjb21tYW5kIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICogQHN1bW1hcnkgVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGltcGxlbWVudGVkIGluIGRlcml2ZWQgY2xhc3NlcyB0byBkZWZpbmUgdGhlIGNvbW1hbmQncyBiZWhhdmlvci5cbiAgICogQHBhcmFtIHtQYXJzZUFyZ3NSZXN1bHR9IGFuc3dlcnMgLSBUaGUgcGFyc2VkIGNvbW1hbmQtbGluZSBhcmd1bWVudHMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFIgfCBzdHJpbmcgfCB2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY29tbWFuZCdzIHJlc3VsdC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBydW48Uj4oXG4gICAgYW5zd2VyczogTG9nZ2luZ0NvbmZpZyAmXG4gICAgICB0eXBlb2YgRGVmYXVsdENvbW1hbmRWYWx1ZXMgJiB7IFtrIGluIGtleW9mIEldOiB1bmtub3duIH1cbiAgKTogUHJvbWlzZTxSIHwgc3RyaW5nIHwgdm9pZD47XG5cbiAgLyoqXG4gICAqIEBhc3luY1xuICAgKiBAZGVzY3JpcHRpb24gRXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIGhhbmRsZXMgdGhlIG92ZXJhbGwgZXhlY3V0aW9uIGZsb3cgb2YgdGhlIGNvbW1hbmQsIGluY2x1ZGluZyBwYXJzaW5nIGFyZ3VtZW50cyxcbiAgICogc2V0dGluZyB1cCBsb2dnaW5nLCBjaGVja2luZyBmb3IgdmVyc2lvbiBvciBoZWxwIHJlcXVlc3RzLCBhbmQgcnVubmluZyB0aGUgY29tbWFuZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8UiB8IHN0cmluZyB8IHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kJ3MgcmVzdWx0LlxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBDb21tYW5kXG4gICAqICAgcGFydGljaXBhbnQgVXNlcklucHV0XG4gICAqICAgcGFydGljaXBhbnQgTG9nZ2luZ1xuICAgKiAgIHBhcnRpY2lwYW50IGdldFBhY2thZ2VWZXJzaW9uXG4gICAqICAgcGFydGljaXBhbnQgcHJpbnRCYW5uZXJcbiAgICogICBDb21tYW5kLT4+VXNlcklucHV0OiBwYXJzZUFyZ3MoaW5wdXRzKVxuICAgKiAgIFVzZXJJbnB1dC0tPj5Db21tYW5kOiBSZXR1cm4gUGFyc2VBcmdzUmVzdWx0XG4gICAqICAgQ29tbWFuZC0+PkNvbW1hbmQ6IFByb2Nlc3Mgb3B0aW9uc1xuICAgKiAgIENvbW1hbmQtPj5Mb2dnaW5nOiBzZXRDb25maWcob3B0aW9ucylcbiAgICogICBhbHQgdmVyc2lvbiByZXF1ZXN0ZWRcbiAgICogICAgIENvbW1hbmQtPj5nZXRQYWNrYWdlVmVyc2lvbjogQ2FsbFxuICAgKiAgICAgZ2V0UGFja2FnZVZlcnNpb24tLT4+Q29tbWFuZDogUmV0dXJuIHZlcnNpb25cbiAgICogICBlbHNlIGhlbHAgcmVxdWVzdGVkXG4gICAqICAgICBDb21tYW5kLT4+Q29tbWFuZDogaGVscChhcmdzKVxuICAgKiAgIGVsc2UgYmFubmVyIHJlcXVlc3RlZFxuICAgKiAgICAgQ29tbWFuZC0+PnByaW50QmFubmVyOiBDYWxsXG4gICAqICAgZW5kXG4gICAqICAgQ29tbWFuZC0+PkNvbW1hbmQ6IHJ1bihhcmdzKVxuICAgKiAgIGFsdCBlcnJvciBvY2N1cnNcbiAgICogICAgIENvbW1hbmQtPj5Db21tYW5kOiBMb2cgZXJyb3JcbiAgICogICBlbmRcbiAgICogICBDb21tYW5kLS0+PkNvbW1hbmQ6IFJldHVybiByZXN1bHRcbiAgICovXG4gIGFzeW5jIGV4ZWN1dGUoKTogUHJvbWlzZTxSIHwgc3RyaW5nIHwgdm9pZD4ge1xuICAgIGNvbnN0IGFyZ3M6IFBhcnNlQXJnc1Jlc3VsdCA9IFVzZXJJbnB1dC5wYXJzZUFyZ3ModGhpcy5pbnB1dHMpO1xuICAgIGNvbnN0IGVudiA9IEVudmlyb25tZW50LmFjY3VtdWxhdGUoRGVmYXVsdExvZ2dpbmdDb25maWcpXG4gICAgICAuYWNjdW11bGF0ZShEZWZhdWx0Q29tbWFuZFZhbHVlcylcbiAgICAgIC5hY2N1bXVsYXRlKGFyZ3MudmFsdWVzKTtcbiAgICBjb25zdCB7IHRpbWVzdGFtcCwgdmVyYm9zZSwgdmVyc2lvbiwgaGVscCwgbG9nTGV2ZWwsIGxvZ1N0eWxlLCBiYW5uZXIgfSA9XG4gICAgICBlbnY7XG5cbiAgICB0aGlzLmxvZy5zZXRDb25maWcoe1xuICAgICAgLi4uZW52LFxuICAgICAgdGltZXN0YW1wOiAhIXRpbWVzdGFtcCxcbiAgICAgIGxldmVsOiBsb2dMZXZlbCBhcyBMb2dMZXZlbCxcbiAgICAgIHN0eWxlOiAhIWxvZ1N0eWxlLFxuICAgICAgdmVyYm9zZTogKHZlcmJvc2UgYXMgbnVtYmVyKSB8fCAwLFxuICAgIH0pO1xuXG4gICAgaWYgKHZlcnNpb24pIHtcbiAgICAgIHJldHVybiBnZXRQYWNrYWdlVmVyc2lvbigpO1xuICAgIH1cblxuICAgIGlmIChoZWxwKSB7XG4gICAgICByZXR1cm4gdGhpcy5oZWxwKGFyZ3MpO1xuICAgIH1cblxuICAgIGlmIChiYW5uZXIpXG4gICAgICBwcmludEJhbm5lcihcbiAgICAgICAgdGhpcy5sb2cuZm9yKHByaW50QmFubmVyLCB7XG4gICAgICAgICAgdGltZXN0YW1wOiBmYWxzZSxcbiAgICAgICAgICBzdHlsZTogZmFsc2UsXG4gICAgICAgICAgY29udGV4dDogZmFsc2UsXG4gICAgICAgICAgbG9nTGV2ZWw6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIGxldCByZXN1bHQ7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMucnVuKGVudik7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhpcy5sb2cuZXJyb3IoYEVycm9yIHdoaWxlIHJ1bm5pbmcgcHJvdmlkZWQgY2xpIGZ1bmN0aW9uOiAke2V9YCk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQgYXMgUjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { LoggingConfig } from "../../output";
|
|
2
|
+
import { Command } from "../command";
|
|
3
|
+
import { CommandOptions } from "../types";
|
|
4
|
+
import { DefaultCommandValues } from "../constants";
|
|
5
|
+
declare enum Modes {
|
|
6
|
+
CJS = "commonjs",
|
|
7
|
+
ESM = "es2022"
|
|
8
|
+
}
|
|
9
|
+
declare const options: {
|
|
10
|
+
prod: {
|
|
11
|
+
type: string;
|
|
12
|
+
default: boolean;
|
|
13
|
+
};
|
|
14
|
+
dev: {
|
|
15
|
+
type: string;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
18
|
+
docs: {
|
|
19
|
+
type: string;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
22
|
+
commands: {
|
|
23
|
+
type: string;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
26
|
+
banner: {
|
|
27
|
+
type: string;
|
|
28
|
+
default: boolean;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export declare class BuildScripts extends Command<CommandOptions<typeof options>, void> {
|
|
32
|
+
private replacements;
|
|
33
|
+
private readonly pkgVersion;
|
|
34
|
+
private readonly pkgName;
|
|
35
|
+
constructor();
|
|
36
|
+
patchCjsImports(file: string): void;
|
|
37
|
+
patchFiles(p: string): void;
|
|
38
|
+
private build;
|
|
39
|
+
copyAssets(mode: Modes): void;
|
|
40
|
+
buildCommands(): Promise<void>;
|
|
41
|
+
bundle(mode: Modes, isDev: boolean, isLib: boolean, entryFile?: string, nameOverride?: string, externals?: string[], include?: string[]): Promise<void>;
|
|
42
|
+
private buildByEnv;
|
|
43
|
+
buildDev(): Promise<void>;
|
|
44
|
+
buildProd(): Promise<void>;
|
|
45
|
+
buildDocs(): Promise<void>;
|
|
46
|
+
protected run<R>(answers: LoggingConfig & typeof DefaultCommandValues & {
|
|
47
|
+
[k in keyof typeof options]: unknown;
|
|
48
|
+
}): Promise<string | void | R>;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { Command } from "../command";
|
|
2
|
+
import { DefaultCommandOptions } from "../constants";
|
|
3
|
+
import { copyFile, deletePath, getAllFiles, getPackage, patchFile, readFile, renameFile, runCommand, writeFile, } from "../../utils";
|
|
4
|
+
import fs from "fs";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { rollup } from "rollup";
|
|
7
|
+
import typescript from "@rollup/plugin-typescript";
|
|
8
|
+
import commonjs from "@rollup/plugin-commonjs";
|
|
9
|
+
import { nodeResolve } from "@rollup/plugin-node-resolve";
|
|
10
|
+
import json from "@rollup/plugin-json";
|
|
11
|
+
const VERSION_STRING = "0.2.1";
|
|
12
|
+
var Modes;
|
|
13
|
+
(function (Modes) {
|
|
14
|
+
Modes["CJS"] = "commonjs";
|
|
15
|
+
Modes["ESM"] = "es2022";
|
|
16
|
+
})(Modes || (Modes = {}));
|
|
17
|
+
const Commands = ["update-scripts", "tag-release", "build-scripts"];
|
|
18
|
+
const options = {
|
|
19
|
+
prod: {
|
|
20
|
+
type: "boolean",
|
|
21
|
+
default: false,
|
|
22
|
+
},
|
|
23
|
+
dev: {
|
|
24
|
+
type: "boolean",
|
|
25
|
+
default: false,
|
|
26
|
+
},
|
|
27
|
+
docs: {
|
|
28
|
+
type: "boolean",
|
|
29
|
+
default: false,
|
|
30
|
+
},
|
|
31
|
+
commands: {
|
|
32
|
+
type: "boolean",
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
banner: {
|
|
36
|
+
type: "boolean",
|
|
37
|
+
default: false,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
export class BuildScripts extends Command {
|
|
41
|
+
constructor() {
|
|
42
|
+
super("BuildScripts", Object.assign({}, DefaultCommandOptions, options));
|
|
43
|
+
this.replacements = {};
|
|
44
|
+
const pkg = getPackage();
|
|
45
|
+
const { name, version } = pkg;
|
|
46
|
+
this.pkgName = name.includes("@") ? name.split("/")[1] : name;
|
|
47
|
+
this.pkgVersion = version;
|
|
48
|
+
this.replacements[VERSION_STRING] = this.pkgVersion;
|
|
49
|
+
}
|
|
50
|
+
patchCjsImports(file) {
|
|
51
|
+
const regexp = /(require\(["'])(\..*?)(["']\)[;,])/g;
|
|
52
|
+
let data = readFile(file);
|
|
53
|
+
data = data.replace(regexp, (match, ...groups) => {
|
|
54
|
+
const renamedFile = groups[1] + ".cjs";
|
|
55
|
+
const dirname = path.dirname(file).replace("lib", "src");
|
|
56
|
+
const fileName = groups[1] + ".ts";
|
|
57
|
+
const sourceFilePath = path.join(dirname, fileName);
|
|
58
|
+
let result;
|
|
59
|
+
if (!fs.existsSync(sourceFilePath)) {
|
|
60
|
+
result = groups[0] + groups[1] + "/index.cjs" + groups[2];
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
result = groups[0] + renamedFile + groups[2];
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
});
|
|
67
|
+
writeFile(file, data);
|
|
68
|
+
}
|
|
69
|
+
patchFiles(p) {
|
|
70
|
+
const log = this.log.for(this.patchFiles);
|
|
71
|
+
const { name, version } = getPackage();
|
|
72
|
+
log.info(`Patching ${name} ${version} module in ${p}...`);
|
|
73
|
+
const stat = fs.statSync(p);
|
|
74
|
+
if (stat.isDirectory())
|
|
75
|
+
fs.readdirSync(p, { withFileTypes: true, recursive: true })
|
|
76
|
+
.filter((p) => p.isFile())
|
|
77
|
+
.forEach((file) => patchFile(path.join(file.parentPath, file.name), this.replacements));
|
|
78
|
+
log.verbose(`Module ${name} ${version} patched in ${p}...`);
|
|
79
|
+
}
|
|
80
|
+
async build(isDev, mode, bundle = false) {
|
|
81
|
+
const log = this.log.for(this.build);
|
|
82
|
+
log.info(`Building ${this.pkgName} ${this.pkgVersion} module (${mode}) in ${isDev ? "dev" : "prod"} mode...`);
|
|
83
|
+
await runCommand(`npx tsc --module ${bundle ? "amd" : mode}${isDev ? " --inlineSourceMap" : " --sourceMap false"} --outDir ${bundle ? "dist" : `lib${mode === Modes.ESM ? "/esm" : ""}`}${bundle ? ` --isolatedModules false --outFile ${this.pkgName}` : ""}`).promise;
|
|
84
|
+
log.verbose(`Module ${this.pkgName} ${this.pkgVersion} (${mode}) built in ${isDev ? "dev" : "prod"} mode...`);
|
|
85
|
+
if (mode === Modes.CJS && !bundle) {
|
|
86
|
+
const files = getAllFiles("lib", (file) => file.endsWith(".js") && !file.includes("/esm/"));
|
|
87
|
+
for (const file of files) {
|
|
88
|
+
log.verbose(`Patching ${file}'s cjs imports...`);
|
|
89
|
+
const f = file.replace(".js", ".cjs");
|
|
90
|
+
await renameFile(file, f);
|
|
91
|
+
this.patchCjsImports(f);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
copyAssets(mode) {
|
|
96
|
+
const log = this.log.for(this.copyAssets);
|
|
97
|
+
let hasAssets = false;
|
|
98
|
+
try {
|
|
99
|
+
hasAssets = fs.statSync("./src/assets").isDirectory();
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
return log.verbose(`No assets found in ./src/assets to copy`);
|
|
104
|
+
}
|
|
105
|
+
if (hasAssets)
|
|
106
|
+
copyFile("./src/assets", `./${mode === Modes.CJS ? "lib" : "dist"}/assets`);
|
|
107
|
+
}
|
|
108
|
+
async buildCommands() {
|
|
109
|
+
for (const cmd of Commands) {
|
|
110
|
+
await this.bundle(Modes.CJS, true, true, `src/bin/${cmd}.ts`, cmd);
|
|
111
|
+
let data = readFile(`bin/${cmd}.cjs`);
|
|
112
|
+
data = "#!/usr/bin/env node\n" + data;
|
|
113
|
+
writeFile(`bin/${cmd}.cjs`, data);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async bundle(mode, isDev, isLib, entryFile = "src/index.ts", nameOverride = this.pkgName, externals, include = ["prompts", "styled-string-builder"]) {
|
|
117
|
+
const isEsm = mode === Modes.ESM;
|
|
118
|
+
const pkgName = this.pkgName;
|
|
119
|
+
const ext = Array.from(new Set([
|
|
120
|
+
...[
|
|
121
|
+
"fs",
|
|
122
|
+
"path",
|
|
123
|
+
"process",
|
|
124
|
+
"rollup",
|
|
125
|
+
"@rollup/plugin-typescript",
|
|
126
|
+
"@rollup/plugin-json",
|
|
127
|
+
"@rollup/plugin-commonjs",
|
|
128
|
+
"@rollup/plugin-node-resolve",
|
|
129
|
+
"child_process",
|
|
130
|
+
"util",
|
|
131
|
+
"https",
|
|
132
|
+
],
|
|
133
|
+
...(externals || []),
|
|
134
|
+
]));
|
|
135
|
+
const plugins = [
|
|
136
|
+
typescript({
|
|
137
|
+
compilerOptions: {
|
|
138
|
+
module: "esnext",
|
|
139
|
+
declaration: false,
|
|
140
|
+
outDir: isLib ? "bin" : "dist",
|
|
141
|
+
},
|
|
142
|
+
include: ["src/**/*.ts"],
|
|
143
|
+
exclude: ["node_modules", "**/*.spec.ts"],
|
|
144
|
+
tsconfig: "./tsconfig.json",
|
|
145
|
+
}),
|
|
146
|
+
json(),
|
|
147
|
+
];
|
|
148
|
+
if (isLib) {
|
|
149
|
+
plugins.push(commonjs({
|
|
150
|
+
include: [],
|
|
151
|
+
exclude: externals,
|
|
152
|
+
}), nodeResolve({
|
|
153
|
+
resolveOnly: include,
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
const input = {
|
|
157
|
+
input: entryFile,
|
|
158
|
+
plugins: plugins,
|
|
159
|
+
external: ext,
|
|
160
|
+
};
|
|
161
|
+
const outputs = [
|
|
162
|
+
{
|
|
163
|
+
file: `${isLib ? "bin/" : "dist/"}${nameOverride ? nameOverride : `.bundle.${!isDev ? "min" : ""}`}${isEsm ? ".esm" : ""}.cjs`,
|
|
164
|
+
format: isLib ? "cjs" : isEsm ? "esm" : "umd",
|
|
165
|
+
name: pkgName,
|
|
166
|
+
esModule: isEsm,
|
|
167
|
+
sourcemap: isDev ? "inline" : false,
|
|
168
|
+
globals: {},
|
|
169
|
+
exports: "auto",
|
|
170
|
+
},
|
|
171
|
+
];
|
|
172
|
+
try {
|
|
173
|
+
const bundle = await rollup(input);
|
|
174
|
+
console.log(bundle.watchFiles);
|
|
175
|
+
async function generateOutputs(bundle) {
|
|
176
|
+
for (const outputOptions of outputs) {
|
|
177
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
178
|
+
const { output } = await bundle.write(outputOptions);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
await generateOutputs(bundle);
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
throw new Error(`Failed to bundle: ${e}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
async buildByEnv(isDev) {
|
|
188
|
+
try {
|
|
189
|
+
deletePath("lib");
|
|
190
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
191
|
+
}
|
|
192
|
+
catch (e) {
|
|
193
|
+
// do nothing
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
deletePath("dist");
|
|
197
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
// do nothing
|
|
201
|
+
}
|
|
202
|
+
fs.mkdirSync("lib");
|
|
203
|
+
fs.mkdirSync("dist");
|
|
204
|
+
await this.build(isDev, Modes.CJS);
|
|
205
|
+
await this.build(isDev, Modes.ESM);
|
|
206
|
+
await this.bundle(Modes.CJS, true, false);
|
|
207
|
+
await this.bundle(Modes.ESM, true, false);
|
|
208
|
+
this.patchFiles("lib");
|
|
209
|
+
this.patchFiles("dist");
|
|
210
|
+
this.copyAssets(Modes.CJS);
|
|
211
|
+
this.copyAssets(Modes.ESM);
|
|
212
|
+
}
|
|
213
|
+
async buildDev() {
|
|
214
|
+
return this.buildByEnv(true);
|
|
215
|
+
}
|
|
216
|
+
async buildProd() {
|
|
217
|
+
return this.buildByEnv(false);
|
|
218
|
+
}
|
|
219
|
+
async buildDocs() {
|
|
220
|
+
await runCommand(`npm install better-docs taffydb`).promise;
|
|
221
|
+
await runCommand(`npx markdown-include ./workdocs/readme-md.json`).promise;
|
|
222
|
+
await runCommand(`npx jsdoc -c ./workdocs/jsdocs.json -t ./node_modules/better-docs`).promise;
|
|
223
|
+
await runCommand(`npm remove better-docs taffydb`).promise;
|
|
224
|
+
[
|
|
225
|
+
{
|
|
226
|
+
src: "workdocs/assets",
|
|
227
|
+
dest: "./docs/workdocs/assets",
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
src: "workdocs/reports/coverage",
|
|
231
|
+
dest: "./docs/workdocs/reports/coverage",
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
src: "workdocs/reports/html",
|
|
235
|
+
dest: "./docs/workdocs/reports/html",
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
src: "workdocs/resources",
|
|
239
|
+
dest: "./docs/workdocs/resources",
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
src: "LICENSE.md",
|
|
243
|
+
dest: "./docs/LICENSE.md",
|
|
244
|
+
},
|
|
245
|
+
].forEach((f) => {
|
|
246
|
+
const { src, dest } = f;
|
|
247
|
+
copyFile(src, dest);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
async run(answers) {
|
|
251
|
+
const { dev, prod, docs, commands } = answers;
|
|
252
|
+
if (commands) {
|
|
253
|
+
await this.buildCommands();
|
|
254
|
+
}
|
|
255
|
+
if (dev) {
|
|
256
|
+
return await this.buildDev();
|
|
257
|
+
}
|
|
258
|
+
if (prod) {
|
|
259
|
+
return await this.buildProd();
|
|
260
|
+
}
|
|
261
|
+
if (docs) {
|
|
262
|
+
return await this.buildDocs();
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvYnVpbGQtc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsU0FBUyxHQUNWLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBNEMsTUFBTSxRQUFRLENBQUM7QUFDMUUsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxRQUFRLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFDO0FBRXZDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQztBQUVyQyxJQUFLLEtBR0o7QUFIRCxXQUFLLEtBQUs7SUFDUix5QkFBZ0IsQ0FBQTtJQUNoQix1QkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFISSxLQUFLLEtBQUwsS0FBSyxRQUdUO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFcEUsTUFBTSxPQUFPLEdBQUc7SUFDZCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxHQUFHLEVBQUU7UUFDSCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUdqQztJQUtDO1FBQ0UsS0FBSyxDQUNILGNBQWMsRUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBRS9DLENBQ0YsQ0FBQztRQVZJLGlCQUFZLEdBQTJCLEVBQUUsQ0FBQztRQVdoRCxNQUFNLEdBQUcsR0FBRyxVQUFVLEVBQXVDLENBQUM7UUFDOUQsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUMxQixNQUFNLE1BQU0sR0FBRyxxQ0FBcUMsQ0FBQztRQUNyRCxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsTUFBZ0IsRUFBRSxFQUFFO1lBQ3pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDbkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFcEQsSUFBSSxNQUFNLENBQUM7WUFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLENBQVM7UUFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxFQUFTLENBQUM7UUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUN4RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDaEIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUNwRSxDQUFDO1FBQ04sR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLE1BQU0sR0FBRyxLQUFLO1FBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxHQUFHLENBQUMsSUFBSSxDQUNOLFlBQVksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxZQUFZLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxVQUFVLENBQ3BHLENBQUM7UUFFRixNQUFNLFVBQVUsQ0FDZCxvQkFBb0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsYUFBYSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM5TyxDQUFDLE9BQU8sQ0FBQztRQUNWLEdBQUcsQ0FBQyxPQUFPLENBQ1QsVUFBVSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxjQUFjLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLFVBQVUsQ0FDakcsQ0FBQztRQUNGLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQ3ZCLEtBQUssRUFDTCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQzFELENBQUM7WUFFRixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFXO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsU0FBUyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEQsNkRBQTZEO1FBQy9ELENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLFNBQVM7WUFDWCxRQUFRLENBQ04sY0FBYyxFQUNkLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxTQUFTLENBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbkUsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQztZQUN0QyxJQUFJLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1lBQ3RDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixJQUFXLEVBQ1gsS0FBYyxFQUNkLEtBQWMsRUFDZCxZQUFvQixjQUFjLEVBQ2xDLGVBQXVCLElBQUksQ0FBQyxPQUFPLEVBQ25DLFNBQW9CLEVBQ3BCLFVBQW9CLENBQUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDO1FBRXhELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFN0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDcEIsSUFBSSxHQUFHLENBQUM7WUFDTixHQUFHO2dCQUNELElBQUk7Z0JBQ0osTUFBTTtnQkFDTixTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsMkJBQTJCO2dCQUMzQixxQkFBcUI7Z0JBQ3JCLHlCQUF5QjtnQkFDekIsNkJBQTZCO2dCQUM3QixlQUFlO2dCQUNmLE1BQU07Z0JBQ04sT0FBTzthQUNSO1lBQ0QsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7U0FDckIsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRztZQUNkLFVBQVUsQ0FBQztnQkFDVCxlQUFlLEVBQUU7b0JBQ2YsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLFdBQVcsRUFBRSxLQUFLO29CQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU07aUJBQy9CO2dCQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDeEIsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQztnQkFDekMsUUFBUSxFQUFFLGlCQUFpQjthQUM1QixDQUFDO1lBQ0YsSUFBSSxFQUFFO1NBQ1AsQ0FBQztRQUVGLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsSUFBSSxDQUNWLFFBQVEsQ0FBQztnQkFDUCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsU0FBUzthQUNuQixDQUFDLEVBQ0YsV0FBVyxDQUFDO2dCQUNWLFdBQVcsRUFBRSxPQUFPO2FBQ3JCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFpQjtZQUMxQixLQUFLLEVBQUUsU0FBUztZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsR0FBRztTQUNkLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBb0I7WUFDL0I7Z0JBQ0UsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNO2dCQUM5SCxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUM3QyxJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsS0FBSztnQkFDZixTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQ25DLE9BQU8sRUFBRSxFQUFFO2dCQUNYLE9BQU8sRUFBRSxNQUFNO2FBQ2hCO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLEtBQUssVUFBVSxlQUFlLENBQUMsTUFBbUI7Z0JBQ2hELEtBQUssTUFBTSxhQUFhLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ3BDLDZEQUE2RDtvQkFDN0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDdkQsQ0FBQztZQUNILENBQUM7WUFFRCxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQztZQUNILFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQiw2REFBNkQ7UUFDL0QsQ0FBQztRQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7WUFDcEIsYUFBYTtRQUNmLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkIsNkRBQTZEO1FBQy9ELENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLGFBQWE7UUFDZixDQUFDO1FBQ0QsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxVQUFVLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUQsTUFBTSxVQUFVLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDM0UsTUFBTSxVQUFVLENBQ2QsbUVBQW1FLENBQ3BFLENBQUMsT0FBTyxDQUFDO1FBQ1YsTUFBTSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDM0Q7WUFDRTtnQkFDRSxHQUFHLEVBQUUsaUJBQWlCO2dCQUN0QixJQUFJLEVBQUUsd0JBQXdCO2FBQy9CO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLDJCQUEyQjtnQkFDaEMsSUFBSSxFQUFFLGtDQUFrQzthQUN6QztZQUNEO2dCQUNFLEdBQUcsRUFBRSx1QkFBdUI7Z0JBQzVCLElBQUksRUFBRSw4QkFBOEI7YUFDckM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsb0JBQW9CO2dCQUN6QixJQUFJLEVBQUUsMkJBQTJCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLFlBQVk7Z0JBQ2pCLElBQUksRUFBRSxtQkFBbUI7YUFDMUI7U0FDRixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2QsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDeEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxLQUFLLENBQUMsR0FBRyxDQUNqQixPQUN3RTtRQUV4RSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTlDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE9BQU8sTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZyB9IGZyb20gXCIuLi8uLi9vdXRwdXRcIjtcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiLi4vY29tbWFuZFwiO1xuaW1wb3J0IHsgQ29tbWFuZE9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IERlZmF1bHRDb21tYW5kT3B0aW9ucywgRGVmYXVsdENvbW1hbmRWYWx1ZXMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBjb3B5RmlsZSxcbiAgZGVsZXRlUGF0aCxcbiAgZ2V0QWxsRmlsZXMsXG4gIGdldFBhY2thZ2UsXG4gIHBhdGNoRmlsZSxcbiAgcmVhZEZpbGUsXG4gIHJlbmFtZUZpbGUsXG4gIHJ1bkNvbW1hbmQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgcm9sbHVwLCBJbnB1dE9wdGlvbnMsIE91dHB1dE9wdGlvbnMsIFJvbGx1cEJ1aWxkIH0gZnJvbSBcInJvbGx1cFwiO1xuaW1wb3J0IHR5cGVzY3JpcHQgZnJvbSBcIkByb2xsdXAvcGx1Z2luLXR5cGVzY3JpcHRcIjtcbmltcG9ydCBjb21tb25qcyBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tY29tbW9uanNcIjtcbmltcG9ydCB7IG5vZGVSZXNvbHZlIH0gZnJvbSBcIkByb2xsdXAvcGx1Z2luLW5vZGUtcmVzb2x2ZVwiO1xuaW1wb3J0IGpzb24gZnJvbSBcIkByb2xsdXAvcGx1Z2luLWpzb25cIjtcblxuY29uc3QgVkVSU0lPTl9TVFJJTkcgPSBcIiMjVkVSU0lPTiMjXCI7XG5cbmVudW0gTW9kZXMge1xuICBDSlMgPSBcImNvbW1vbmpzXCIsXG4gIEVTTSA9IFwiZXMyMDIyXCIsXG59XG5cbmNvbnN0IENvbW1hbmRzID0gW1widXBkYXRlLXNjcmlwdHNcIiwgXCJ0YWctcmVsZWFzZVwiLCBcImJ1aWxkLXNjcmlwdHNcIl07XG5cbmNvbnN0IG9wdGlvbnMgPSB7XG4gIHByb2Q6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZGV2OiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGRvY3M6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgY29tbWFuZHM6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYmFubmVyOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xuXG5leHBvcnQgY2xhc3MgQnVpbGRTY3JpcHRzIGV4dGVuZHMgQ29tbWFuZDxcbiAgQ29tbWFuZE9wdGlvbnM8dHlwZW9mIG9wdGlvbnM+LFxuICB2b2lkXG4+IHtcbiAgcHJpdmF0ZSByZXBsYWNlbWVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgcHJpdmF0ZSByZWFkb25seSBwa2dWZXJzaW9uOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGtnTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFxuICAgICAgXCJCdWlsZFNjcmlwdHNcIixcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIERlZmF1bHRDb21tYW5kT3B0aW9ucywgb3B0aW9ucykgYXMgQ29tbWFuZE9wdGlvbnM8XG4gICAgICAgIHR5cGVvZiBvcHRpb25zXG4gICAgICA+XG4gICAgKTtcbiAgICBjb25zdCBwa2cgPSBnZXRQYWNrYWdlKCkgYXMgeyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9O1xuICAgIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gcGtnO1xuICAgIHRoaXMucGtnTmFtZSA9IG5hbWUuaW5jbHVkZXMoXCJAXCIpID8gbmFtZS5zcGxpdChcIi9cIilbMV0gOiBuYW1lO1xuICAgIHRoaXMucGtnVmVyc2lvbiA9IHZlcnNpb247XG4gICAgdGhpcy5yZXBsYWNlbWVudHNbVkVSU0lPTl9TVFJJTkddID0gdGhpcy5wa2dWZXJzaW9uO1xuICB9XG5cbiAgcGF0Y2hDanNJbXBvcnRzKGZpbGU6IHN0cmluZykge1xuICAgIGNvbnN0IHJlZ2V4cCA9IC8ocmVxdWlyZVxcKFtcIiddKShcXC4uKj8pKFtcIiddXFwpWzssXSkvZztcbiAgICBsZXQgZGF0YSA9IHJlYWRGaWxlKGZpbGUpO1xuICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UocmVnZXhwLCAobWF0Y2gsIC4uLmdyb3Vwczogc3RyaW5nW10pID0+IHtcbiAgICAgIGNvbnN0IHJlbmFtZWRGaWxlID0gZ3JvdXBzWzFdICsgXCIuY2pzXCI7XG4gICAgICBjb25zdCBkaXJuYW1lID0gcGF0aC5kaXJuYW1lKGZpbGUpLnJlcGxhY2UoXCJsaWJcIiwgXCJzcmNcIik7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGdyb3Vwc1sxXSArIFwiLnRzXCI7XG4gICAgICBjb25zdCBzb3VyY2VGaWxlUGF0aCA9IHBhdGguam9pbihkaXJuYW1lLCBmaWxlTmFtZSk7XG5cbiAgICAgIGxldCByZXN1bHQ7XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMoc291cmNlRmlsZVBhdGgpKSB7XG4gICAgICAgIHJlc3VsdCA9IGdyb3Vwc1swXSArIGdyb3Vwc1sxXSArIFwiL2luZGV4LmNqc1wiICsgZ3JvdXBzWzJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gZ3JvdXBzWzBdICsgcmVuYW1lZEZpbGUgKyBncm91cHNbMl07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG4gICAgd3JpdGVGaWxlKGZpbGUsIGRhdGEpO1xuICB9XG5cbiAgcGF0Y2hGaWxlcyhwOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5wYXRjaEZpbGVzKTtcbiAgICBjb25zdCB7IG5hbWUsIHZlcnNpb24gfSA9IGdldFBhY2thZ2UoKSBhcyBhbnk7XG4gICAgbG9nLmluZm8oYFBhdGNoaW5nICR7bmFtZX0gJHt2ZXJzaW9ufSBtb2R1bGUgaW4gJHtwfS4uLmApO1xuICAgIGNvbnN0IHN0YXQgPSBmcy5zdGF0U3luYyhwKTtcbiAgICBpZiAoc3RhdC5pc0RpcmVjdG9yeSgpKVxuICAgICAgZnMucmVhZGRpclN5bmMocCwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSlcbiAgICAgICAgLmZpbHRlcigocCkgPT4gcC5pc0ZpbGUoKSlcbiAgICAgICAgLmZvckVhY2goKGZpbGUpID0+XG4gICAgICAgICAgcGF0Y2hGaWxlKHBhdGguam9pbihmaWxlLnBhcmVudFBhdGgsIGZpbGUubmFtZSksIHRoaXMucmVwbGFjZW1lbnRzKVxuICAgICAgICApO1xuICAgIGxvZy52ZXJib3NlKGBNb2R1bGUgJHtuYW1lfSAke3ZlcnNpb259IHBhdGNoZWQgaW4gJHtwfS4uLmApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZChpc0RldjogYm9vbGVhbiwgbW9kZTogTW9kZXMsIGJ1bmRsZSA9IGZhbHNlKSB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMuYnVpbGQpO1xuICAgIGxvZy5pbmZvKFxuICAgICAgYEJ1aWxkaW5nICR7dGhpcy5wa2dOYW1lfSAke3RoaXMucGtnVmVyc2lvbn0gbW9kdWxlICgke21vZGV9KSBpbiAke2lzRGV2ID8gXCJkZXZcIiA6IFwicHJvZFwifSBtb2RlLi4uYFxuICAgICk7XG5cbiAgICBhd2FpdCBydW5Db21tYW5kKFxuICAgICAgYG5weCB0c2MgLS1tb2R1bGUgJHtidW5kbGUgPyBcImFtZFwiIDogbW9kZX0ke2lzRGV2ID8gXCIgLS1pbmxpbmVTb3VyY2VNYXBcIiA6IFwiIC0tc291cmNlTWFwIGZhbHNlXCJ9IC0tb3V0RGlyICR7YnVuZGxlID8gXCJkaXN0XCIgOiBgbGliJHttb2RlID09PSBNb2Rlcy5FU00gPyBcIi9lc21cIiA6IFwiXCJ9YH0ke2J1bmRsZSA/IGAgLS1pc29sYXRlZE1vZHVsZXMgZmFsc2UgLS1vdXRGaWxlICR7dGhpcy5wa2dOYW1lfWAgOiBcIlwifWBcbiAgICApLnByb21pc2U7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgTW9kdWxlICR7dGhpcy5wa2dOYW1lfSAke3RoaXMucGtnVmVyc2lvbn0gKCR7bW9kZX0pIGJ1aWx0IGluICR7aXNEZXYgPyBcImRldlwiIDogXCJwcm9kXCJ9IG1vZGUuLi5gXG4gICAgKTtcbiAgICBpZiAobW9kZSA9PT0gTW9kZXMuQ0pTICYmICFidW5kbGUpIHtcbiAgICAgIGNvbnN0IGZpbGVzID0gZ2V0QWxsRmlsZXMoXG4gICAgICAgIFwibGliXCIsXG4gICAgICAgIChmaWxlKSA9PiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpICYmICFmaWxlLmluY2x1ZGVzKFwiL2VzbS9cIilcbiAgICAgICk7XG5cbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBsb2cudmVyYm9zZShgUGF0Y2hpbmcgJHtmaWxlfSdzIGNqcyBpbXBvcnRzLi4uYCk7XG4gICAgICAgIGNvbnN0IGYgPSBmaWxlLnJlcGxhY2UoXCIuanNcIiwgXCIuY2pzXCIpO1xuICAgICAgICBhd2FpdCByZW5hbWVGaWxlKGZpbGUsIGYpO1xuICAgICAgICB0aGlzLnBhdGNoQ2pzSW1wb3J0cyhmKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb3B5QXNzZXRzKG1vZGU6IE1vZGVzKSB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMuY29weUFzc2V0cyk7XG4gICAgbGV0IGhhc0Fzc2V0cyA9IGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICBoYXNBc3NldHMgPSBmcy5zdGF0U3luYyhcIi4vc3JjL2Fzc2V0c1wiKS5pc0RpcmVjdG9yeSgpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBsb2cudmVyYm9zZShgTm8gYXNzZXRzIGZvdW5kIGluIC4vc3JjL2Fzc2V0cyB0byBjb3B5YCk7XG4gICAgfVxuICAgIGlmIChoYXNBc3NldHMpXG4gICAgICBjb3B5RmlsZShcbiAgICAgICAgXCIuL3NyYy9hc3NldHNcIixcbiAgICAgICAgYC4vJHttb2RlID09PSBNb2Rlcy5DSlMgPyBcImxpYlwiIDogXCJkaXN0XCJ9L2Fzc2V0c2BcbiAgICAgICk7XG4gIH1cblxuICBhc3luYyBidWlsZENvbW1hbmRzKCkge1xuICAgIGZvciAoY29uc3QgY21kIG9mIENvbW1hbmRzKSB7XG4gICAgICBhd2FpdCB0aGlzLmJ1bmRsZShNb2Rlcy5DSlMsIHRydWUsIHRydWUsIGBzcmMvYmluLyR7Y21kfS50c2AsIGNtZCk7XG4gICAgICBsZXQgZGF0YSA9IHJlYWRGaWxlKGBiaW4vJHtjbWR9LmNqc2ApO1xuICAgICAgZGF0YSA9IFwiIyEvdXNyL2Jpbi9lbnYgbm9kZVxcblwiICsgZGF0YTtcbiAgICAgIHdyaXRlRmlsZShgYmluLyR7Y21kfS5janNgLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBidW5kbGUoXG4gICAgbW9kZTogTW9kZXMsXG4gICAgaXNEZXY6IGJvb2xlYW4sXG4gICAgaXNMaWI6IGJvb2xlYW4sXG4gICAgZW50cnlGaWxlOiBzdHJpbmcgPSBcInNyYy9pbmRleC50c1wiLFxuICAgIG5hbWVPdmVycmlkZTogc3RyaW5nID0gdGhpcy5wa2dOYW1lLFxuICAgIGV4dGVybmFscz86IHN0cmluZ1tdLFxuICAgIGluY2x1ZGU6IHN0cmluZ1tdID0gW1wicHJvbXB0c1wiLCBcInN0eWxlZC1zdHJpbmctYnVpbGRlclwiXVxuICApIHtcbiAgICBjb25zdCBpc0VzbSA9IG1vZGUgPT09IE1vZGVzLkVTTTtcbiAgICBjb25zdCBwa2dOYW1lID0gdGhpcy5wa2dOYW1lO1xuXG4gICAgY29uc3QgZXh0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoW1xuICAgICAgICAuLi5bXG4gICAgICAgICAgXCJmc1wiLFxuICAgICAgICAgIFwicGF0aFwiLFxuICAgICAgICAgIFwicHJvY2Vzc1wiLFxuICAgICAgICAgIFwicm9sbHVwXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi10eXBlc2NyaXB0XCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1qc29uXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiLFxuICAgICAgICAgIFwiQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlXCIsXG4gICAgICAgICAgXCJjaGlsZF9wcm9jZXNzXCIsXG4gICAgICAgICAgXCJ1dGlsXCIsXG4gICAgICAgICAgXCJodHRwc1wiLFxuICAgICAgICBdLFxuICAgICAgICAuLi4oZXh0ZXJuYWxzIHx8IFtdKSxcbiAgICAgIF0pXG4gICAgKTtcblxuICAgIGNvbnN0IHBsdWdpbnMgPSBbXG4gICAgICB0eXBlc2NyaXB0KHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgbW9kdWxlOiBcImVzbmV4dFwiLFxuICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICBvdXREaXI6IGlzTGliID8gXCJiaW5cIiA6IFwiZGlzdFwiLFxuICAgICAgICB9LFxuICAgICAgICBpbmNsdWRlOiBbXCJzcmMvKiovKi50c1wiXSxcbiAgICAgICAgZXhjbHVkZTogW1wibm9kZV9tb2R1bGVzXCIsIFwiKiovKi5zcGVjLnRzXCJdLFxuICAgICAgICB0c2NvbmZpZzogXCIuL3RzY29uZmlnLmpzb25cIixcbiAgICAgIH0pLFxuICAgICAganNvbigpLFxuICAgIF07XG5cbiAgICBpZiAoaXNMaWIpIHtcbiAgICAgIHBsdWdpbnMucHVzaChcbiAgICAgICAgY29tbW9uanMoe1xuICAgICAgICAgIGluY2x1ZGU6IFtdLFxuICAgICAgICAgIGV4Y2x1ZGU6IGV4dGVybmFscyxcbiAgICAgICAgfSksXG4gICAgICAgIG5vZGVSZXNvbHZlKHtcbiAgICAgICAgICByZXNvbHZlT25seTogaW5jbHVkZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQ6IElucHV0T3B0aW9ucyA9IHtcbiAgICAgIGlucHV0OiBlbnRyeUZpbGUsXG4gICAgICBwbHVnaW5zOiBwbHVnaW5zLFxuICAgICAgZXh0ZXJuYWw6IGV4dCxcbiAgICB9O1xuXG4gICAgY29uc3Qgb3V0cHV0czogT3V0cHV0T3B0aW9uc1tdID0gW1xuICAgICAge1xuICAgICAgICBmaWxlOiBgJHtpc0xpYiA/IFwiYmluL1wiIDogXCJkaXN0L1wifSR7bmFtZU92ZXJyaWRlID8gbmFtZU92ZXJyaWRlIDogYC5idW5kbGUuJHshaXNEZXYgPyBcIm1pblwiIDogXCJcIn1gfSR7aXNFc20gPyBcIi5lc21cIiA6IFwiXCJ9LmNqc2AsXG4gICAgICAgIGZvcm1hdDogaXNMaWIgPyBcImNqc1wiIDogaXNFc20gPyBcImVzbVwiIDogXCJ1bWRcIixcbiAgICAgICAgbmFtZTogcGtnTmFtZSxcbiAgICAgICAgZXNNb2R1bGU6IGlzRXNtLFxuICAgICAgICBzb3VyY2VtYXA6IGlzRGV2ID8gXCJpbmxpbmVcIiA6IGZhbHNlLFxuICAgICAgICBnbG9iYWxzOiB7fSxcbiAgICAgICAgZXhwb3J0czogXCJhdXRvXCIsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYnVuZGxlID0gYXdhaXQgcm9sbHVwKGlucHV0KTtcbiAgICAgIGNvbnNvbGUubG9nKGJ1bmRsZS53YXRjaEZpbGVzKTtcbiAgICAgIGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlT3V0cHV0cyhidW5kbGU6IFJvbGx1cEJ1aWxkKSB7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0T3B0aW9ucyBvZiBvdXRwdXRzKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgIGNvbnN0IHsgb3V0cHV0IH0gPSBhd2FpdCBidW5kbGUud3JpdGUob3V0cHV0T3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgZ2VuZXJhdGVPdXRwdXRzKGJ1bmRsZSk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gYnVuZGxlOiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZEJ5RW52KGlzRGV2OiBib29sZWFuKSB7XG4gICAgdHJ5IHtcbiAgICAgIGRlbGV0ZVBhdGgoXCJsaWJcIik7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgZGVsZXRlUGF0aChcImRpc3RcIik7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoXCJsaWJcIik7XG4gICAgZnMubWtkaXJTeW5jKFwiZGlzdFwiKTtcbiAgICBhd2FpdCB0aGlzLmJ1aWxkKGlzRGV2LCBNb2Rlcy5DSlMpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGQoaXNEZXYsIE1vZGVzLkVTTSk7XG4gICAgYXdhaXQgdGhpcy5idW5kbGUoTW9kZXMuQ0pTLCB0cnVlLCBmYWxzZSk7XG4gICAgYXdhaXQgdGhpcy5idW5kbGUoTW9kZXMuRVNNLCB0cnVlLCBmYWxzZSk7XG4gICAgdGhpcy5wYXRjaEZpbGVzKFwibGliXCIpO1xuICAgIHRoaXMucGF0Y2hGaWxlcyhcImRpc3RcIik7XG4gICAgdGhpcy5jb3B5QXNzZXRzKE1vZGVzLkNKUyk7XG4gICAgdGhpcy5jb3B5QXNzZXRzKE1vZGVzLkVTTSk7XG4gIH1cblxuICBhc3luYyBidWlsZERldigpIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZEJ5RW52KHRydWUpO1xuICB9XG5cbiAgYXN5bmMgYnVpbGRQcm9kKCkge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQnlFbnYoZmFsc2UpO1xuICB9XG5cbiAgYXN5bmMgYnVpbGREb2NzKCkge1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoYG5wbSBpbnN0YWxsIGJldHRlci1kb2NzIHRhZmZ5ZGJgKS5wcm9taXNlO1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoYG5weCBtYXJrZG93bi1pbmNsdWRlIC4vd29ya2RvY3MvcmVhZG1lLW1kLmpzb25gKS5wcm9taXNlO1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoXG4gICAgICBgbnB4IGpzZG9jIC1jIC4vd29ya2RvY3MvanNkb2NzLmpzb24gLXQgLi9ub2RlX21vZHVsZXMvYmV0dGVyLWRvY3NgXG4gICAgKS5wcm9taXNlO1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoYG5wbSByZW1vdmUgYmV0dGVyLWRvY3MgdGFmZnlkYmApLnByb21pc2U7XG4gICAgW1xuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvYXNzZXRzXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL3dvcmtkb2NzL2Fzc2V0c1wiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL3JlcG9ydHMvY292ZXJhZ2VcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvcmVwb3J0cy9jb3ZlcmFnZVwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL3JlcG9ydHMvaHRtbFwiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9yZXBvcnRzL2h0bWxcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJ3b3JrZG9jcy9yZXNvdXJjZXNcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvcmVzb3VyY2VzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwiTElDRU5TRS5tZFwiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy9MSUNFTlNFLm1kXCIsXG4gICAgICB9LFxuICAgIF0uZm9yRWFjaCgoZikgPT4ge1xuICAgICAgY29uc3QgeyBzcmMsIGRlc3QgfSA9IGY7XG4gICAgICBjb3B5RmlsZShzcmMsIGRlc3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bjxSPihcbiAgICBhbnN3ZXJzOiBMb2dnaW5nQ29uZmlnICZcbiAgICAgIHR5cGVvZiBEZWZhdWx0Q29tbWFuZFZhbHVlcyAmIHsgW2sgaW4ga2V5b2YgdHlwZW9mIG9wdGlvbnNdOiB1bmtub3duIH1cbiAgKTogUHJvbWlzZTxzdHJpbmcgfCB2b2lkIHwgUj4ge1xuICAgIGNvbnN0IHsgZGV2LCBwcm9kLCBkb2NzLCBjb21tYW5kcyB9ID0gYW5zd2VycztcblxuICAgIGlmIChjb21tYW5kcykge1xuICAgICAgYXdhaXQgdGhpcy5idWlsZENvbW1hbmRzKCk7XG4gICAgfVxuXG4gICAgaWYgKGRldikge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGREZXYoKTtcbiAgICB9XG4gICAgaWYgKHByb2QpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJ1aWxkUHJvZCgpO1xuICAgIH1cbiAgICBpZiAoZG9jcykge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGREb2NzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
+
export * from "./build-scripts";
|
|
1
2
|
export * from "./tag-release";
|
|
2
3
|
export * from "./update-scripts";
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jbGkvY29tbWFuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQyIsImZpbGUiOiJjbGkvY29tbWFuZHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi90YWctcmVsZWFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXBkYXRlLXNjcmlwdHNcIjtcbiJdfQ==
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpL2NvbW1hbmRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2J1aWxkLXNjcmlwdHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhZy1yZWxlYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91cGRhdGUtc2NyaXB0c1wiO1xuIl19
|