@decaf-ts/utils 0.4.3 → 0.4.5
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/utils.cjs +2 -1
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.esm.cjs +2 -1
- package/dist/utils.esm.cjs.map +1 -0
- package/lib/assets/slogans.cjs +1 -1
- package/lib/assets/slogans.js.map +1 -0
- package/lib/bin/build-scripts.cjs +1 -1
- package/lib/bin/build-scripts.js.map +1 -0
- package/lib/bin/tag-release.cjs +1 -1
- package/lib/bin/tag-release.js.map +1 -0
- package/lib/bin/update-scripts.cjs +1 -1
- package/lib/bin/update-scripts.js.map +1 -0
- package/lib/cli/command.cjs +1 -1
- package/lib/cli/command.js.map +1 -0
- package/lib/cli/commands/build-scripts.cjs +84 -33
- package/lib/cli/commands/build-scripts.d.ts +1 -0
- package/lib/cli/commands/build-scripts.js.map +1 -0
- package/lib/cli/commands/index.cjs +1 -1
- package/lib/cli/commands/index.js.map +1 -0
- package/lib/cli/commands/tag-release.cjs +1 -1
- package/lib/cli/commands/tag-release.js.map +1 -0
- package/lib/cli/commands/update-scripts.cjs +1 -1
- package/lib/cli/commands/update-scripts.js.map +1 -0
- package/lib/cli/constants.cjs +1 -1
- package/lib/cli/constants.js.map +1 -0
- package/lib/cli/index.cjs +1 -1
- package/lib/cli/index.js.map +1 -0
- package/lib/cli/types.cjs +1 -1
- package/lib/cli/types.js.map +1 -0
- package/lib/esm/assets/slogans.js +1 -1
- package/lib/esm/assets/slogans.js.map +1 -0
- package/lib/esm/bin/build-scripts.js +1 -1
- package/lib/esm/bin/build-scripts.js.map +1 -0
- package/lib/esm/bin/tag-release.js +1 -1
- package/lib/esm/bin/tag-release.js.map +1 -0
- package/lib/esm/bin/update-scripts.js +1 -1
- package/lib/esm/bin/update-scripts.js.map +1 -0
- package/lib/esm/cli/command.js +1 -1
- package/lib/esm/cli/command.js.map +1 -0
- package/lib/esm/cli/commands/build-scripts.d.ts +1 -0
- package/lib/esm/cli/commands/build-scripts.js +84 -33
- package/lib/esm/cli/commands/build-scripts.js.map +1 -0
- package/lib/esm/cli/commands/index.js +1 -1
- package/lib/esm/cli/commands/index.js.map +1 -0
- package/lib/esm/cli/commands/tag-release.js +1 -1
- package/lib/esm/cli/commands/tag-release.js.map +1 -0
- package/lib/esm/cli/commands/update-scripts.js +1 -1
- package/lib/esm/cli/commands/update-scripts.js.map +1 -0
- package/lib/esm/cli/constants.js +1 -1
- package/lib/esm/cli/constants.js.map +1 -0
- package/lib/esm/cli/index.js +1 -1
- package/lib/esm/cli/index.js.map +1 -0
- package/lib/esm/cli/types.js +1 -1
- package/lib/esm/cli/types.js.map +1 -0
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/input/index.js +1 -1
- package/lib/esm/input/index.js.map +1 -0
- package/lib/esm/input/input.js +1 -1
- package/lib/esm/input/input.js.map +1 -0
- package/lib/esm/input/types.js +1 -1
- package/lib/esm/input/types.js.map +1 -0
- package/lib/esm/output/common.js +1 -1
- package/lib/esm/output/common.js.map +1 -0
- package/lib/esm/output/index.js +1 -1
- package/lib/esm/output/index.js.map +1 -0
- package/lib/esm/utils/constants.js +1 -1
- package/lib/esm/utils/constants.js.map +1 -0
- package/lib/esm/utils/fs.js +1 -1
- package/lib/esm/utils/fs.js.map +1 -0
- package/lib/esm/utils/http.js +1 -1
- package/lib/esm/utils/http.js.map +1 -0
- package/lib/esm/utils/index.js +1 -1
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/esm/utils/md.js +1 -1
- package/lib/esm/utils/md.js.map +1 -0
- package/lib/esm/utils/tests.js +1 -1
- package/lib/esm/utils/tests.js.map +1 -0
- package/lib/esm/utils/timeout.js +1 -1
- package/lib/esm/utils/timeout.js.map +1 -0
- package/lib/esm/utils/types.js +1 -1
- package/lib/esm/utils/types.js.map +1 -0
- package/lib/esm/utils/utils.js +1 -1
- package/lib/esm/utils/utils.js.map +1 -0
- package/lib/esm/writers/OutputWriter.js +1 -1
- package/lib/esm/writers/OutputWriter.js.map +1 -0
- package/lib/esm/writers/RegexpOutputWriter.js +1 -1
- package/lib/esm/writers/RegexpOutputWriter.js.map +1 -0
- package/lib/esm/writers/StandardOutputWriter.js +1 -1
- package/lib/esm/writers/StandardOutputWriter.js.map +1 -0
- package/lib/esm/writers/index.js +1 -1
- package/lib/esm/writers/index.js.map +1 -0
- package/lib/esm/writers/types.js +1 -1
- package/lib/esm/writers/types.js.map +1 -0
- package/lib/index.cjs +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -0
- package/lib/input/index.cjs +1 -1
- package/lib/input/index.js.map +1 -0
- package/lib/input/input.cjs +1 -1
- package/lib/input/input.js.map +1 -0
- package/lib/input/types.cjs +1 -1
- package/lib/input/types.js.map +1 -0
- package/lib/output/common.cjs +1 -1
- package/lib/output/common.js.map +1 -0
- package/lib/output/index.cjs +1 -1
- package/lib/output/index.js.map +1 -0
- package/lib/utils/constants.cjs +1 -1
- package/lib/utils/constants.js.map +1 -0
- package/lib/utils/fs.cjs +1 -1
- package/lib/utils/fs.js.map +1 -0
- package/lib/utils/http.cjs +1 -1
- package/lib/utils/http.js.map +1 -0
- package/lib/utils/index.cjs +1 -1
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/md.cjs +1 -1
- package/lib/utils/md.js.map +1 -0
- package/lib/utils/tests.cjs +1 -1
- package/lib/utils/tests.js.map +1 -0
- package/lib/utils/timeout.cjs +1 -1
- package/lib/utils/timeout.js.map +1 -0
- package/lib/utils/types.cjs +1 -1
- package/lib/utils/types.js.map +1 -0
- package/lib/utils/utils.cjs +1 -1
- package/lib/utils/utils.js.map +1 -0
- package/lib/writers/OutputWriter.cjs +1 -1
- package/lib/writers/OutputWriter.js.map +1 -0
- package/lib/writers/RegexpOutputWriter.cjs +1 -1
- package/lib/writers/RegexpOutputWriter.js.map +1 -0
- package/lib/writers/StandardOutputWriter.cjs +1 -1
- package/lib/writers/StandardOutputWriter.js.map +1 -0
- package/lib/writers/index.cjs +1 -1
- package/lib/writers/index.js.map +1 -0
- package/lib/writers/types.cjs +1 -1
- package/lib/writers/types.js.map +1 -0
- package/package.json +1 -1
package/lib/esm/utils/tests.js
CHANGED
|
@@ -257,4 +257,4 @@ export class TestReporter {
|
|
|
257
257
|
return this.report(reference, buffer, "image");
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUVwQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWE7QUFtQzdDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsbUNBQW1DLENBQUM7QUFFL0U7Ozs7O0dBS0c7QUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBRS9FOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxVQUFVLGVBQWUsQ0FBSSxhQUF5QjtJQUN6RCxtRUFBbUU7SUFDbkUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFNLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlERztBQUNILE1BQU0sT0FBTyxZQUFZO0lBd0J2QixZQUNZLFdBQW1CLE9BQU8sRUFDMUIsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUM1QixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQ2IsVUFBVSxFQUNWLFNBQVMsRUFDVCxXQUFXLENBQ1o7UUFOUyxhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUtqQjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFR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LEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQWlCLEVBQUUsTUFBYztRQUNqRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgTWRUYWJsZURlZmluaXRpb24gfSBmcm9tIFwiLi9tZFwiO1xuaW1wb3J0IHsgaW5zdGFsbElmTm90QXZhaWxhYmxlIH0gZnJvbSBcIi4vZnNcIjtcbmltcG9ydCB7IFNpbXBsZURlcGVuZGVuY3lNYXAgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBpbnRlcmZhY2UgQWRkQXR0YWNoUGFyYW1zXG4gKiBAZGVzY3JpcHRpb24gUGFyYW1ldGVycyBmb3IgYWRkaW5nIGFuIGF0dGFjaG1lbnQgdG8gYSByZXBvcnRcbiAqIEBzdW1tYXJ5IEludGVyZmFjZSBmb3IgYXR0YWNobWVudCBwYXJhbWV0ZXJzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQXR0YWNoUGFyYW1zIHtcbiAgYXR0YWNoOiBzdHJpbmcgfCBCdWZmZXI7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBvYmplY3Q7XG4gIGNvbnRleHQ/OiBhbnk7XG4gIGJ1ZmZlckZvcm1hdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAaW50ZXJmYWNlIEFkZE1zZ1BhcmFtc1xuICogQGRlc2NyaXB0aW9uIFBhcmFtZXRlcnMgZm9yIGFkZGluZyBhIG1lc3NhZ2UgdG8gYSByZXBvcnRcbiAqIEBzdW1tYXJ5IEludGVyZmFjZSBmb3IgbWVzc2FnZSBwYXJhbWV0ZXJzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTXNnUGFyYW1zIHtcbiAgbWVzc2FnZTogc3RyaW5nIHwgb2JqZWN0O1xuICBjb250ZXh0PzogYW55O1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIHsoXCJqc29uXCJ8XCJpbWFnZVwifFwidGV4dFwifFwibWRcIil9IFBheWxvYWRUeXBlXG4gKiBAZGVzY3JpcHRpb24gVHlwZXMgb2YgcGF5bG9hZHMgdGhhdCBjYW4gYmUgaGFuZGxlZFxuICogQHN1bW1hcnkgVW5pb24gdHlwZSBmb3IgcGF5bG9hZCB0eXBlc1xuICogQG1lbWJlck9mIG1vZHVsZTp1dGlsc1xuICovXG5leHBvcnQgdHlwZSBQYXlsb2FkVHlwZSA9IFwianNvblwiIHwgXCJpbWFnZVwiIHwgXCJ0ZXh0XCIgfCBcIm1kXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVudmlyb25tZW50IHZhcmlhYmxlIGtleSBmb3IgSmVzdCBIVE1MIHJlcG9ydGVycyB0ZW1wb3JhcnkgZGlyZWN0b3J5IHBhdGhcbiAqIEBzdW1tYXJ5IENvbnN0YW50IGRlZmluaW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBrZXkgZm9yIEplc3QgSFRNTCByZXBvcnRlcnNcbiAqIEBjb25zdCBKZXN0UmVwb3J0ZXJzVGVtcFBhdGhFbnZLZXlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dXRpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IEplc3RSZXBvcnRlcnNUZW1wUGF0aEVudktleSA9IFwiSkVTVF9IVE1MX1JFUE9SVEVSU19URU1QX0RJUl9QQVRIXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFycmF5IG9mIGRlcGVuZGVuY2llcyByZXF1aXJlZCBieSB0aGUgdGVzdCByZXBvcnRlclxuICogQHN1bW1hcnkgTGlzdCBvZiBucG0gcGFja2FnZXMgbmVlZGVkIGZvciByZXBvcnRpbmcgZnVuY3Rpb25hbGl0eVxuICogQGNvbnN0IGRlcGVuZGVuY2llc1xuICogQG1lbWJlck9mIG1vZHVsZTp1dGlsc1xuICovXG5jb25zdCBkZXBlbmRlbmNpZXMgPSBbXCJqZXN0LWh0bWwtcmVwb3J0ZXJzXCIsIFwianNvbjJtZFwiLCBcImNoYXJ0anMtbm9kZS1jYW52YXNcIl07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE5vcm1hbGl6ZXMgaW1wb3J0cyB0byBoYW5kbGUgYm90aCBDb21tb25KUyBhbmQgRVNNb2R1bGUgZm9ybWF0c1xuICogQHN1bW1hcnkgVXRpbGl0eSBmdW5jdGlvbiB0byBoYW5kbGUgbW9kdWxlIGltcG9ydCBkaWZmZXJlbmNlcyBiZXR3ZWVuIGZvcm1hdHNcbiAqIEB0ZW1wbGF0ZSBUIC0gVHlwZSBvZiB0aGUgaW1wb3J0ZWQgbW9kdWxlXG4gKiBAcGFyYW0ge1Byb21pc2U8VD59IGltcG9ydFByb21pc2UgLSBQcm9taXNlIHJldHVybmVkIGJ5IGR5bmFtaWMgaW1wb3J0XG4gKiBAcmV0dXJuIHtQcm9taXNlPFQ+fSBOb3JtYWxpemVkIG1vZHVsZVxuICogQGZ1bmN0aW9uIG5vcm1hbGl6ZUltcG9ydFxuICogQG1lbWJlck9mIG1vZHVsZTp1dGlsc1xuICovXG5hc3luYyBmdW5jdGlvbiBub3JtYWxpemVJbXBvcnQ8VD4oaW1wb3J0UHJvbWlzZTogUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAvLyBDb21tb25KUydzIGBtb2R1bGUuZXhwb3J0c2AgaXMgd3JhcHBlZCBhcyBgZGVmYXVsdGAgaW4gRVNNb2R1bGUuXG4gIHJldHVybiBpbXBvcnRQcm9taXNlLnRoZW4oKG06IGFueSkgPT4gKG0uZGVmYXVsdCB8fCBtKSBhcyBUKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVGVzdCByZXBvcnRpbmcgdXRpbGl0eSBjbGFzcyBmb3IgbWFuYWdpbmcgdGVzdCByZXN1bHRzIGFuZCBldmlkZW5jZVxuICogQHN1bW1hcnkgQSBjb21wcmVoZW5zaXZlIHRlc3QgcmVwb3J0ZXIgdGhhdCBoYW5kbGVzIHZhcmlvdXMgdHlwZXMgb2YgdGVzdCBhcnRpZmFjdHMgaW5jbHVkaW5nIG1lc3NhZ2VzLFxuICogYXR0YWNobWVudHMsIGRhdGEsIGltYWdlcywgdGFibGVzLCBhbmQgZ3JhcGhzLiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIHJlcG9ydCBhbmQgc3RvcmUgdGVzdCBldmlkZW5jZVxuICogaW4gZGlmZmVyZW50IGZvcm1hdHMgYW5kIG1hbmFnZXMgZGVwZW5kZW5jaWVzIGZvciByZXBvcnRpbmcgZnVuY3Rpb25hbGl0eS5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFR5cGUgb2YgZGF0YSBiZWluZyByZXBvcnRlZFxuICogQHBhcmFtIHtzdHJpbmd9IFt0ZXN0Q2FzZT1cInRlc3RzXCJdIC0gTmFtZSBvZiB0aGUgdGVzdCBjYXNlXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Jhc2VQYXRoXSAtIEJhc2UgcGF0aCBmb3Igc3RvcmluZyB0ZXN0IHJlcG9ydHNcbiAqIEBjbGFzc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZXBvcnRlciA9IG5ldyBUZXN0UmVwb3J0ZXIoJ2xvZ2luLXRlc3QnKTtcbiAqXG4gKiAvLyBSZXBvcnQgdGVzdCBtZXNzYWdlc1xuICogYXdhaXQgcmVwb3J0ZXIucmVwb3J0TWVzc2FnZSgnVGVzdCBTdGFydGVkJywgJ0xvZ2luIGZsb3cgaW5pdGlhdGVkJyk7XG4gKlxuICogLy8gUmVwb3J0IHRlc3QgZGF0YVxuICogYXdhaXQgcmVwb3J0ZXIucmVwb3J0RGF0YSgndXNlci1jcmVkZW50aWFscycsIHsgdXNlcm5hbWU6ICd0ZXN0JyB9LCAnanNvbicpO1xuICpcbiAqIC8vIFJlcG9ydCB0ZXN0IHJlc3VsdHMgdGFibGVcbiAqIGF3YWl0IHJlcG9ydGVyLnJlcG9ydFRhYmxlKCd0ZXN0LXJlc3VsdHMnLCB7XG4gKiAgIGhlYWRlcnM6IFsnU3RlcCcsICdTdGF0dXMnXSxcbiAqICAgcm93czogW1xuICogICAgIHsgU3RlcDogJ0xvZ2luJywgU3RhdHVzOiAnUGFzcycgfSxcbiAqICAgICB7IFN0ZXA6ICdWYWxpZGF0aW9uJywgU3RhdHVzOiAnUGFzcycgfVxuICogICBdXG4gKiB9KTtcbiAqXG4gKiAvLyBSZXBvcnQgdGVzdCBldmlkZW5jZVxuICogYXdhaXQgcmVwb3J0ZXIucmVwb3J0QXR0YWNobWVudCgnU2NyZWVuc2hvdCcsIHNjcmVlbnNob3RCdWZmZXIpO1xuICogYGBgXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDbGllbnRcbiAqICAgcGFydGljaXBhbnQgVGVzdFJlcG9ydGVyXG4gKiAgIHBhcnRpY2lwYW50IEZpbGVTeXN0ZW1cbiAqICAgcGFydGljaXBhbnQgRGVwZW5kZW5jaWVzXG4gKlxuICogICBDbGllbnQtPj5UZXN0UmVwb3J0ZXI6IG5ldyBUZXN0UmVwb3J0ZXIodGVzdENhc2UsIGJhc2VQYXRoKVxuICogICBUZXN0UmVwb3J0ZXItPj5GaWxlU3lzdGVtOiBDcmVhdGUgcmVwb3J0IGRpcmVjdG9yeVxuICpcbiAqICAgYWx0IFJlcG9ydCBNZXNzYWdlXG4gKiAgICAgQ2xpZW50LT4+VGVzdFJlcG9ydGVyOiByZXBvcnRNZXNzYWdlKHRpdGxlLCBtZXNzYWdlKVxuICogICAgIFRlc3RSZXBvcnRlci0+PkRlcGVuZGVuY2llczogSW1wb3J0IGhlbHBlcnNcbiAqICAgICBUZXN0UmVwb3J0ZXItPj5GaWxlU3lzdGVtOiBTdG9yZSBtZXNzYWdlXG4gKiAgIGVsc2UgUmVwb3J0IERhdGFcbiAqICAgICBDbGllbnQtPj5UZXN0UmVwb3J0ZXI6IHJlcG9ydERhdGEocmVmZXJlbmNlLCBkYXRhLCB0eXBlKVxuICogICAgIFRlc3RSZXBvcnRlci0+PkRlcGVuZGVuY2llczogUHJvY2VzcyBkYXRhXG4gKiAgICAgVGVzdFJlcG9ydGVyLT4+RmlsZVN5c3RlbTogU3RvcmUgZm9ybWF0dGVkIGRhdGFcbiAqICAgZWxzZSBSZXBvcnQgVGFibGVcbiAqICAgICBDbGllbnQtPj5UZXN0UmVwb3J0ZXI6IHJlcG9ydFRhYmxlKHJlZmVyZW5jZSwgdGFibGVEZWYpXG4gKiAgICAgVGVzdFJlcG9ydGVyLT4+RGVwZW5kZW5jaWVzOiBDb252ZXJ0IHRvIE1EIGZvcm1hdFxuICogICAgIFRlc3RSZXBvcnRlci0+PkZpbGVTeXN0ZW06IFN0b3JlIHRhYmxlXG4gKiAgIGVuZFxuICovXG5leHBvcnQgY2xhc3MgVGVzdFJlcG9ydGVyIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBmb3IgYWRkaW5nIG1lc3NhZ2VzIHRvIHRoZSB0ZXN0IHJlcG9ydFxuICAgKiBAc3VtbWFyeSBTdGF0aWMgaGFuZGxlciBmb3IgcHJvY2Vzc2luZyBhbmQgc3RvcmluZyB0ZXN0IG1lc3NhZ2VzXG4gICAqIEB0eXBlIHtmdW5jdGlvbihBZGRNc2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyBhZGRNc2dGdW5jdGlvbjogKHBhcmFtczogQWRkTXNnUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZm9yIGFkZGluZyBhdHRhY2htZW50cyB0byB0aGUgdGVzdCByZXBvcnRcbiAgICogQHN1bW1hcnkgU3RhdGljIGhhbmRsZXIgZm9yIHByb2Nlc3NpbmcgYW5kIHN0b3JpbmcgdGVzdCBhdHRhY2htZW50c1xuICAgKiBAdHlwZSB7ZnVuY3Rpb24oQWRkQXR0YWNoUGFyYW1zKTogUHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgYWRkQXR0YWNoRnVuY3Rpb246IChcbiAgICBwYXJhbXM6IEFkZEF0dGFjaFBhcmFtc1xuICApID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNYXAgb2YgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGJ5IHRoZSByZXBvcnRlclxuICAgKiBAc3VtbWFyeSBTdG9yZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgZGVwZW5kZW5jaWVzXG4gICAqIEB0eXBlIHtTaW1wbGVEZXBlbmRlbmN5TWFwfVxuICAgKi9cbiAgcHJpdmF0ZSBkZXBzPzogU2ltcGxlRGVwZW5kZW5jeU1hcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdGVzdENhc2U6IHN0cmluZyA9IFwidGVzdHNcIixcbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICBwcm9jZXNzLmN3ZCgpLFxuICAgICAgXCJ3b3JrZG9jc1wiLFxuICAgICAgXCJyZXBvcnRzXCIsXG4gICAgICBcImV2aWRlbmNlc1wiXG4gICAgKVxuICApIHtcbiAgICB0aGlzLmJhc2VQYXRoID0gcGF0aC5qb2luKGJhc2VQYXRoLCB0aGlzLnRlc3RDYXNlKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5iYXNlUGF0aCkpIHtcbiAgICAgIGZzLm1rZGlyU3luYyhiYXNlUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbXBvcnRzIHJlcXVpcmVkIGhlbHBlciBmdW5jdGlvbnNcbiAgICogQHN1bW1hcnkgRW5zdXJlcyBhbGwgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBhcmUgYXZhaWxhYmxlIGFuZCBpbXBvcnRzIGhlbHBlciBmdW5jdGlvbnNcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gaGVscGVycyBhcmUgaW1wb3J0ZWRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaW1wb3J0SGVscGVycygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmRlcHMgPSBhd2FpdCBpbnN0YWxsSWZOb3RBdmFpbGFibGUoW2RlcGVuZGVuY2llc1swXV0sIHRoaXMuZGVwcyk7XG4gICAgLy8gaWYgKCFwcm9jZXNzLmVudltKZXN0UmVwb3J0ZXJzVGVtcFBhdGhFbnZLZXldKVxuICAgIC8vICAgcHJvY2Vzcy5lbnZbSmVzdFJlcG9ydGVyc1RlbXBQYXRoRW52S2V5XSA9ICcuL3dvcmtkb2NzL3JlcG9ydHMnO1xuICAgIGNvbnN0IHsgYWRkTXNnLCBhZGRBdHRhY2ggfSA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChcbiAgICAgIGltcG9ydChgJHtkZXBlbmRlbmNpZXNbMF19L2hlbHBlcmApXG4gICAgKTtcbiAgICBUZXN0UmVwb3J0ZXIuYWRkTXNnRnVuY3Rpb24gPSBhZGRNc2c7XG4gICAgVGVzdFJlcG9ydGVyLmFkZEF0dGFjaEZ1bmN0aW9uID0gYWRkQXR0YWNoO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBvcnRzIGEgbWVzc2FnZSB0byB0aGUgdGVzdCByZXBvcnRcbiAgICogQHN1bW1hcnkgQWRkcyBhIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHRoZSB0ZXN0IHJlcG9ydCB3aXRoIGFuIG9wdGlvbmFsIHRpdGxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZSAtIFRpdGxlIG9mIHRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgb2JqZWN0fSBtZXNzYWdlIC0gQ29udGVudCBvZiB0aGUgbWVzc2FnZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWVzc2FnZSBpcyByZXBvcnRlZFxuICAgKi9cbiAgYXN5bmMgcmVwb3J0TWVzc2FnZSh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfCBvYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIVRlc3RSZXBvcnRlci5hZGRNc2dGdW5jdGlvbikgYXdhaXQgdGhpcy5pbXBvcnRIZWxwZXJzKCk7XG4gICAgY29uc3QgbXNnID0gYCR7dGl0bGV9JHttZXNzYWdlID8gYFxcbiR7bWVzc2FnZX1gIDogXCJcIn1gO1xuICAgIGF3YWl0IFRlc3RSZXBvcnRlci5hZGRNc2dGdW5jdGlvbih7IG1lc3NhZ2U6IG1zZyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVwb3J0cyBhbiBhdHRhY2htZW50IHRvIHRoZSB0ZXN0IHJlcG9ydFxuICAgKiBAc3VtbWFyeSBBZGRzIGEgZm9ybWF0dGVkIG1lc3NhZ2UgdG8gdGhlIHRlc3QgcmVwb3J0IHdpdGggYW4gb3B0aW9uYWwgdGl0bGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlIC0gVGl0bGUgb2YgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBCdWZmZXJ9IGF0dGFjaG1lbnQgLSBDb250ZW50IG9mIHRoZSBtZXNzYWdlXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBtZXNzYWdlIGlzIHJlcG9ydGVkXG4gICAqL1xuICBhc3luYyByZXBvcnRBdHRhY2htZW50KFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudDogc3RyaW5nIHwgQnVmZmVyXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghVGVzdFJlcG9ydGVyLmFkZEF0dGFjaEZ1bmN0aW9uKSBhd2FpdCB0aGlzLmltcG9ydEhlbHBlcnMoKTtcbiAgICBhd2FpdCBUZXN0UmVwb3J0ZXIuYWRkQXR0YWNoRnVuY3Rpb24oe1xuICAgICAgYXR0YWNoOiBhdHRhY2htZW50LFxuICAgICAgZGVzY3JpcHRpb246IHRpdGxlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBvcnRzIGRhdGEgd2l0aCBzcGVjaWZpZWQgdHlwZVxuICAgKiBAc3VtbWFyeSBQcm9jZXNzZXMgYW5kIHN0b3JlcyBkYXRhIGluIHRoZSB0ZXN0IHJlcG9ydCB3aXRoIGZvcm1hdHRpbmdcbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZSAtIFJlZmVyZW5jZSBpZGVudGlmaWVyIGZvciB0aGUgZGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlciB8IG9iamVjdH0gZGF0YSAtIERhdGEgdG8gYmUgcmVwb3J0ZWRcbiAgICogQHBhcmFtIHtQYXlsb2FkVHlwZX0gdHlwZSAtIFR5cGUgb2YgdGhlIHBheWxvYWRcbiAgICogQHBhcmFtIHtib29sZWFufSBbdHJpbT1mYWxzZV0gLSBXaGV0aGVyIHRvIHRyaW0gdGhlIGRhdGFcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gZGF0YSBpcyByZXBvcnRlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIHJlcG9ydChcbiAgICByZWZlcmVuY2U6IHN0cmluZyxcbiAgICBkYXRhOiBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3QgfCBCdWZmZXIsXG4gICAgdHlwZTogUGF5bG9hZFR5cGUsXG4gICAgdHJpbTogYm9vbGVhbiA9IGZhbHNlXG4gICkge1xuICAgIHRyeSB7XG4gICAgICBsZXQgYXR0YWNoRnVuY3Rpb246XG4gICAgICAgIHwgdHlwZW9mIHRoaXMucmVwb3J0TWVzc2FnZVxuICAgICAgICB8IHR5cGVvZiB0aGlzLnJlcG9ydEF0dGFjaG1lbnQgPSB0aGlzLnJlcG9ydE1lc3NhZ2UuYmluZCh0aGlzKTtcbiAgICAgIGxldCBleHRlbnNpb246IFwiLnBuZ1wiIHwgXCIudHh0XCIgfCBcIi5tZFwiIHwgXCIuanNvblwiID0gXCIudHh0XCI7XG5cbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwiaW1hZ2VcIjpcbiAgICAgICAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSBhcyBCdWZmZXIpO1xuICAgICAgICAgIGV4dGVuc2lvbiA9IFwiLnBuZ1wiO1xuICAgICAgICAgIGF0dGFjaEZ1bmN0aW9uID0gdGhpcy5yZXBvcnRBdHRhY2htZW50LmJpbmQodGhpcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICAgICAgaWYgKHRyaW0pIHtcbiAgICAgICAgICAgIGlmICgoZGF0YSBhcyB7IHJlcXVlc3Q/OiB1bmtub3duIH0pLnJlcXVlc3QpXG4gICAgICAgICAgICAgIGRlbGV0ZSAoZGF0YSBhcyB7IHJlcXVlc3Q/OiB1bmtub3duIH0pW1wicmVxdWVzdFwiXTtcbiAgICAgICAgICAgIGlmICgoZGF0YSBhcyB7IGNvbmZpZz86IHVua25vd24gfSkuY29uZmlnKVxuICAgICAgICAgICAgICBkZWxldGUgKGRhdGEgYXMgeyBjb25maWc/OiB1bmtub3duIH0pW1wiY29uZmlnXCJdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMik7XG4gICAgICAgICAgZXh0ZW5zaW9uID0gXCIuanNvblwiO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwibWRcIjpcbiAgICAgICAgICBleHRlbnNpb24gPSBcIi5tZFwiO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgIGV4dGVuc2lvbiA9IFwiLnR4dFwiO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnNvbGUubG9nKGBVbnN1cHBvcnRlZCB0eXBlICR7dHlwZX0uIGFzc3VtaW5nIHRleHRgKTtcbiAgICAgIH1cbiAgICAgIHJlZmVyZW5jZSA9IHJlZmVyZW5jZS5pbmNsdWRlcyhcIlxcblwiKVxuICAgICAgICA/IHJlZmVyZW5jZVxuICAgICAgICA6IGAke3JlZmVyZW5jZX0ke2V4dGVuc2lvbn1gO1xuICAgICAgYXdhaXQgYXR0YWNoRnVuY3Rpb24ocmVmZXJlbmNlLCBkYXRhIGFzIEJ1ZmZlciB8IHN0cmluZyk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHN0b3JlIGF0dGFjaCBhcnRpZmFjdCAke3JlZmVyZW5jZX0gdW5kZXIgdG8gdGVzdCByZXBvcnQgJHt0aGlzLnRlc3RDYXNlfSAtICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVwb3J0cyBkYXRhIHdpdGggYSBzcGVjaWZpZWQgdHlwZVxuICAgKiBAc3VtbWFyeSBXcmFwcGVyIG1ldGhvZCBmb3IgcmVwb3J0aW5nIHZhcmlvdXMgdHlwZXMgb2YgZGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmZXJlbmNlIC0gUmVmZXJlbmNlIGlkZW50aWZpZXIgZm9yIHRoZSBkYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0fSBkYXRhIC0gRGF0YSB0byBiZSByZXBvcnRlZFxuICAgKiBAcGFyYW0ge1BheWxvYWRUeXBlfSBbdHlwZT1cImpzb25cIl0gLSBUeXBlIG9mIHRoZSBwYXlsb2FkXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3RyaW09ZmFsc2VdIC0gV2hldGhlciB0byB0cmltIHRoZSBkYXRhXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGRhdGEgaXMgcmVwb3J0ZWRcbiAgICovXG4gIGFzeW5jIHJlcG9ydERhdGEoXG4gICAgcmVmZXJlbmNlOiBzdHJpbmcsXG4gICAgZGF0YTogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0LFxuICAgIHR5cGU6IFBheWxvYWRUeXBlID0gXCJqc29uXCIsXG4gICAgdHJpbSA9IGZhbHNlXG4gICkge1xuICAgIHJldHVybiB0aGlzLnJlcG9ydChyZWZlcmVuY2UsIGRhdGEsIHR5cGUsIHRyaW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBvcnRzIGEgSlNPTiBvYmplY3RcbiAgICogQHN1bW1hcnkgQ29udmVuaWVuY2UgbWV0aG9kIGZvciByZXBvcnRpbmcgSlNPTiBvYmplY3RzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZlcmVuY2UgLSBSZWZlcmVuY2UgaWRlbnRpZmllciBmb3IgdGhlIG9iamVjdFxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIEpTT04gb2JqZWN0IHRvIGJlIHJlcG9ydGVkXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3RyaW09ZmFsc2VdIC0gV2hldGhlciB0byB0cmltIHRoZSBvYmplY3RcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gb2JqZWN0IGlzIHJlcG9ydGVkXG4gICAqL1xuICBhc3luYyByZXBvcnRPYmplY3QocmVmZXJlbmNlOiBzdHJpbmcsIGpzb246IG9iamVjdCwgdHJpbSA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3J0KHJlZmVyZW5jZSwganNvbiwgXCJqc29uXCIsIHRyaW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBvcnRzIGEgdGFibGUgaW4gbWFya2Rvd24gZm9ybWF0XG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGFuZCBzdG9yZXMgYSB0YWJsZSBkZWZpbml0aW9uIGluIG1hcmtkb3duIGZvcm1hdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmZXJlbmNlIC0gUmVmZXJlbmNlIGlkZW50aWZpZXIgZm9yIHRoZSB0YWJsZVxuICAgKiBAcGFyYW0ge01kVGFibGVEZWZpbml0aW9ufSB0YWJsZURlZiAtIFRhYmxlIGRlZmluaXRpb24gb2JqZWN0XG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRhYmxlIGlzIHJlcG9ydGVkXG4gICAqL1xuICBhc3luYyByZXBvcnRUYWJsZShyZWZlcmVuY2U6IHN0cmluZywgdGFibGVEZWY6IE1kVGFibGVEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5kZXBzID0gYXdhaXQgaW5zdGFsbElmTm90QXZhaWxhYmxlKFtkZXBlbmRlbmNpZXNbMV1dLCB0aGlzLmRlcHMpO1xuICAgIGxldCB0eHQ6IHN0cmluZztcbiAgICB0cnkge1xuICAgICAgY29uc3QganNvbjJtZCA9IGF3YWl0IG5vcm1hbGl6ZUltcG9ydChpbXBvcnQoYCR7ZGVwZW5kZW5jaWVzWzFdfWApKTtcbiAgICAgIHR4dCA9IGpzb24ybWQodGFibGVEZWYpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGNvbnZlcnQgSlNPTiB0byBNYXJrZG93biAtICR7ZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXBvcnQocmVmZXJlbmNlLCB0eHQsIFwibWRcIik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlcG9ydHMgYSBncmFwaCB1c2luZyBDaGFydC5qc1xuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgYW5kIHN0b3JlcyBhIGdyYXBoIHZpc3VhbGl6YXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJlZmVyZW5jZSAtIFJlZmVyZW5jZSBpZGVudGlmaWVyIGZvciB0aGUgZ3JhcGhcbiAgICogQHBhcmFtIHthbnl9IGNvbmZpZyAtIENoYXJ0LmpzIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGdyYXBoIGlzIHJlcG9ydGVkXG4gICAqL1xuICBhc3luYyByZXBvcnRHcmFwaChyZWZlcmVuY2U6IHN0cmluZywgY29uZmlnOiBhbnkpIHtcbiAgICB0aGlzLmRlcHMgPSBhd2FpdCBpbnN0YWxsSWZOb3RBdmFpbGFibGUoW2RlcGVuZGVuY2llc1syXV0sIHRoaXMuZGVwcyk7XG4gICAgY29uc3QgeyBDaGFydEpTTm9kZUNhbnZhcyB9ID0gYXdhaXQgbm9ybWFsaXplSW1wb3J0KFxuICAgICAgaW1wb3J0KGRlcGVuZGVuY2llc1syXSlcbiAgICApO1xuXG4gICAgY29uc3Qgd2lkdGggPSA2MDA7IC8vcHhcbiAgICBjb25zdCBoZWlnaHQgPSA4MDA7IC8vcHhcbiAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3VyID0gXCJ3aGl0ZVwiOyAvLyBVc2VzIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vdGFncy9jYW52YXNfZmlsbHN0eWxlLmFzcFxuICAgIGNvbnN0IGNoYXJ0SlNOb2RlQ2FudmFzID0gbmV3IENoYXJ0SlNOb2RlQ2FudmFzKHtcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgICAgYmFja2dyb3VuZENvbG91cixcbiAgICB9KTtcblxuICAgIGNvbnN0IGltYWdlID0gYXdhaXQgY2hhcnRKU05vZGVDYW52YXMucmVuZGVyVG9CdWZmZXIoY29uZmlnKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXBvcnRJbWFnZShyZWZlcmVuY2UsIGltYWdlKTtcbiAgfVxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlcG9ydHMgYW4gaW1hZ2UgdG8gdGhlIHRlc3QgcmVwb3J0XG4gICAqIEBzdW1tYXJ5IFN0b3JlcyBhbiBpbWFnZSBidWZmZXIgaW4gdGhlIHRlc3QgcmVwb3J0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZlcmVuY2UgLSBSZWZlcmVuY2UgaWRlbnRpZmllciBmb3IgdGhlIGltYWdlXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBidWZmZXIgLSBJbWFnZSBkYXRhIGJ1ZmZlclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBpbWFnZSBpcyByZXBvcnRlZFxuICAgKi9cbiAgYXN5bmMgcmVwb3J0SW1hZ2UocmVmZXJlbmNlOiBzdHJpbmcsIGJ1ZmZlcjogQnVmZmVyKSB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3J0KHJlZmVyZW5jZSwgYnVmZmVyLCBcImltYWdlXCIpO1xuICB9XG59XG4iXX0=
|
|
260
|
+
//# sourceMappingURL=tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../src/utils/tests.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils/timeout.js
CHANGED
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
export async function awaitTimeout(ms) {
|
|
13
13
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=timeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/utils/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAU;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
package/lib/esm/utils/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":""}
|
package/lib/esm/utils/utils.js
CHANGED
|
@@ -234,4 +234,4 @@ export function runCommand(command, opts = {}, outputConstructor = (StandardOutp
|
|
|
234
234
|
});
|
|
235
235
|
return result;
|
|
236
236
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsNkNBQXdDO0FBR3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQW9CO0FBQ3hDLE9BQU8sRUFBVSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFJLENBQThCO0lBQ3ZELElBQUksSUFBSSxHQUFzQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEQsT0FBTyxDQUFDLEdBQUcsTUFBaUIsRUFBRSxFQUFFO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDO0FBbUNELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsU0FBd0MsRUFDeEMsR0FBRyxTQUF3QjtJQUUzQixJQUFJLE9BQXNCLENBQUM7SUFDM0IsSUFBSSxVQUEyQixDQUFDO0lBRWhDLGlCQUFpQjtJQUNqQixJQUFJLFNBQVMsWUFBWSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxVQUFVLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO1NBQU0sQ0FBQztRQUNOLFVBQVUsR0FBRyxTQUFT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QUMsQ0FBQztJQUVILE9BQU8sTUFBMEIsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hpbGRQcm9jZXNzV2l0aG91dE51bGxTdHJlYW1zLFxuICBzcGF3bixcbiAgU3Bhd25PcHRpb25zV2l0aG91dFN0ZGlvLFxufSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgU3RhbmRhcmRPdXRwdXRXcml0ZXIgfSBmcm9tIFwiLi4vd3JpdGVycy9TdGFuZGFyZE91dHB1dFdyaXRlclwiO1xuaW1wb3J0IHsgQ29tbWFuZFJlc3VsdCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBPdXRwdXRXcml0ZXJDb25zdHJ1Y3RvciB9IGZyb20gXCIuLi93cml0ZXJzL3R5cGVzXCI7XG5pbXBvcnQgeyBBYm9ydENvZGUgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IExvZ2dlciwgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbG9ja2VkIHZlcnNpb24gb2YgYSBmdW5jdGlvbi5cbiAqIEBzdW1tYXJ5IFRoaXMgaGlnaGVyLW9yZGVyIGZ1bmN0aW9uIHRha2VzIGEgZnVuY3Rpb24gYW5kIHJldHVybnMgYSBuZXcgZnVuY3Rpb24gdGhhdCBlbnN1cmVzXG4gKiBzZXF1ZW50aWFsIGV4ZWN1dGlvbiBvZiB0aGUgb3JpZ2luYWwgZnVuY3Rpb24sIGV2ZW4gd2hlbiBjYWxsZWQgbXVsdGlwbGUgdGltZXMgY29uY3VycmVudGx5LlxuICogSXQgdXNlcyBhIFByb21pc2UtYmFzZWQgbG9ja2luZyBtZWNoYW5pc20gdG8gcXVldWUgZnVuY3Rpb24gY2FsbHMuXG4gKlxuICogQHRlbXBsYXRlIFIgLSBUaGUgcmV0dXJuIHR5cGUgb2YgdGhlIGlucHV0IGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBmIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGxvY2tlZC4gSXQgY2FuIHRha2UgYW55IG51bWJlciBvZiBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gYSB2YWx1ZSBvZiB0eXBlIFIuXG4gKiBAcmV0dXJuIEEgbmV3IGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgc2lnbmF0dXJlIGFzIHRoZSBpbnB1dCBmdW5jdGlvbiwgYnV0IHdpdGggc2VxdWVudGlhbCBleGVjdXRpb24gZ3VhcmFudGVlZC5cbiAqXG4gKiBAZnVuY3Rpb24gbG9ja2lmeVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4gKiAgIHBhcnRpY2lwYW50IExvY2tlZEZ1bmN0aW9uXG4gKiAgIHBhcnRpY2lwYW50IE9yaWdpbmFsRnVuY3Rpb25cbiAqICAgQ2FsbGVyLT4+TG9ja2VkRnVuY3Rpb246IENhbGwgd2l0aCBwYXJhbXNcbiAqICAgTG9ja2VkRnVuY3Rpb24tPj5Mb2NrZWRGdW5jdGlvbjogQ2hlY2sgY3VycmVudCBsb2NrXG4gKiAgIGFsdCBMb2NrIGlzIHJlc29sdmVkXG4gKiAgICAgTG9ja2VkRnVuY3Rpb24tPj5PcmlnaW5hbEZ1bmN0aW9uOiBFeGVjdXRlIHdpdGggcGFyYW1zXG4gKiAgICAgT3JpZ2luYWxGdW5jdGlvbi0tPj5Mb2NrZWRGdW5jdGlvbjogUmV0dXJuIHJlc3VsdFxuICogICAgIExvY2tlZEZ1bmN0aW9uLS0+PkNhbGxlcjogUmV0dXJuIHJlc3VsdFxuICogICBlbHNlIExvY2sgaXMgcGVuZGluZ1xuICogICAgIExvY2tlZEZ1bmN0aW9uLT4+TG9ja2VkRnVuY3Rpb246IFF1ZXVlIGV4ZWN1dGlvblxuICogICAgIExvY2tlZEZ1bmN0aW9uLS0+PkNhbGxlcjogUmV0dXJuIHByb21pc2VcbiAqICAgICBOb3RlIG92ZXIgTG9ja2VkRnVuY3Rpb246IFdhaXQgZm9yIHByZXZpb3VzIGV4ZWN1dGlvblxuICogICAgIExvY2tlZEZ1bmN0aW9uLT4+T3JpZ2luYWxGdW5jdGlvbjogRXhlY3V0ZSB3aXRoIHBhcmFtc1xuICogICAgIE9yaWdpbmFsRnVuY3Rpb24tLT4+TG9ja2VkRnVuY3Rpb246IFJldHVybiByZXN1bHRcbiAqICAgICBMb2NrZWRGdW5jdGlvbi0tPj5DYWxsZXI6IFJlc29sdmUgcHJvbWlzZSB3aXRoIHJlc3VsdFxuICogICBlbmRcbiAqICAgTG9ja2VkRnVuY3Rpb24tPj5Mb2NrZWRGdW5jdGlvbjogVXBkYXRlIGxvY2tcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2NraWZ5PFI+KGY6ICguLi5wYXJhbXM6IHVua25vd25bXSkgPT4gUikge1xuICBsZXQgbG9jazogUHJvbWlzZTxSIHwgdm9pZD4gPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgcmV0dXJuICguLi5wYXJhbXM6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGxvY2sudGhlbigoKSA9PiBmKC4uLnBhcmFtcykpO1xuICAgIGxvY2sgPSByZXN1bHQuY2F0Y2goKCkgPT4ge30pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENoYWlucyBtdWx0aXBsZSBhYm9ydCBzaWduYWxzIHRvIGEgY29udHJvbGxlci5cbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBtZWNoYW5pc20gd2hlcmUgbXVsdGlwbGUgYWJvcnQgc2lnbmFscyBjYW4gdHJpZ2dlciBhIHNpbmdsZSBhYm9ydCBjb250cm9sbGVyLlxuICogVGhpcyBpcyB1c2VmdWwgZm9yIGNvb3JkaW5hdGluZyBjYW5jZWxsYXRpb24gYWNyb3NzIG11bHRpcGxlIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zLlxuICpcbiAqIEBwYXJhbSB7QWJvcnRDb250cm9sbGVyfSBjb250cm9sbGVyIC0gVGhlIGFib3J0IGNvbnRyb2xsZXIgdG8gYmUgdHJpZ2dlcmVkIGJ5IHNpZ25hbHMuXG4gKiBAcGFyYW0gey4uLkFib3J0U2lnbmFsfSBzaWduYWxzIC0gT25lIG9yIG1vcmUgYWJvcnQgc2lnbmFscyB0aGF0IGNhbiB0cmlnZ2VyIHRoZSBjb250cm9sbGVyLlxuICogQHJldHVybiB7QWJvcnRDb250cm9sbGVyfSBUaGUgaW5wdXQgY29udHJvbGxlciwgbm93IGNvbm5lY3RlZCB0byB0aGUgc2lnbmFscy5cbiAqXG4gKiBAZnVuY3Rpb24gY2hhaW5BYm9ydENvbnRyb2xsZXJcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbkFib3J0Q29udHJvbGxlcihcbiAgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyLFxuICAuLi5zaWduYWxzOiBBYm9ydFNpZ25hbFtdXG4pOiBBYm9ydENvbnRyb2xsZXI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgY29udHJvbGxlciBjaGFpbmVkIHRvIG11bHRpcGxlIGFib3J0IHNpZ25hbHMuXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgbmV3IGFib3J0IGNvbnRyb2xsZXIgdGhhdCB3aWxsIGJlIHRyaWdnZXJlZCBpZiBhbnkgb2YgdGhlIHByb3ZpZGVkIHNpZ25hbHMgYXJlIGFib3J0ZWQuXG4gKlxuICogQHBhcmFtIHsuLi5BYm9ydFNpZ25hbH0gc2lnbmFscyAtIE9uZSBvciBtb3JlIGFib3J0IHNpZ25hbHMgdGhhdCBjYW4gdHJpZ2dlciB0aGUgbmV3IGNvbnRyb2xsZXIuXG4gKiBAcmV0dXJuIHtBYm9ydENvbnRyb2xsZXJ9IEEgbmV3IGFib3J0IGNvbnRyb2xsZXIgY29ubmVjdGVkIHRvIHRoZSBzaWduYWxzLlxuICpcbiAqIEBmdW5jdGlvbiBjaGFpbkFib3J0Q29udHJvbGxlclxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dXRpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoYWluQWJvcnRDb250cm9sbGVyKFxuICAuLi5zaWduYWxzOiBBYm9ydFNpZ25hbFtdXG4pOiBBYm9ydENvbnRyb2xsZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbkFib3J0Q29udHJvbGxlcihcbiAgYXJndW1lbnQwOiBBYm9ydENvbnRyb2xsZXIgfCBBYm9ydFNpZ25hbCxcbiAgLi4ucmVtYWluZGVyOiBBYm9ydFNpZ25hbFtdXG4pOiBBYm9ydENvbnRyb2xsZXIge1xuICBsZXQgc2lnbmFsczogQWJvcnRTaWduYWxbXTtcbiAgbGV0IGNvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcjtcblxuICAvLyBub3JtYWxpemUgYXJnc1xuICBpZiAoYXJndW1lbnQwIGluc3RhbmNlb2YgQWJvcnRTaWduYWwpIHtcbiAgICBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHNpZ25hbHMgPSBbYXJndW1lbnQwLCAuLi5yZW1haW5kZXJdO1xuICB9IGVsc2Uge1xuICAgIGNvbnRyb2xsZXIgPSBhcmd1bWVudDA7XG4gICAgc2lnbmFscyA9IHJlbWFpbmRlcjtcbiAgfVxuXG4gIC8vIGlmIHRoZSBjb250cm9sbGVyIGlzIGFscmVhZHkgYWJvcnRlZCwgZXhpdCBlYXJseVxuICBpZiAoY29udHJvbGxlci5zaWduYWwuYWJvcnRlZCkge1xuICAgIHJldHVybiBjb250cm9sbGVyO1xuICB9XG5cbiAgY29uc3QgaGFuZGxlciA9ICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcblxuICBmb3IgKGNvbnN0IHNpZ25hbCBvZiBzaWduYWxzKSB7XG4gICAgLy8gY2hlY2sgYmVmb3JlIGFkZGluZyEgKGFuZCBhc3N1bWUgdGhlcmUgaXMgbm8gcG9zc2libGUgd2F5IHRoYXQgdGhlIHNpZ25hbCBjb3VsZFxuICAgIC8vIGFib3J0IGJldHdlZW4gdGhlIGBpZmAgY2hlY2sgYW5kIGFkZGluZyB0aGUgZXZlbnQgbGlzdGVuZXIpXG4gICAgaWYgKHNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICBjb250cm9sbGVyLmFib3J0KCk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBoYW5kbGVyLCB7XG4gICAgICBvbmNlOiB0cnVlLFxuICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBjb250cm9sbGVyO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTcGF3bnMgYSBjb21tYW5kIGFzIGEgY2hpbGQgcHJvY2VzcyB3aXRoIG91dHB1dCBoYW5kbGluZy5cbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBjaGlsZCBwcm9jZXNzIHRvIGV4ZWN1dGUgYSBjb21tYW5kIHdpdGggc3VwcG9ydCBmb3IgcGlwaW5nIG11bHRpcGxlIGNvbW1hbmRzLFxuICogY3VzdG9tIG91dHB1dCBoYW5kbGluZywgYW5kIGFib3J0IGNvbnRyb2wuIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB0aGUgbG93LWxldmVsIGRldGFpbHMgb2ZcbiAqIHNwYXduaW5nIHByb2Nlc3NlcyBhbmQgY29ubmVjdGluZyB0aGVpciBpbnB1dHMvb3V0cHV0cyB3aGVuIHBpcGluZyBpcyB1c2VkLlxuICpcbiAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHR5cGUgb2YgdGhlIHByb2Nlc3NlZCBvdXRwdXQsIGRlZmF1bHRpbmcgdG8gc3RyaW5nLlxuICogQHBhcmFtIHtTdGFuZGFyZE91dHB1dFdyaXRlcjxSPn0gb3V0cHV0IC0gVGhlIG91dHB1dCB3cml0ZXIgdG8gaGFuZGxlIGNvbW1hbmQgb3V0cHV0LlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbW1hbmQgLSBUaGUgY29tbWFuZCB0byBleGVjdXRlLCBjYW4gaW5jbHVkZSBwaXBlIG9wZXJhdG9ycy5cbiAqIEBwYXJhbSB7U3Bhd25PcHRpb25zV2l0aG91dFN0ZGlvfSBvcHRzIC0gT3B0aW9ucyBmb3IgdGhlIHNwYXduZWQgcHJvY2Vzcy5cbiAqIEBwYXJhbSB7QWJvcnRDb250cm9sbGVyfSBhYm9ydCAtIENvbnRyb2xsZXIgdG8gYWJvcnQgdGhlIGNvbW1hbmQgZXhlY3V0aW9uLlxuICogQHBhcmFtIHtMb2dnZXJ9IGxvZ2dlciAtIExvZ2dlciBmb3IgcmVjb3JkaW5nIGNvbW1hbmQgZXhlY3V0aW9uIGRldGFpbHMuXG4gKiBAcmV0dXJuIHtDaGlsZFByb2Nlc3NXaXRob3V0TnVsbFN0cmVhbXN9IFRoZSBzcGF3bmVkIGNoaWxkIHByb2Nlc3MuXG4gKlxuICogQGZ1bmN0aW9uIHNwYXduQ29tbWFuZFxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dXRpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwYXduQ29tbWFuZDxSID0gc3RyaW5nPihcbiAgb3V0cHV0OiBTdGFuZGFyZE91dHB1dFdyaXRlcjxSPixcbiAgY29tbWFuZDogc3RyaW5nLFxuICBvcHRzOiBTcGF3bk9wdGlvbnNXaXRob3V0U3RkaW8sXG4gIGFib3J0OiBBYm9ydENvbnRyb2xsZXIsXG4gIGxvZ2dlcjogTG9nZ2VyXG4pOiBDaGlsZFByb2Nlc3NXaXRob3V0TnVsbFN0cmVhbXMge1xuICBmdW5jdGlvbiBzcGF3bklubmVyKGNvbW1hbmQ6IHN0cmluZywgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyKSB7XG4gICAgY29uc3QgW2NtZCwgYXJnel0gPSBvdXRwdXQucGFyc2VDb21tYW5kKGNvbW1hbmQpO1xuICAgIGxvZ2dlci5pbmZvKGBSdW5uaW5nIGNvbW1hbmQ6ICR7Y21kfWApO1xuICAgIGxvZ2dlci5kZWJ1Zyhgd2l0aCBhcmdzOiAke2FyZ3ouam9pbihcIiBcIil9YCk7XG4gICAgY29uc3QgY2hpbGRQcm9jZXNzID0gc3Bhd24oY21kLCBhcmd6LCB7XG4gICAgICAuLi5vcHRzLFxuICAgICAgY3dkOiBvcHRzLmN3ZCB8fCBwcm9jZXNzLmN3ZCgpLFxuICAgICAgZW52OiBPYmplY3QuYXNzaWduKHt9LCBwcm9jZXNzLmVudiwgb3B0cy5lbnYsIHsgUEFUSDogcHJvY2Vzcy5lbnYuUEFUSCB9KSxcbiAgICAgIHNoZWxsOiBvcHRzLnNoZWxsIHx8IGZhbHNlLFxuICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICBsb2dnZXIudmVyYm9zZShgcGlkIDogJHtjaGlsZFByb2Nlc3MucGlkfWApO1xuICAgIHJldHVybiBjaGlsZFByb2Nlc3M7XG4gIH1cblxuICBjb25zdCBtID0gY29tbWFuZC5tYXRjaCgvWzw+JCNdL2cpO1xuICBpZiAobSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSW52YWxpZCBjb21tYW5kOiAke2NvbW1hbmR9LiBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnM6ICR7bX1gXG4gICAgKTtcbiAgaWYgKGNvbW1hbmQuaW5jbHVkZXMoXCIgfCBcIikpIHtcbiAgICBjb25zdCBjbWRzID0gY29tbWFuZC5zcGxpdChcIiB8IFwiKTtcbiAgICBjb25zdCBzcGF3bnMgPSBbXTtcbiAgICBjb25zdCBjb250cm9sbGVycyA9IG5ldyBBcnJheShjbWRzLmxlbmd0aCk7XG4gICAgY29udHJvbGxlcnNbMF0gPSBhYm9ydDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNtZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChpICE9PSAwKVxuICAgICAgICBjb250cm9sbGVyc1tpXSA9IGNoYWluQWJvcnRDb250cm9sbGVyKGNvbnRyb2xsZXJzW2kgLSAxXS5zaWduYWwpO1xuICAgICAgc3Bhd25zLnB1c2goc3Bhd25Jbm5lcihjbWRzW2ldLCBjb250cm9sbGVyc1tpXSkpO1xuICAgICAgaWYgKGkgPT09IDApIGNvbnRpbnVlO1xuICAgICAgc3Bhd25zW2kgLSAxXS5zdGRvdXQucGlwZShzcGF3bnNbaV0uc3RkaW4pO1xuICAgIH1cbiAgICByZXR1cm4gc3Bhd25zW2NtZHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICByZXR1cm4gc3Bhd25Jbm5lcihjb21tYW5kLCBhYm9ydCk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgY29tbWFuZCBhc3luY2hyb25vdXNseSB3aXRoIGN1c3RvbWl6YWJsZSBvdXRwdXQgaGFuZGxpbmcuXG4gKiBAc3VtbWFyeSBUaGlzIGZ1bmN0aW9uIHJ1bnMgYSBzaGVsbCBjb21tYW5kIGFzIGEgY2hpbGQgcHJvY2VzcywgcHJvdmlkaW5nIGZpbmUtZ3JhaW5lZFxuICogY29udHJvbCBvdmVyIGl0cyBleGVjdXRpb24gYW5kIG91dHB1dCBoYW5kbGluZy4gSXQgc3VwcG9ydHMgY3VzdG9tIG91dHB1dCB3cml0ZXJzLFxuICogYWxsb3dzIGZvciBjb21tYW5kIGFib3J0aW9uLCBhbmQgY2FwdHVyZXMgYm90aCBzdGRvdXQgYW5kIHN0ZGVyci5cbiAqXG4gKiBAdGVtcGxhdGUgUiAtIFRoZSB0eXBlIG9mIHRoZSByZXNvbHZlZCB2YWx1ZSBmcm9tIHRoZSBjb21tYW5kIGV4ZWN1dGlvbi5cbiAqXG4gKiBAcGFyYW0gY29tbWFuZCAtIFRoZSBjb21tYW5kIHRvIHJ1biwgZWl0aGVyIGFzIGEgc3RyaW5nIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gKiBAcGFyYW0gb3B0cyAtIFNwYXduIG9wdGlvbnMgZm9yIHRoZSBjaGlsZCBwcm9jZXNzLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBvYmplY3QuXG4gKiBAcGFyYW0gb3V0cHV0Q29uc3RydWN0b3IgLSBDb25zdHJ1Y3RvciBmb3IgdGhlIG91dHB1dCB3cml0ZXIuIERlZmF1bHRzIHRvIFN0YW5kYXJkT3V0cHV0V3JpdGVyLlxuICogQHBhcmFtIGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBvdXRwdXQgY29uc3RydWN0b3IuXG4gKiBAcmV0dXJuIHtDb21tYW5kUmVzdWx0fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgY29tbWFuZCByZXN1bHQgb2YgdHlwZSBSLlxuICpcbiAqIEBmdW5jdGlvbiBydW5Db21tYW5kXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgcnVuQ29tbWFuZFxuICogICBwYXJ0aWNpcGFudCBPdXRwdXRXcml0ZXJcbiAqICAgcGFydGljaXBhbnQgQ2hpbGRQcm9jZXNzXG4gKiAgIENhbGxlci0+PnJ1bkNvbW1hbmQ6IENhbGwgd2l0aCBjb21tYW5kIGFuZCBvcHRpb25zXG4gKiAgIHJ1bkNvbW1hbmQtPj5PdXRwdXRXcml0ZXI6IENyZWF0ZSBuZXcgaW5zdGFuY2VcbiAqICAgcnVuQ29tbWFuZC0+Pk91dHB1dFdyaXRlcjogUGFyc2UgY29tbWFuZFxuICogICBydW5Db21tYW5kLT4+Q2hpbGRQcm9jZXNzOiBTcGF3biBwcm9jZXNzXG4gKiAgIENoaWxkUHJvY2Vzcy0tPj5ydW5Db21tYW5kOiBSZXR1cm4gcHJvY2VzcyBvYmplY3RcbiAqICAgcnVuQ29tbWFuZC0+PkNoaWxkUHJvY2VzczogU2V0IHVwIGV2ZW50IGxpc3RlbmVyc1xuICogICBsb29wIEZvciBlYWNoIHN0ZG91dCBkYXRhXG4gKiAgICAgQ2hpbGRQcm9jZXNzLT4+cnVuQ29tbWFuZDogRW1pdCBzdGRvdXQgZGF0YVxuICogICAgIHJ1bkNvbW1hbmQtPj5PdXRwdXRXcml0ZXI6IEhhbmRsZSBzdGRvdXQgZGF0YVxuICogICBlbmRcbiAqICAgbG9vcCBGb3IgZWFjaCBzdGRlcnIgZGF0YVxuICogICAgIENoaWxkUHJvY2Vzcy0+PnJ1bkNvbW1hbmQ6IEVtaXQgc3RkZXJyIGRhdGFcbiAqICAgICBydW5Db21tYW5kLT4+T3V0cHV0V3JpdGVyOiBIYW5kbGUgc3RkZXJyIGRhdGFcbiAqICAgZW5kXG4gKiAgIENoaWxkUHJvY2Vzcy0+PnJ1bkNvbW1hbmQ6IEVtaXQgZXJyb3IgKGlmIGFueSlcbiAqICAgcnVuQ29tbWFuZC0+Pk91dHB1dFdyaXRlcjogSGFuZGxlIGVycm9yXG4gKiAgIENoaWxkUHJvY2Vzcy0+PnJ1bkNvbW1hbmQ6IEVtaXQgZXhpdFxuICogICBydW5Db21tYW5kLT4+T3V0cHV0V3JpdGVyOiBIYW5kbGUgZXhpdFxuICogICBPdXRwdXRXcml0ZXItLT4+cnVuQ29tbWFuZDogUmVzb2x2ZSBvciByZWplY3QgcHJvbWlzZVxuICogICBydW5Db21tYW5kLS0+PkNhbGxlcjogUmV0dXJuIENvbW1hbmRSZXN1bHRcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5Db21tYW5kPFIgPSBzdHJpbmc+KFxuICBjb21tYW5kOiBzdHJpbmcsXG4gIG9wdHM6IFNwYXduT3B0aW9uc1dpdGhvdXRTdGRpbyA9IHt9LFxuICBvdXRwdXRDb25zdHJ1Y3RvcjogT3V0cHV0V3JpdGVyQ29uc3RydWN0b3I8XG4gICAgUixcbiAgICBTdGFuZGFyZE91dHB1dFdyaXRlcjxSPixcbiAgICBFcnJvclxuICA+ID0gU3RhbmRhcmRPdXRwdXRXcml0ZXI8Uj4sXG4gIC4uLmFyZ3M6IHVua25vd25bXVxuKTogQ29tbWFuZFJlc3VsdDxSPiB7XG4gIGNvbnN0IGxvZ2dlciA9IExvZ2dpbmcuZm9yKHJ1bkNvbW1hbmQpO1xuICBjb25zdCBhYm9ydCA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBjb25zdCByZXN1bHQ6IE9taXQ8Q29tbWFuZFJlc3VsdCwgXCJwcm9taXNlXCIgfCBcInBpcGVcIj4gPSB7XG4gICAgYWJvcnQ6IGFib3J0LFxuICAgIGNvbW1hbmQ6IGNvbW1hbmQsXG4gICAgbG9nczogW10sXG4gICAgZXJyczogW10sXG4gIH07XG5cbiAgY29uc3QgbG9jayA9IG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBsZXQgb3V0cHV0O1xuICAgIHRyeSB7XG4gICAgICBvdXRwdXQgPSBuZXcgb3V0cHV0Q29uc3RydWN0b3IoXG4gICAgICAgIGNvbW1hbmQsXG4gICAgICAgIHtcbiAgICAgICAgICByZXNvbHZlLFxuICAgICAgICAgIHJlamVjdCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uYXJnc1xuICAgICAgKTtcblxuICAgICAgcmVzdWx0LmNtZCA9IHNwYXduQ29tbWFuZDxSPihvdXRwdXQsIGNvbW1hbmQsIG9wdHMsIGFib3J0LCBsb2dnZXIpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKGBFcnJvciBydW5uaW5nIGNvbW1hbmQgJHtjb21tYW5kfTogJHtlfWApKTtcbiAgICB9XG5cbiAgICByZXN1bHQuY21kLnN0ZG91dC5zZXRFbmNvZGluZyhcInV0ZjhcIik7XG5cbiAgICByZXN1bHQuY21kLnN0ZG91dC5vbihcImRhdGFcIiwgKGNodW5rOiBhbnkpID0+IHtcbiAgICAgIGNodW5rID0gY2h1bmsudG9TdHJpbmcoKTtcbiAgICAgIHJlc3VsdC5sb2dzLnB1c2goY2h1bmspO1xuICAgICAgb3V0cHV0LmRhdGEoY2h1bmspO1xuICAgIH0pO1xuXG4gICAgcmVzdWx0LmNtZC5zdGRlcnIub24oXCJkYXRhXCIsIChkYXRhOiBhbnkpID0+IHtcbiAgICAgIGRhdGEgPSBkYXRhLnRvU3RyaW5nKCk7XG4gICAgICByZXN1bHQuZXJycy5wdXNoKGRhdGEpO1xuICAgICAgb3V0cHV0LmVycm9yKGRhdGEpO1xuICAgIH0pO1xuXG4gICAgcmVzdWx0LmNtZC5vbmNlKFwiZXJyb3JcIiwgKGVycjogRXJyb3IpID0+IHtcbiAgICAgIG91dHB1dC5leGl0KGVyci5tZXNzYWdlLCByZXN1bHQuZXJycyk7XG4gICAgfSk7XG5cbiAgICByZXN1bHQuY21kLm9uY2UoXCJleGl0XCIsIChjb2RlOiBudW1iZXIgPSAwKSA9PiB7XG4gICAgICBpZiAoYWJvcnQuc2lnbmFsLmFib3J0ZWQgJiYgY29kZSA9PT0gbnVsbCkgY29kZSA9IEFib3J0Q29kZSBhcyBhbnk7XG4gICAgICBvdXRwdXQuZXhpdChjb2RlLCBjb2RlID09PSAwID8gcmVzdWx0LmxvZ3MgOiByZXN1bHQuZXJycyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIE9iamVjdC5hc3NpZ24ocmVzdWx0LCB7XG4gICAgcHJvbWlzZTogbG9jayxcbiAgICBwaXBlOiBhc3luYyA8RT4oY2I6IChyOiBSKSA9PiBFKSA9PiB7XG4gICAgICBjb25zdCBsID0gbG9nZ2VyLmZvcihcInBpcGVcIik7XG4gICAgICB0cnkge1xuICAgICAgICBsLnZlcmJvc2UoYEV4ZWN1dGluZyBwaXBlIGZ1bmN0aW9uICR7Y29tbWFuZH0uLi5gKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSID0gYXdhaXQgbG9jaztcbiAgICAgICAgbC52ZXJib3NlKGBQaXBpbmcgb3V0cHV0IHRvICR7Y2IubmFtZX06ICR7cmVzdWx0fWApO1xuICAgICAgICByZXR1cm4gY2IocmVzdWx0KTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgbC5lcnJvcihgRXJyb3IgcGlwaW5nIGNvbW1hbmQgb3V0cHV0OiAke2V9YCk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdCBhcyBDb21tYW5kUmVzdWx0PFI+O1xufVxuIl19
|
|
237
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=OutputWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputWriter.js","sourceRoot":"","sources":["../../../src/writers/OutputWriter.ts"],"names":[],"mappings":""}
|
|
@@ -135,4 +135,4 @@ export class RegexpOutputWriter extends StandardOutputWriter {
|
|
|
135
135
|
this.testAndReject(String(chunk));
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
//# sourceMappingURL=
|
|
138
|
+
//# sourceMappingURL=RegexpOutputWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegexpOutputWriter.js","sourceRoot":"","sources":["../../../src/writers/RegexpOutputWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kCAA+B;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,OAAO,kBAAmB,SAAQ,oBAA4B;IAOlE,YACE,GAAW,EACX,IAAoC,EACpC,MAAuB,EACvB,KAAK,GAAG,GAAG;QAEX,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM;gBACT,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,IAAI,CAAC,IAAY;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACO,cAAc,CAAC,IAAY;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACO,aAAa,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAC,KAAU;QACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,KAAU;QACvB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -161,4 +161,4 @@ export class StandardOutputWriter {
|
|
|
161
161
|
this.lock.reject(reason);
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhcmRPdXRwdXRXcml0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd3JpdGVycy9TdGFuZGFyZE91dHB1dFdyaXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdDQUEyQjtBQUk5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFVLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0REc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQ1ksR0FBVyxFQUNYLElBQXdCO0lBQ2xDLDZEQUE2RDtJQUM3RCxHQUFHLElBQWU7UUFIUixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFJbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08sR0FBRyxDQUFDLElBQWdCLEVBQUUsSUFBcUI7UUFDbkQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7T0FLRztJ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QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQzlELENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmNvZGluZyB9IGZyb20gXCIuLi91dGlscy9jb25zdGFudHNcIjtcbmltcG9ydCB7IE91dHB1dFdyaXRlciB9IGZyb20gXCIuL091dHB1dFdyaXRlclwiO1xuaW1wb3J0IHsgUHJvbWlzZUV4ZWN1dG9yIH0gZnJvbSBcIi4uL3V0aWxzL3R5cGVzXCI7XG5pbXBvcnQgeyBPdXRwdXRUeXBlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IHN0eWxlIH0gZnJvbSBcInN0eWxlZC1zdHJpbmctYnVpbGRlclwiO1xuaW1wb3J0IHsgTG9nZ2VyLCBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEEgc3RhbmRhcmQgb3V0cHV0IHdyaXRlciBmb3IgaGFuZGxpbmcgY29tbWFuZCBleGVjdXRpb24gb3V0cHV0LlxuICogQHN1bW1hcnkgVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSBPdXRwdXRXcml0ZXIgaW50ZXJmYWNlIGFuZCBwcm92aWRlcyBtZXRob2RzIGZvclxuICogaGFuZGxpbmcgdmFyaW91cyB0eXBlcyBvZiBvdXRwdXQgZnJvbSBjb21tYW5kIGV4ZWN1dGlvbiwgaW5jbHVkaW5nIHN0YW5kYXJkIG91dHB1dCxcbiAqIGVycm9yIG91dHB1dCwgYW5kIGV4aXQgY29kZXMuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBtZXRob2RzIGZvciBwYXJzaW5nIGNvbW1hbmRzXG4gKiBhbmQgcmVzb2x2aW5nIG9yIHJlamVjdGluZyBwcm9taXNlcyBiYXNlZCBvbiBleGVjdXRpb24gcmVzdWx0cy5cbiAqXG4gKiBAdGVtcGxhdGUgUiAtIFRoZSB0eXBlIG9mIHRoZSByZXNvbHZlZCB2YWx1ZSwgZGVmYXVsdGluZyB0byBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGNtZCAtIFRoZSBjb21tYW5kIHN0cmluZyB0byBiZSBleGVjdXRlZC5cbiAqIEBwYXJhbSBsb2NrIC0gQSBQcm9taXNlRXhlY3V0b3IgdG8gY29udHJvbCB0aGUgYXN5bmNocm9ub3VzIGZsb3cuXG4gKiBAcGFyYW0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzICh1bnVzZWQgaW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24pLlxuICpcbiAqIEBjbGFzc1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFN0YW5kYXJkT3V0cHV0V3JpdGVyIH0gZnJvbSAnQGRlY2FmLXRzL3V0aWxzJztcbiAqIGltcG9ydCB7IFByb21pc2VFeGVjdXRvciB9IGZyb20gJ0BkZWNhZi10cy91dGlscyc7XG4gKiBcbiAqIC8vIENyZWF0ZSBhIHByb21pc2UgZXhlY3V0b3JcbiAqIGNvbnN0IGV4ZWN1dG9yOiBQcm9taXNlRXhlY3V0b3I8c3RyaW5nPiA9IHtcbiAqICAgcmVzb2x2ZTogKHZhbHVlKSA9PiBjb25zb2xlLmxvZyhgUmVzb2x2ZWQ6ICR7dmFsdWV9YCksXG4gKiAgIHJlamVjdDogKGVycm9yKSA9PiBjb25zb2xlLmVycm9yKGBSZWplY3RlZDogJHtlcnJvci5tZXNzYWdlfWApXG4gKiB9O1xuICogXG4gKiAvLyBDcmVhdGUgYSBzdGFuZGFyZCBvdXRwdXQgd3JpdGVyXG4gKiBjb25zdCB3cml0ZXIgPSBuZXcgU3RhbmRhcmRPdXRwdXRXcml0ZXIoJ2xzIC1sYScsIGV4ZWN1dG9yKTtcbiAqIFxuICogLy8gVXNlIHRoZSB3cml0ZXIgdG8gaGFuZGxlIGNvbW1hbmQgb3V0cHV0XG4gKiB3cml0ZXIuZGF0YSgnRmlsZSBsaXN0IG91dHB1dC4uLicpO1xuICogd3JpdGVyLmV4aXQoMCwgWydDb21tYW5kIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSddKTtcbiAqIGBgYFxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2xpZW50XG4gKiAgIHBhcnRpY2lwYW50IFN0YW5kYXJkT3V0cHV0V3JpdGVyXG4gKiAgIHBhcnRpY2lwYW50IExvZ2dlclxuICogICBwYXJ0aWNpcGFudCBQcm9taXNlRXhlY3V0b3JcbiAqICAgXG4gKiAgIENsaWVudC0+PlN0YW5kYXJkT3V0cHV0V3JpdGVyOiBuZXcgU3RhbmRhcmRPdXRwdXRXcml0ZXIoY21kLCBsb2NrKVxuICogICBTdGFuZGFyZE91dHB1dFdyaXRlci0+PkxvZ2dlcjogTG9nZ2luZy5mb3IoY21kKVxuICogICBcbiAqICAgQ2xpZW50LT4+U3RhbmRhcmRPdXRwdXRXcml0ZXI6IGRhdGEoY2h1bmspXG4gKiAgIFN0YW5kYXJkT3V0cHV0V3JpdGVyLT4+U3RhbmRhcmRPdXRwdXRXcml0ZXI6IGxvZyhcInN0ZG91dFwiLCBjaHVuaylcbiAqICAgU3RhbmRhcmRPdXRwdXRXcml0ZXItPj5Mb2dnZXI6IGxvZ2dlci5pbmZvKGxvZylcbiAqICAgXG4gKiAgIENsaWVudC0+PlN0YW5kYXJkT3V0cHV0V3JpdGVyOiBlcnJvcihjaHVuaylcbiAqICAgU3RhbmRhcmRPdXRwdXRXcml0ZXItPj5TdGFuZGFyZE91dHB1dFdyaXRlcjogbG9nKFwic3RkZXJyXCIsIGNodW5rKVxuICogICBTdGFuZGFyZE91dHB1dFdyaXRlci0+PkxvZ2dlcjogbG9nZ2VyLmluZm8obG9nKVxuICogICBcbiAqICAgQ2xpZW50LT4+U3RhbmRhcmRPdXRwdXRXcml0ZXI6IGV4aXQoY29kZSwgbG9ncylcbiAqICAgU3RhbmRhcmRPdXRwdXRXcml0ZXItPj5TdGFuZGFyZE91dHB1dFdyaXRlcjogbG9nKFwic3Rkb3V0XCIsIGV4aXRNZXNzYWdlKVxuICogICBhbHQgY29kZSA9PT0gMFxuICogICAgIFN0YW5kYXJkT3V0cHV0V3JpdGVyLT4+U3RhbmRhcmRPdXRwdXRXcml0ZXI6IHJlc29sdmUobG9ncylcbiAqICAgICBTdGFuZGFyZE91dHB1dFdyaXRlci0+PlByb21pc2VFeGVjdXRvcjogbG9jay5yZXNvbHZlKHJlYXNvbilcbiAqICAgZWxzZSBjb2RlICE9PSAwXG4gKiAgICAgU3RhbmRhcmRPdXRwdXRXcml0ZXItPj5TdGFuZGFyZE91dHB1dFdyaXRlcjogcmVqZWN0KGVycm9yKVxuICogICAgIFN0YW5kYXJkT3V0cHV0V3JpdGVyLT4+UHJvbWlzZUV4ZWN1dG9yOiBsb2NrLnJlamVjdChyZWFzb24pXG4gKiAgIGVuZFxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRPdXRwdXRXcml0ZXI8UiA9IHN0cmluZz4gaW1wbGVtZW50cyBPdXRwdXRXcml0ZXIge1xuICBwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGNtZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBsb2NrOiBQcm9taXNlRXhlY3V0b3I8Uj4sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIC4uLmFyZ3M6IHVua25vd25bXVxuICApIHtcbiAgICB0aGlzLmxvZ2dlciA9IExvZ2dpbmcuZm9yKHRoaXMuY21kKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTG9ncyBvdXRwdXQgdG8gdGhlIGNvbnNvbGUuXG4gICAqIEBzdW1tYXJ5IEZvcm1hdHMgYW5kIGxvZ3MgdGhlIGdpdmVuIGRhdGEgd2l0aCBhIHRpbWVzdGFtcCBhbmQgdHlwZSBpbmRpY2F0b3IuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgb2Ygb3V0cHV0IChzdGRvdXQgb3Igc3RkZXJyKS5cbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBiZSBsb2dnZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgbG9nKHR5cGU6IE91dHB1dFR5cGUsIGRhdGE6IHN0cmluZyB8IEJ1ZmZlcikge1xuICAgIGRhdGEgPSBCdWZmZXIuaXNCdWZmZXIoZGF0YSkgPyBkYXRhLnRvU3RyaW5nKEVuY29kaW5nKSA6IGRhdGE7XG4gICAgY29uc3QgbG9nID0gdHlwZSA9PT0gXCJzdGRlcnJcIiA/IHN0eWxlKGRhdGEpLnJlZC50ZXh0IDogZGF0YTtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKGxvZyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgc3RhbmRhcmQgb3V0cHV0IGRhdGEuXG4gICAqIEBzdW1tYXJ5IExvZ3MgdGhlIGdpdmVuIGNodW5rIGFzIHN0YW5kYXJkIG91dHB1dC5cbiAgICpcbiAgICogQHBhcmFtIGNodW5rIC0gVGhlIGRhdGEgY2h1bmsgdG8gYmUgbG9nZ2VkLlxuICAgKi9cbiAgZGF0YShjaHVuazogYW55KSB7XG4gICAgdGhpcy5sb2coXCJzdGRvdXRcIiwgU3RyaW5nKGNodW5rKSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgZXJyb3Igb3V0cHV0IGRhdGEuXG4gICAqIEBzdW1tYXJ5IExvZ3MgdGhlIGdpdmVuIGNodW5rIGFzIGVycm9yIG91dHB1dC5cbiAgICpcbiAgICogQHBhcmFtIGNodW5rIC0gVGhlIGVycm9yIGRhdGEgY2h1bmsgdG8gYmUgbG9nZ2VkLlxuICAgKi9cbiAgZXJyb3IoY2h1bms6IGFueSkge1xuICAgIHRoaXMubG9nKFwic3RkZXJyXCIsIFN0cmluZyhjaHVuaykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBIYW5kbGVzIGVycm9yIG9iamVjdHMuXG4gICAqIEBzdW1tYXJ5IExvZ3MgdGhlIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGUgZ2l2ZW4gRXJyb3Igb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gZXJyIC0gVGhlIEVycm9yIG9iamVjdCB0byBiZSBsb2dnZWQuXG4gICAqL1xuICBlcnJvcnMoZXJyOiBFcnJvcikge1xuICAgIHRoaXMubG9nKFwic3RkZXJyXCIsIGBFcnJvciBleGVjdXRpbmcgY29tbWFuZCBleGl0ZWQgOiAke2Vycn1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyB0aGUgZXhpdCBvZiBhIGNvbW1hbmQuXG4gICAqIEBzdW1tYXJ5IExvZ3MgdGhlIGV4aXQgY29kZSBhbmQgcmVzb2x2ZXMgb3IgcmVqZWN0cyB0aGUgcHJvbWlzZSBiYXNlZCBvbiB0aGUgY29kZS5cbiAgICpcbiAgICogQHBhcmFtIGNvZGUgLSBUaGUgZXhpdCBjb2RlIG9mIHRoZSBjb21tYW5kLlxuICAgKiBAcGFyYW0gbG9ncyAtIEFycmF5IG9mIGxvZyBtZXNzYWdlcyB0byBiZSBwcm9jZXNzZWQgYmVmb3JlIGV4aXRpbmcuXG4gICAqL1xuICBleGl0KGNvZGU6IG51bWJlciB8IHN0cmluZywgbG9nczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmxvZyhcbiAgICAgIFwic3Rkb3V0XCIsXG4gICAgICBgY29tbWFuZCBleGl0ZWQgY29kZSA6ICR7Y29kZSA9PT0gMCA/IHN0eWxlKGNvZGUudG9TdHJpbmcoKSkuZ3JlZW4udGV4dCA6IHN0eWxlKGNvZGUgPT09IG51bGwgPyBcIm51bGxcIiA6IGNvZGUudG9TdHJpbmcoKSkucmVkLnRleHR9YFxuICAgICk7XG4gICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgIHRoaXMucmVzb2x2ZShsb2dzLm1hcCgobCkgPT4gbC50cmltKCkpLmpvaW4oXCJcXG5cIikgYXMgUik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVqZWN0KG5ldyBFcnJvcihsb2dzLmxlbmd0aCA/IGxvZ3Muam9pbihcIlxcblwiKSA6IGNvZGUudG9TdHJpbmcoKSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyc2VzIGEgY29tbWFuZCBzdHJpbmcgb3IgYXJyYXkgaW50byBjb21wb25lbnRzLlxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyB0aGUgY29tbWFuZCBpbnRvIGEgY29uc2lzdGVudCBmb3JtYXQgYW5kIHN0b3JlcyBpdCwgdGhlbiByZXR1cm5zIGl0IHNwbGl0IGludG8gY29tbWFuZCBhbmQgYXJndW1lbnRzLlxuICAgKlxuICAgKiBAcGFyYW0gY29tbWFuZCAtIFRoZSBjb21tYW5kIGFzIGEgc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuXG4gICAqIEByZXR1cm4gQSB0dXBsZSBjb250YWluaW5nIHRoZSBjb21tYW5kIGFuZCBpdHMgYXJndW1lbnRzIGFzIHNlcGFyYXRlIGVsZW1lbnRzLlxuICAgKi9cbiAgcGFyc2VDb21tYW5kKGNvbW1hbmQ6IHN0cmluZyB8IHN0cmluZ1tdKTogW3N0cmluZywgc3RyaW5nW11dIHtcbiAgICBjb21tYW5kID0gdHlwZW9mIGNvbW1hbmQgPT09IFwic3RyaW5nXCIgPyBjb21tYW5kLnNwbGl0KFwiIFwiKSA6IGNvbW1hbmQ7XG4gICAgdGhpcy5jbWQgPSBjb21tYW5kLmpvaW4oXCIgXCIpO1xuICAgIHJldHVybiBbY29tbWFuZFswXSwgY29tbWFuZC5zbGljZSgxKV07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc29sdmVzIHRoZSBwcm9taXNlIHdpdGggYSBzdWNjZXNzIG1lc3NhZ2UuXG4gICAqIEBzdW1tYXJ5IExvZ3MgYSBzdWNjZXNzIG1lc3NhZ2UgYW5kIHJlc29sdmVzIHRoZSBwcm9taXNlIHdpdGggdGhlIGdpdmVuIHJlYXNvbi5cbiAgICpcbiAgICogQHBhcmFtIHJlYXNvbiAtIFRoZSByZWFzb24gZm9yIHJlc29sdmluZyB0aGUgcHJvbWlzZS5cbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlKHJlYXNvbjogUikge1xuICAgIHRoaXMubG9nKFxuICAgICAgXCJzdGRvdXRcIixcbiAgICAgIGAke3RoaXMuY21kfSBleGVjdXRlZCBzdWNjZXNzZnVsbHk6ICR7c3R5bGUocmVhc29uID8gXCJyYW4gdG8gY29tcGxldGlvblwiIDogKHJlYXNvbiBhcyBzdHJpbmcpKS5ncmVlbn1gXG4gICAgKTtcbiAgICB0aGlzLmxvY2sucmVzb2x2ZShyZWFzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWplY3RzIHRoZSBwcm9taXNlIHdpdGggYW4gZXJyb3IgbWVzc2FnZS5cbiAgICogQHN1bW1hcnkgTG9ncyBhbiBlcnJvciBtZXNzYWdlIGFuZCByZWplY3RzIHRoZSBwcm9taXNlIHdpdGggdGhlIGdpdmVuIHJlYXNvbi5cbiAgICpcbiAgICogQHBhcmFtIHJlYXNvbiAtIFRoZSByZWFzb24gZm9yIHJlamVjdGluZyB0aGUgcHJvbWlzZSwgZWl0aGVyIGEgbnVtYmVyIChleGl0IGNvZGUpIG9yIGEgc3RyaW5nLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlamVjdChyZWFzb246IG51bWJlciB8IHN0cmluZyB8IEVycm9yKSB7XG4gICAgaWYgKCEocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICByZWFzb24gPSBuZXcgRXJyb3IoXG4gICAgICAgIHR5cGVvZiByZWFzb24gPT09IFwibnVtYmVyXCIgPyBgRXhpdCBjb2RlICR7cmVhc29ufWAgOiByZWFzb25cbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMubG9nKFxuICAgICAgXCJzdGRlcnJcIixcbiAgICAgIGAke3RoaXMuY21kfSBmYWlsZWQgdG8gZXhlY3V0ZTogJHtzdHlsZShyZWFzb24ubWVzc2FnZSkucmVkfWBcbiAgICApO1xuICAgIHRoaXMubG9jay5yZWplY3QocmVhc29uKTtcbiAgfVxufVxuIl19
|
|
164
|
+
//# sourceMappingURL=StandardOutputWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StandardOutputWriter.js","sourceRoot":"","sources":["../../../src/writers/StandardOutputWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gCAA2B;AAI9C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAU,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,OAAO,oBAAoB;IAG/B,YACY,GAAW,EACX,IAAwB;IAClC,6DAA6D;IAC7D,GAAG,IAAe;QAHR,QAAG,GAAH,GAAG,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAoB;QAIlC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACO,GAAG,CAAC,IAAgB,EAAE,IAAqB;QACnD,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAU;QACb,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAU;QACd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAU;QACf,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,oCAAoC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAqB,EAAE,IAAc;QACxC,IAAI,CAAC,GAAG,CACN,QAAQ,EACR,yBAAyB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CACrI,CAAC;QACF,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAM,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,OAA0B;QACrC,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACO,OAAO,CAAC,MAAS;QACzB,IAAI,CAAC,GAAG,CACN,QAAQ,EACR,GAAG,IAAI,CAAC,GAAG,2BAA2B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAE,MAAiB,CAAC,CAAC,KAAK,EAAE,CACvG,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACO,MAAM,CAAC,MAA+B;QAC9C,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,IAAI,KAAK,CAChB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CACN,QAAQ,EACR,GAAG,IAAI,CAAC,GAAG,uBAAuB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAC9D,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
package/lib/esm/writers/index.js
CHANGED
|
@@ -2,4 +2,4 @@ export * from "./OutputWriter.js";
|
|
|
2
2
|
export * from "./RegexpOutputWriter.js";
|
|
3
3
|
export * from "./StandardOutputWriter.js";
|
|
4
4
|
export * from "./types.js";
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/writers/index.ts"],"names":[],"mappings":"AAAA,kCAA+B;AAC/B,wCAAqC;AACrC,0CAAuC;AACvC,2BAAwB"}
|
package/lib/esm/writers/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/writers/types.ts"],"names":[],"mappings":""}
|
package/lib/index.cjs
CHANGED
|
@@ -43,7 +43,7 @@ __exportStar(require("./writers/index.cjs"), exports);
|
|
|
43
43
|
* @const VERSION
|
|
44
44
|
* @memberOf module:utils
|
|
45
45
|
*/
|
|
46
|
-
exports.VERSION = "0.4.
|
|
46
|
+
exports.VERSION = "0.4.4";
|
|
47
47
|
/**
|
|
48
48
|
* @description Represents the current version of the module.
|
|
49
49
|
* @summary Stores the version for the @decaf-ts/utils package. The build replaces
|
|
@@ -52,4 +52,4 @@ exports.VERSION = "0.4.2";
|
|
|
52
52
|
* @memberOf module:utils
|
|
53
53
|
*/
|
|
54
54
|
exports.PACKAGE_NAME = "@decaf-ts/utils";
|
|
55
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export * from "./writers";
|
|
|
26
26
|
* @const VERSION
|
|
27
27
|
* @memberOf module:utils
|
|
28
28
|
*/
|
|
29
|
-
export declare const VERSION = "0.4.
|
|
29
|
+
export declare const VERSION = "0.4.4";
|
|
30
30
|
/**
|
|
31
31
|
* @description Represents the current version of the module.
|
|
32
32
|
* @summary Stores the version for the @decaf-ts/utils package. The build replaces
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAsB;AACtB,oDAAwB;AACxB,qDAAyB;AACzB,oDAAwB;AACxB,sDAA0B;AAE1B;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;GAMG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;;GAMG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC"}
|
package/lib/input/index.cjs
CHANGED
|
@@ -16,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./input.cjs"), exports);
|
|
18
18
|
__exportStar(require("./types.cjs"), exports);
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/input/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,8CAAwB"}
|
package/lib/input/input.cjs
CHANGED
|
@@ -612,4 +612,4 @@ class UserInput {
|
|
|
612
612
|
}
|
|
613
613
|
}
|
|
614
614
|
exports.UserInput = UserInput;
|
|
615
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXQvaW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBVUEsc0RBQThCO0FBQzlCLCtCQUFrRDtBQUdsRCwrQ0FBNEM7QUFFNUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1REc7QUFDSCxNQUFhLFNBQVM7YUFDSSxXQUFNLEdBQUcsaUJBQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEFBQXpCLENBQTBCO0lBd0p4RCxZQUFZLElBQW9CO1FBdkpoQzs7O1dBR0c7UUFDSCxTQUFJLEdBQTJELE1BQU0sQ0FBQztRQW9KcEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxJQUE0RDtRQUNsRSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxVQUFVLENBQUMsS0FBc0M7UUFDL0MsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsVUFBVSxDQUNSLEtBR2E7UUFFYixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7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QUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQ2pJLENBQUM7WUFDRixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDOztBQXB5QkgsOEJBcXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuc3dlcnMsXG4gIENob2ljZSxcbiAgRmFsc3ksXG4gIEluaXRpYWxSZXR1cm5WYWx1ZSxcbiAgUHJldkNhbGxlcixcbiAgUHJvbXB0T2JqZWN0LFxuICBQcm9tcHRUeXBlLFxuICBWYWx1ZU9yRnVuYyxcbn0gZnJvbSBcInByb21wdHNcIjtcbmltcG9ydCBwcm9tcHRzIGZyb20gXCJwcm9tcHRzXCI7XG5pbXBvcnQgeyBwYXJzZUFyZ3MsIFBhcnNlQXJnc0NvbmZpZyB9IGZyb20gXCJ1dGlsXCI7XG5pbXBvcnQgeyBXcml0YWJsZSwgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5pbXBvcnQgeyBQYXJzZUFyZ3NPcHRpb25zQ29uZmlnLCBQYXJzZUFyZ3NSZXN1bHQgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgdXNlciBpbnB1dCBwcm9tcHQgd2l0aCB2YXJpb3VzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqIEBzdW1tYXJ5IFRoaXMgY2xhc3MgcHJvdmlkZXMgYSBmbGV4aWJsZSBpbnRlcmZhY2UgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyB1c2VyIGlucHV0IHByb21wdHMuXG4gKiBJdCBpbXBsZW1lbnRzIHRoZSBQcm9tcHRPYmplY3QgaW50ZXJmYWNlIGZyb20gdGhlICdwcm9tcHRzJyBsaWJyYXJ5IGFuZCBvZmZlcnMgbWV0aG9kcyB0byBzZXRcbiAqIHZhcmlvdXMgcHJvcGVydGllcyBvZiB0aGUgcHJvbXB0LiBUaGUgY2xhc3MgYWxzbyBpbmNsdWRlcyBzdGF0aWMgbWV0aG9kcyBmb3IgY29tbW9uIGlucHV0IHNjZW5hcmlvc1xuICogYW5kIGFyZ3VtZW50IHBhcnNpbmcuXG4gKlxuICogQHRlbXBsYXRlIFIgLSBUaGUgdHlwZSBvZiB0aGUgcHJvbXB0IG5hbWUsIGV4dGVuZGluZyBzdHJpbmcuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvbXB0LCB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIHJldHVybmVkIGFuc3dlcnMgb2JqZWN0LlxuICpcbiAqIEBjbGFzc1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFVzZXJJbnB1dCB9IGZyb20gJ0BkZWNhZi10cy91dGlscyc7XG4gKlxuICogLy8gQ3JlYXRlIGEgc2ltcGxlIHRleHQgaW5wdXRcbiAqIGNvbnN0IG5hbWVJbnB1dCA9IG5ldyBVc2VySW5wdXQoJ25hbWUnKVxuICogICAuc2V0TWVzc2FnZSgnV2hhdCBpcyB5b3VyIG5hbWU/JylcbiAqICAgLnNldEluaXRpYWwoJ1VzZXInKTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBudW1iZXIgaW5wdXQgd2l0aCB2YWxpZGF0aW9uXG4gKiBjb25zdCBhZ2VJbnB1dCA9IG5ldyBVc2VySW5wdXQoJ2FnZScpXG4gKiAgIC5zZXRUeXBlKCdudW1iZXInKVxuICogICAuc2V0TWVzc2FnZSgnSG93IG9sZCBhcmUgeW91PycpXG4gKiAgIC5zZXRNaW4oMClcbiAqICAgLnNldE1heCgxMjApO1xuICpcbiAqIC8vIEFzayBmb3IgaW5wdXQgYW5kIHByb2Nlc3MgdGhlIHJlc3VsdHNcbiAqIGFzeW5jIGZ1bmN0aW9uIGdldFVzZXJJbmZvKCkge1xuICogICBjb25zdCBhbnN3ZXJzID0gYXdhaXQgVXNlcklucHV0LmFzayhbbmFtZUlucHV0LCBhZ2VJbnB1dF0pO1xuICogICBjb25zb2xlLmxvZyhgSGVsbG8gJHthbnN3ZXJzLm5hbWV9LCB5b3UgYXJlICR7YW5zd2Vycy5hZ2V9IHllYXJzIG9sZC5gKTtcbiAqIH1cbiAqXG4gKiBnZXRVc2VySW5mbygpO1xuICogYGBgXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDbGllbnRcbiAqICAgcGFydGljaXBhbnQgVXNlcklucHV0XG4gKiAgIHBhcnRpY2lwYW50IFByb21wdExpYnJhcnlcbiAqXG4gKiAgIENsaWVudC0+PlVzZXJJbnB1dDogbmV3IFVzZXJJbnB1dChuYW1lKVxuICogICBDbGllbnQtPj5Vc2VySW5wdXQ6IHNldE1lc3NhZ2UobWVzc2FnZSlcbiAqICAgQ2xpZW50LT4+VXNlcklucHV0OiBzZXRUeXBlKHR5cGUpXG4gKiAgIENsaWVudC0+PlVzZXJJbnB1dDogc2V0SW5pdGlhbChpbml0aWFsKVxuICogICBDbGllbnQtPj5Vc2VySW5wdXQ6IE90aGVyIGNvbmZpZ3VyYXRpb24gbWV0aG9kc1xuICpcbiAqICAgQ2xpZW50LT4+VXNlcklucHV0OiBhc2soKVxuICogICBVc2VySW5wdXQtPj5Qcm9tcHRMaWJyYXJ5OiBwcm9tcHRzKHF1ZXN0aW9uKVxuICogICBQcm9tcHRMaWJyYXJ5LT4+Q2xpZW50OiBEaXNwbGF5IHByb21wdFxuICogICBDbGllbnQtPj5Qcm9tcHRMaWJyYXJ5OiBVc2VyIHByb3ZpZGVzIGlucHV0XG4gKiAgIFByb21wdExpYnJhcnktPj5Vc2VySW5wdXQ6IFJldHVybiBhbnN3ZXJzXG4gKiAgIFVzZXJJbnB1dC0+PkNsaWVudDogUmV0dXJuIHByb2Nlc3NlZCBhbnN3ZXJzXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VySW5wdXQ8UiBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gaW1wbGVtZW50cyBQcm9tcHRPYmplY3Q8Uj4ge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBsb2dnZXIgPSBMb2dnaW5nLmZvcihVc2VySW5wdXQpO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0eXBlIG9mIHRoZSBwcm9tcHQuXG4gICAqIEBzdW1tYXJ5IERldGVybWluZXMgdGhlIGlucHV0IG1ldGhvZCAoZS5nLiwgdGV4dCwgbnVtYmVyLCBjb25maXJtKS5cbiAgICovXG4gIHR5cGU6IFByb21wdFR5cGUgfCBGYWxzeSB8IFByZXZDYWxsZXI8UiwgUHJvbXB0VHlwZSB8IEZhbHN5PiA9IFwidGV4dFwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIG5hbWUgb2YgdGhlIHByb21wdC5cbiAgICogQHN1bW1hcnkgVXNlZCBhcyB0aGUga2V5IGluIHRoZSByZXR1cm5lZCBhbnN3ZXJzIG9iamVjdC5cbiAgICovXG4gIG5hbWU6IFZhbHVlT3JGdW5jPFI+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIG1lc3NhZ2UgZGlzcGxheWVkIHRvIHRoZSB1c2VyLlxuICAgKiBAc3VtbWFyeSBUaGUgcXVlc3Rpb24gb3IgaW5zdHJ1Y3Rpb24gcHJlc2VudGVkIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgbWVzc2FnZT86IFZhbHVlT3JGdW5jPHN0cmluZz4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBUaGUgZGVmYXVsdCB2YWx1ZSBwcmVzZW50ZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBpbml0aWFsPzpcbiAgICB8IEluaXRpYWxSZXR1cm5WYWx1ZVxuICAgIHwgUHJldkNhbGxlcjxSLCBJbml0aWFsUmV0dXJuVmFsdWUgfCBQcm9taXNlPEluaXRpYWxSZXR1cm5WYWx1ZT4+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgc3R5bGUgb2YgdGhlIHByb21wdC5cbiAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB0aGUgdmlzdWFsIHN0eWxlIG9mIHRoZSBwcm9tcHQuXG4gICAqL1xuICBzdHlsZT86IHN0cmluZyB8IFByZXZDYWxsZXI8Uiwgc3RyaW5nIHwgRmFsc3k+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGZvcm1hdCBmdW5jdGlvbiBmb3IgdGhlIGlucHV0LlxuICAgKiBAc3VtbWFyeSBBIGZ1bmN0aW9uIHRvIGZvcm1hdCB0aGUgdXNlcidzIGlucHV0IGJlZm9yZSBpdCdzIHJldHVybmVkLlxuICAgKi9cbiAgZm9ybWF0PzogUHJldkNhbGxlcjxSLCB2b2lkPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgaW5wdXQuXG4gICAqIEBzdW1tYXJ5IEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIHVzZXIncyBpbnB1dC5cbiAgICovXG4gIHZhbGlkYXRlPzpcbiAgICB8IFByZXZDYWxsZXI8UiwgYm9vbGVhbiB8IHN0cmluZyB8IFByb21pc2U8Ym9vbGVhbiB8IHN0cmluZz4+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgb25TdGF0ZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHN1bW1hcnkgQSBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIHByb21wdCBjaGFuZ2VzLlxuICAgKi9cbiAgb25TdGF0ZT86IFByZXZDYWxsZXI8Uiwgdm9pZD4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgbWluaW11bSB2YWx1ZSBmb3IgbnVtYmVyIGlucHV0cy5cbiAgICogQHN1bW1hcnkgVGhlIGxvd2VzdCBudW1iZXIgdGhlIHVzZXIgY2FuIGlucHV0LlxuICAgKi9cbiAgbWluPzogbnVtYmVyIHwgUHJldkNhbGxlcjxSLCBudW1iZXIgfCBGYWxzeT4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgbWF4aW11bSB2YWx1ZSBmb3IgbnVtYmVyIGlucHV0cy5cbiAgICogQHN1bW1hcnkgVGhlIGhpZ2hlc3QgbnVtYmVyIHRoZSB1c2VyIGNhbiBpbnB1dC5cbiAgICovXG4gIG1heD86IG51bWJlciB8IFByZXZDYWxsZXI8UiwgbnVtYmVyIHwgRmFsc3k+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBhbGxvdyBmbG9hdCB2YWx1ZXMgZm9yIG51bWJlciBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IElmIHRydWUsIGFsbG93cyBkZWNpbWFsIG51bWJlcnMuXG4gICAqL1xuICBmbG9hdD86IGJvb2xlYW4gfCBQcmV2Q2FsbGVyPFIsIGJvb2xlYW4gfCBGYWxzeT4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIHRvIHJvdW5kIHRvIGZvciBmbG9hdCBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IERldGVybWluZXMgdGhlIHByZWNpc2lvbiBvZiBmbG9hdCBpbnB1dHMuXG4gICAqL1xuICByb3VuZD86IG51bWJlciB8IFByZXZDYWxsZXI8UiwgbnVtYmVyIHwgRmFsc3k+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5zdHJ1Y3Rpb25zIGZvciB0aGUgdXNlci5cbiAgICogQHN1bW1hcnkgQWRkaXRpb25hbCBndWlkYW5jZSBwcm92aWRlZCB0byB0aGUgdXNlci5cbiAgICovXG4gIGluc3RydWN0aW9ucz86IHN0cmluZyB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaW5jcmVtZW50IHZhbHVlIGZvciBudW1iZXIgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBUaGUgc3RlcCBzaXplIHdoZW4gaW5jcmVhc2luZyBvciBkZWNyZWFzaW5nIHRoZSBudW1iZXIuXG4gICAqL1xuICBpbmNyZW1lbnQ/OiBudW1iZXIgfCBQcmV2Q2FsbGVyPFIsIG51bWJlciB8IEZhbHN5PiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBzZXBhcmF0b3IgZm9yIGxpc3QgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBUaGUgY2hhcmFjdGVyIHVzZWQgdG8gc2VwYXJhdGUgbGlzdCBpdGVtcy5cbiAgICovXG4gIHNlcGFyYXRvcj86IHN0cmluZyB8IFByZXZDYWxsZXI8Uiwgc3RyaW5nIHwgRmFsc3k+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGFjdGl2ZSBvcHRpb24gc3R5bGUgZm9yIHNlbGVjdCBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IFRoZSBzdHlsZSBhcHBsaWVkIHRvIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgb3B0aW9uLlxuICAgKi9cbiAgYWN0aXZlPzogc3RyaW5nIHwgUHJldkNhbGxlcjxSLCBzdHJpbmcgfCBGYWxzeT4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaW5hY3RpdmUgb3B0aW9uIHN0eWxlIGZvciBzZWxlY3QgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBUaGUgc3R5bGUgYXBwbGllZCB0byBub24tc2VsZWN0ZWQgb3B0aW9ucy5cbiAgICovXG4gIGluYWN0aXZlPzogc3RyaW5nIHwgUHJldkNhbGxlcjxSLCBzdHJpbmcgfCBGYWxzeT4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgYXZhaWxhYmxlIGNob2ljZXMgZm9yIHNlbGVjdCwgbXVsdGlzZWxlY3QsIG9yIGF1dG9jb21wbGV0ZSBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IEFuIGFycmF5IG9mIG9wdGlvbnMgdGhhdCB0aGUgdXNlciBjYW4gc2VsZWN0IGZyb20gaW4gY2hvaWNlLWJhc2VkIHByb21wdHMuXG4gICAqL1xuICBjaG9pY2VzPzogQ2hvaWNlW10gfCBQcmV2Q2FsbGVyPFIsIENob2ljZVtdIHwgRmFsc3k+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGhpbnQgdGV4dCBmb3IgdGhlIHByb21wdC5cbiAgICogQHN1bW1hcnkgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBoaW50Pzogc3RyaW5nIHwgUHJldkNhbGxlcjxSLCBzdHJpbmcgfCBGYWxzeT4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgd2FybmluZyB0ZXh0IGZvciB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBBIHdhcm5pbmcgbWVzc2FnZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICB3YXJuPzogc3RyaW5nIHwgUHJldkNhbGxlcjxSLCBzdHJpbmcgfCBGYWxzeT4gfCB1bmRlZmluZWQ7XG5cbiAgc3VnZ2VzdD86ICgoaW5wdXQ6IGFueSwgY2hvaWNlczogQ2hvaWNlW10pID0+IFByb21pc2U8YW55PikgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgbGltaXQgZm9yIGxpc3QgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuXG4gICAqL1xuICBsaW1pdD86IG51bWJlciB8IFByZXZDYWxsZXI8UiwgbnVtYmVyIHwgRmFsc3k+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIG1hc2sgZm9yIHBhc3N3b3JkIGlucHV0cy5cbiAgICogQHN1bW1hcnkgVGhlIGNoYXJhY3RlciB1c2VkIHRvIGhpZGUgdGhlIHVzZXIncyBpbnB1dC5cbiAgICovXG4gIG1hc2s/OiBzdHJpbmcgfCBQcmV2Q2FsbGVyPFIsIHN0cmluZyB8IEZhbHN5PiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBzdGRvdXQgc3RyZWFtIGZvciB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBUaGUgb3V0cHV0IHN0cmVhbSB1c2VkIGJ5IHRoZSBwcm9tcHQuXG4gICAqL1xuICBzdGRvdXQ/OiBXcml0YWJsZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBzdGRpbiBzdHJlYW0gZm9yIHRoZSBwcm9tcHQuXG4gICAqIEBzdW1tYXJ5IFRoZSBpbnB1dCBzdHJlYW0gdXNlZCBieSB0aGUgcHJvbXB0LlxuICAgKi9cbiAgc3RkaW4/OiBSZWFkYWJsZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihuYW1lOiBWYWx1ZU9yRnVuYzxSPikge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIHR5cGUgb2YgdGhlIHByb21wdC5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB0aGUgaW5wdXQgbWV0aG9kIGZvciB0aGUgcHJvbXB0LlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBwcm9tcHQuXG4gICAqIEByZXR1cm5zIFRoaXMgVXNlcklucHV0IGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gICAqL1xuICBzZXRUeXBlKHR5cGU6IFByb21wdFR5cGUgfCBGYWxzeSB8IFByZXZDYWxsZXI8UiwgUHJvbXB0VHlwZSB8IEZhbHN5Pik6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyB0eXBlIHRvOiAke3R5cGV9YCk7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgbWVzc2FnZSBvZiB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBxdWVzdGlvbiBvciBpbnN0cnVjdGlvbiBwcmVzZW50ZWQgdG8gdGhlIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZC5cbiAgICogQHJldHVybnMgVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldE1lc3NhZ2UodmFsdWU6IFZhbHVlT3JGdW5jPHN0cmluZz4gfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgbWVzc2FnZSB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLm1lc3NhZ2UgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBkZWZhdWx0IHZhbHVlIHByZXNlbnRlZCB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoaXMgVXNlcklucHV0IGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gICAqL1xuICBzZXRJbml0aWFsKFxuICAgIHZhbHVlOlxuICAgICAgfCBJbml0aWFsUmV0dXJuVmFsdWVcbiAgICAgIHwgUHJldkNhbGxlcjxSLCBJbml0aWFsUmV0dXJuVmFsdWUgfCBQcm9taXNlPEluaXRpYWxSZXR1cm5WYWx1ZT4+XG4gICAgICB8IHVuZGVmaW5lZFxuICApOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgaW5pdGlhbCB2YWx1ZSB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLmluaXRpYWwgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgc3R5bGUgb2YgdGhlIHByb21wdC5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB0aGUgdmlzdWFsIHN0eWxlIG9mIHRoZSBwcm9tcHQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzdHlsZSB0byBiZSBhcHBsaWVkLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0U3R5bGUodmFsdWU6IHN0cmluZyB8IFByZXZDYWxsZXI8Uiwgc3RyaW5nIHwgRmFsc3k+IHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIHN0eWxlIHRvOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuc3R5bGUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgZm9ybWF0IGZ1bmN0aW9uIG9mIHRoZSBwcm9tcHQuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgYSBmdW5jdGlvbiB0byBmb3JtYXQgdGhlIHVzZXIncyBpbnB1dCBiZWZvcmUgaXQncyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGZvcm1hdCBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldEZvcm1hdCh2YWx1ZTogUHJldkNhbGxlcjxSLCB2b2lkPiB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBmb3JtYXQgZnVuY3Rpb25gKTtcbiAgICB0aGlzLmZvcm1hdCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIG9mIHRoZSBwcm9tcHQuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgYSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgdXNlcidzIGlucHV0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsaWRhdGlvbiBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldFZhbGlkYXRlKFxuICAgIHZhbHVlOlxuICAgICAgfCBQcmV2Q2FsbGVyPFIsIGJvb2xlYW4gfCBzdHJpbmcgfCBQcm9taXNlPGJvb2xlYW4gfCBzdHJpbmc+PlxuICAgICAgfCB1bmRlZmluZWRcbiAgKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIHZhbGlkYXRlIGZ1bmN0aW9uYCk7XG4gICAgdGhpcy52YWxpZGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBvblN0YXRlIGNhbGxiYWNrIG9mIHRoZSBwcm9tcHQuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgYSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIHByb21wdCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgb25TdGF0ZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldE9uU3RhdGUodmFsdWU6IFByZXZDYWxsZXI8Uiwgdm9pZD4gfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgb25TdGF0ZSBjYWxsYmFja2ApO1xuICAgIHRoaXMub25TdGF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBtaW5pbXVtIHZhbHVlIGZvciBudW1iZXIgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBsb3dlc3QgbnVtYmVyIHRoZSB1c2VyIGNhbiBpbnB1dC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIG1pbmltdW0gdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoaXMgVXNlcklucHV0IGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gICAqL1xuICBzZXRNaW4odmFsdWU6IG51bWJlciB8IFByZXZDYWxsZXI8UiwgbnVtYmVyIHwgRmFsc3k+IHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIG1pbiB2YWx1ZSB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLm1pbiA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBtYXhpbXVtIHZhbHVlIGZvciBudW1iZXIgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBoaWdoZXN0IG51bWJlciB0aGUgdXNlciBjYW4gaW5wdXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBtYXhpbXVtIHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0TWF4KHZhbHVlOiBudW1iZXIgfCBQcmV2Q2FsbGVyPFIsIG51bWJlciB8IEZhbHN5PiB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBtYXggdmFsdWUgdG86ICR7dmFsdWV9YCk7XG4gICAgdGhpcy5tYXggPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB3aGV0aGVyIHRvIGFsbG93IGZsb2F0IHZhbHVlcyBmb3IgbnVtYmVyIGlucHV0cy5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB3aGV0aGVyIGRlY2ltYWwgbnVtYmVycyBhcmUgYWxsb3dlZC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gV2hldGhlciB0byBhbGxvdyBmbG9hdCB2YWx1ZXMuXG4gICAqIEByZXR1cm5zIFRoaXMgVXNlcklucHV0IGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gICAqL1xuICBzZXRGbG9hdCh2YWx1ZTogYm9vbGVhbiB8IFByZXZDYWxsZXI8UiwgYm9vbGVhbiB8IEZhbHN5PiB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBmbG9hdCB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLmZsb2F0ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0byByb3VuZCB0byBmb3IgZmxvYXQgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBwcmVjaXNpb24gb2YgZmxvYXQgaW5wdXRzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0Um91bmQodmFsdWU6IG51bWJlciB8IFByZXZDYWxsZXI8UiwgbnVtYmVyIHwgRmFsc3k+IHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIHJvdW5kIHRvOiAke3ZhbHVlfWApO1xuICAgIHRoaXMucm91bmQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgaW5zdHJ1Y3Rpb25zIGZvciB0aGUgdXNlci5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyBhZGRpdGlvbmFsIGd1aWRhbmNlIHByb3ZpZGVkIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5zdHJ1Y3Rpb25zLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0SW5zdHJ1Y3Rpb25zKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIGluc3RydWN0aW9ucyB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLmluc3RydWN0aW9ucyA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBpbmNyZW1lbnQgdmFsdWUgZm9yIG51bWJlciBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgdGhlIHN0ZXAgc2l6ZSB3aGVuIGluY3JlYXNpbmcgb3IgZGVjcmVhc2luZyB0aGUgbnVtYmVyLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5jcmVtZW50IHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0SW5jcmVtZW50KFxuICAgIHZhbHVlOiBudW1iZXIgfCBQcmV2Q2FsbGVyPFIsIG51bWJlciB8IEZhbHN5PiB8IHVuZGVmaW5lZFxuICApOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgaW5jcmVtZW50IHRvOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuaW5jcmVtZW50ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIHNlcGFyYXRvciBmb3IgbGlzdCBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgdGhlIGNoYXJhY3RlciB1c2VkIHRvIHNlcGFyYXRlIGxpc3QgaXRlbXMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0U2VwYXJhdG9yKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBQcmV2Q2FsbGVyPFIsIHN0cmluZyB8IEZhbHN5PiB8IHVuZGVmaW5lZFxuICApOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgc2VwYXJhdG9yIHRvOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuc2VwYXJhdG9yID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIGFjdGl2ZSBvcHRpb24gc3R5bGUgZm9yIHNlbGVjdCBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgdGhlIHN0eWxlIGFwcGxpZWQgdG8gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBhY3RpdmUgb3B0aW9uIHN0eWxlLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0QWN0aXZlKHZhbHVlOiBzdHJpbmcgfCBQcmV2Q2FsbGVyPFIsIHN0cmluZyB8IEZhbHN5PiB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBhY3RpdmUgc3R5bGUgdG86ICR7dmFsdWV9YCk7XG4gICAgdGhpcy5hY3RpdmUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgaW5hY3RpdmUgb3B0aW9uIHN0eWxlIGZvciBzZWxlY3QgaW5wdXRzLlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIHRoZSBzdHlsZSBhcHBsaWVkIHRvIG5vbi1zZWxlY3RlZCBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5hY3RpdmUgb3B0aW9uIHN0eWxlLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0SW5hY3RpdmUodmFsdWU6IHN0cmluZyB8IFByZXZDYWxsZXI8Uiwgc3RyaW5nIHwgRmFsc3k+IHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIGluYWN0aXZlIHN0eWxlIHRvOiAke3ZhbHVlfWApO1xuICAgIHRoaXMuaW5hY3RpdmUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgY2hvaWNlcyBmb3Igc2VsZWN0LCBtdWx0aXNlbGVjdCwgb3IgYXV0b2NvbXBsZXRlIGlucHV0cy5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB0aGUgYXZhaWxhYmxlIG9wdGlvbnMgdGhhdCB0aGUgdXNlciBjYW4gc2VsZWN0IGZyb20gaW4gY2hvaWNlLWJhc2VkIHByb21wdHMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBhcnJheSBvZiBjaG9pY2VzIG9yIGEgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBjaG9pY2VzLlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0Q2hvaWNlcyhcbiAgICB2YWx1ZTogQ2hvaWNlW10gfCBQcmV2Q2FsbGVyPFIsIENob2ljZVtdIHwgRmFsc3k+IHwgdW5kZWZpbmVkXG4gICk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBjaG9pY2VzOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKTtcbiAgICB0aGlzLmNob2ljZXMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgaGludCB0ZXh0IGZvciB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZGlzcGxheWVkIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaGludCB0ZXh0LlxuICAgKiBAcmV0dXJucyBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0SGludCh2YWx1ZTogc3RyaW5nIHwgUHJldkNhbGxlcjxSLCBzdHJpbmcgfCBGYWxzeT4gfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgaGludCB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLmhpbnQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgd2FybmluZyB0ZXh0IGZvciB0aGUgcHJvbXB0LlxuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIGEgd2FybmluZyBtZXNzYWdlIGRpc3BsYXllZCB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHdhcm5pbmcgdGV4dC5cbiAgICogQHJldHVybnMgVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldFdhcm4odmFsdWU6IHN0cmluZyB8IFByZXZDYWxsZXI8Uiwgc3RyaW5nIHwgRmFsc3k+IHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgVXNlcklucHV0LmxvZ2dlci52ZXJib3NlKGBTZXR0aW5nIHdhcm4gdG86ICR7dmFsdWV9YCk7XG4gICAgdGhpcy53YXJuID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIHN1Z2dlc3Rpb24gZnVuY3Rpb24gZm9yIGF1dG9jb21wbGV0ZSBpbnB1dHMuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgYSBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHN1Z2dlc3Rpb25zIGJhc2VkIG9uIHRoZSB1c2VyJ3MgaW5wdXQgYW5kIGF2YWlsYWJsZSBjaG9pY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgdGhlIGN1cnJlbnQgaW5wdXQgYW5kIGF2YWlsYWJsZSBjaG9pY2VzIGFuZCByZXR1cm5zIGEgUHJvbWlzZSByZXNvbHZpbmcgdG8gc3VnZ2VzdGlvbnMuXG4gICAqIEByZXR1cm5zIFRoaXMgVXNlcklucHV0IGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmcuXG4gICAqL1xuICBzZXRTdWdnZXN0KFxuICAgIHZhbHVlOiAoKGlucHV0OiBhbnksIGNob2ljZXM6IENob2ljZVtdKSA9PiBQcm9taXNlPGFueT4pIHwgdW5kZWZpbmVkXG4gICk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBzdWdnZXN0IGZ1bmN0aW9uYCk7XG4gICAgdGhpcy5zdWdnZXN0ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIGxpbWl0IGZvciBsaXN0IGlucHV0cy5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQgaW4gbGlzdC10eXBlIHByb21wdHMuXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHR5cGUgb2YgdGhlIHByb21wdCBuYW1lLCBleHRlbmRpbmcgc3RyaW5nLlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQsIG9yIGEgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoaXMgdmFsdWUuXG4gICAqIEByZXR1cm4gVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldExpbWl0KHZhbHVlOiBudW1iZXIgfCBQcmV2Q2FsbGVyPFIsIG51bWJlciB8IEZhbHN5PiB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIFVzZXJJbnB1dC5sb2dnZXIudmVyYm9zZShgU2V0dGluZyBsaW1pdCB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLmxpbWl0ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIG1hc2sgZm9yIHBhc3N3b3JkIGlucHV0cy5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB0aGUgY2hhcmFjdGVyIHVzZWQgdG8gaGlkZSB0aGUgdXNlcidzIGlucHV0IGluIHBhc3N3b3JkLXR5cGUgcHJvbXB0cy5cbiAgICogQHRlbXBsYXRlIFIgLSBUaGUgdHlwZSBvZiB0aGUgcHJvbXB0IG5hbWUsIGV4dGVuZGluZyBzdHJpbmcuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjaGFyYWN0ZXIgdXNlZCB0byBtYXNrIHRoZSBpbnB1dCwgb3IgYSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgdGhpcyB2YWx1ZS5cbiAgICogQHJldHVybiBUaGlzIFVzZXJJbnB1dCBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nLlxuICAgKi9cbiAgc2V0TWFzayh2YWx1ZTogc3RyaW5nIHwgUHJldkNhbGxlcjxSLCBzdHJpbmcgfCBGYWxzeT4gfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgbWFzayB0bzogJHt2YWx1ZX1gKTtcbiAgICB0aGlzLm1hc2sgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgc3Rkb3V0IHN0cmVhbSBmb3IgdGhlIHByb21wdC5cbiAgICogQHN1bW1hcnkgQ29uZmlndXJlcyB0aGUgb3V0cHV0IHN0cmVhbSB1c2VkIGJ5IHRoZSBwcm9tcHQgZm9yIGRpc3BsYXlpbmcgbWVzc2FnZXMgYW5kIHJlc3VsdHMuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBXcml0YWJsZSBzdHJlYW0gdG8gYmUgdXNlZCBhcyBzdGRvdXQuXG4gICAqIEByZXR1cm4gVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldFN0ZG91dCh2YWx1ZTogV3JpdGFibGUgfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICBVc2VySW5wdXQubG9nZ2VyLnZlcmJvc2UoYFNldHRpbmcgc3Rkb3V0IHN0cmVhbWApO1xuICAgIHRoaXMuc3Rkb3V0ID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBzdGRpbiBzdHJlYW0gZm9yIHRoZSBwcm9tcHQuXG4gICAqIEBzdW1tYXJ5IENvbmZpZ3VyZXMgdGhlIGlucHV0IHN0cmVhbSB1c2VkIGJ5IHRoZSBwcm9tcHQgZm9yIHJlY2VpdmluZyB1c2VyIGlucHV0LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgUmVhZGFibGUgc3RyZWFtIHRvIGJlIHVzZWQgYXMgc3RkaW4uXG4gICAqIEByZXR1cm4gVGhpcyBVc2VySW5wdXQgaW5zdGFuY2UgZm9yIG1ldGhvZCBjaGFpbmluZy5cbiAgICovXG4gIHNldFN0ZGluKHZhbHVlOiBSZWFkYWJsZSB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIHRoaXMuc3RkaW4gPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQXNrcyB0aGUgdXNlciBmb3IgaW5wdXQgYmFzZWQgb24gdGhlIGN1cnJlbnQgVXNlcklucHV0IGNvbmZpZ3VyYXRpb24uXG4gICAqIEBzdW1tYXJ5IFByb21wdHMgdGhlIHVzZXIgYW5kIHJldHVybnMgdGhlaXIgcmVzcG9uc2UgYXMgYSBzaW5nbGUgdmFsdWUuXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHR5cGUgb2YgdGhlIHByb21wdCBuYW1lLCBleHRlbmRpbmcgc3RyaW5nLlxuICAgKiBAcmV0dXJuIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSB1c2VyJ3MgYW5zd2VyLlxuICAgKi9cbiAgYXN5bmMgYXNrKCkge1xuICAgIHJldHVybiAoYXdhaXQgVXNlcklucHV0LmFzayh0aGlzKSlbdGhpcy5uYW1lIGFzIGtleW9mIEFuc3dlcnM8Uj5dO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBc2tzIHRoZSB1c2VyIG9uZSBvciBtb3JlIHF1ZXN0aW9ucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgVXNlcklucHV0IGNvbmZpZ3VyYXRpb25zLlxuICAgKiBAc3VtbWFyeSBQcm9tcHRzIHRoZSB1c2VyIHdpdGggb25lIG9yIG1vcmUgcXVlc3Rpb25zIGFuZCByZXR1cm5zIHRoZWlyIGFuc3dlcnMgYXMgYW4gb2JqZWN0LlxuICAgKiBAdGVtcGxhdGUgUiAtIFRoZSB0eXBlIG9mIHRoZSBwcm9tcHQgbmFtZSwgZXh0ZW5kaW5nIHN0cmluZy5cbiAgICogQHBhcmFtIHF1ZXN0aW9uIC0gQSBzaW5nbGUgVXNlcklucHV0IGluc3RhbmNlIG9yIGFuIGFycmF5IG9mIFVzZXJJbnB1dCBpbnN0YW5jZXMuXG4gICAqIEByZXR1cm4gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHVzZXIncyBhbnN3ZXJzLlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBVIGFzIFVzZXJcbiAgICogICBwYXJ0aWNpcGFudCBBIGFzIGFzayBtZXRob2RcbiAgICogICBwYXJ0aWNpcGFudCBQIGFzIHByb21wdHMgbGlicmFyeVxuICAgKiAgIEEtPj5QOiBDYWxsIHByb21wdHMgd2l0aCBxdWVzdGlvbihzKVxuICAgKiAgIFAtPj5VOiBEaXNwbGF5IHByb21wdChzKVxuICAgKiAgIFUtPj5QOiBQcm92aWRlIGlucHV0XG4gICAqICAgUC0+PkE6IFJldHVybiBhbnN3ZXJzXG4gICAqICAgQS0+PkE6IFByb2Nlc3MgYW5zd2Vyc1xuICAgKiAgIEEtLT4+Q2FsbGVyOiBSZXR1cm4gcHJvY2Vzc2VkIGFuc3dlcnNcbiAgICovXG4gIHN0YXRpYyBhc3luYyBhc2s8UiBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oXG4gICAgcXVlc3Rpb246IFVzZXJJbnB1dDxSPiB8IFVzZXJJbnB1dDxSPltdXG4gICkge1xuICAgIGNvbnN0IGxvZyA9IFVzZXJJbnB1dC5sb2dnZXIuZm9yKHRoaXMuYXNrKTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocXVlc3Rpb24pKSB7XG4gICAgICBxdWVzdGlvbiA9IFtxdWVzdGlvbl07XG4gICAgfVxuICAgIGxldCBhbnN3ZXJzOiBBbnN3ZXJzPFI+O1xuICAgIHRyeSB7XG4gICAgICBsb2cudmVyYm9zZShcbiAgICAgICAgYEFza2luZyBxdWVzdGlvbnM6ICR7cXVlc3Rpb24ubWFwKChxKSA9PiBxLm5hbWUpLmpvaW4oXCIsIFwiKX1gXG4gICAgICApO1xuICAgICAgYW5zd2VycyA9IGF3YWl0IHByb21wdHMocXVlc3Rpb24pO1xuICAgICAgbG9nLnZlcmJvc2UoYFJlY2VpdmVkIGFuc3dlcnM6ICR7SlNPTi5zdHJpbmdpZnkoYW5zd2VycywgbnVsbCwgMil9YCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3Igd2hpbGUgZ2V0dGluZyBpbnB1dDogJHtlcnJvcn1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcnM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFza3MgdGhlIHVzZXIgZm9yIGEgbnVtYmVyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBQcm9tcHRzIHRoZSB1c2VyIHRvIGVudGVyIGEgbnVtYmVyLCB3aXRoIG9wdGlvbmFsIG1pbmltdW0sIG1heGltdW0sIGFuZCBpbml0aWFsIHZhbHVlcy5cbiAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvbXB0LCB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIHJldHVybmVkIGFuc3dlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0gcXVlc3Rpb24gLSBUaGUgbWVzc2FnZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqIEBwYXJhbSBtaW4gLSBUaGUgbWluaW11bSBhbGxvd2VkIHZhbHVlIChvcHRpb25hbCkuXG4gICAqIEBwYXJhbSBtYXggLSBUaGUgbWF4aW11bSBhbGxvd2VkIHZhbHVlIChvcHRpb25hbCkuXG4gICAqIEBwYXJhbSBpbml0aWFsIC0gVGhlIGluaXRpYWwgdmFsdWUgcHJlc2VudGVkIHRvIHRoZSB1c2VyIChvcHRpb25hbCkuXG4gICAqIEByZXR1cm4gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG51bWJlciBlbnRlcmVkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGFza051bWJlcihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcXVlc3Rpb246IHN0cmluZyxcbiAgICBtaW4/OiBudW1iZXIsXG4gICAgbWF4PzogbnVtYmVyLFxuICAgIGluaXRpYWw/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBsb2cgPSBVc2VySW5wdXQubG9nZ2VyLmZvcih0aGlzLmFza051bWJlcik7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgQXNraW5nIG51bWJlciBpbnB1dDogdW5kZWZpbmVkLCBxdWVzdGlvbjogJHtxdWVzdGlvbn0sIG1pbjogJHttaW59LCBtYXg6ICR7bWF4fSwgaW5pdGlhbDogJHtpbml0aWFsfWBcbiAgICApO1xuICAgIGNvbnN0IHVzZXJJbnB1dCA9IG5ldyBVc2VySW5wdXQobmFtZSlcbiAgICAgIC5zZXRNZXNzYWdlKHF1ZXN0aW9uKVxuICAgICAgLnNldFR5cGUoXCJudW1iZXJcIik7XG5cbiAgICBpZiAodHlwZW9mIG1pbiA9PT0gXCJudW1iZXJcIikgdXNlcklucHV0LnNldE1pbihtaW4pO1xuXG4gICAgaWYgKHR5cGVvZiBtYXggPT09IFwibnVtYmVyXCIpIHVzZXJJbnB1dC5zZXRNYXgobWF4KTtcblxuICAgIGlmICh0eXBlb2YgaW5pdGlhbCA9PT0gXCJudW1iZXJcIikgdXNlcklucHV0LnNldEluaXRpYWwoaW5pdGlhbCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXNrKHVzZXJJbnB1dCkpW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBc2tzIHRoZSB1c2VyIGZvciBhIHRleHQgaW5wdXQuXG4gICAqIEBzdW1tYXJ5IFByb21wdHMgdGhlIHVzZXIgdG8gZW50ZXIgdGV4dCwgd2l0aCBvcHRpb25hbCBtYXNraW5nIGFuZCBpbml0aWFsIHZhbHVlLlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBwcm9tcHQsIHVzZWQgYXMgdGhlIGtleSBpbiB0aGUgcmV0dXJuZWQgYW5zd2VycyBvYmplY3QuXG4gICAqIEBwYXJhbSBxdWVzdGlvbiAtIFRoZSBtZXNzYWdlIGRpc3BsYXllZCB0byB0aGUgdXNlci5cbiAgICogQHBhcmFtIG1hc2sgLSBUaGUgY2hhcmFjdGVyIHVzZWQgdG8gbWFzayB0aGUgaW5wdXQgKG9wdGlvbmFsLCBmb3IgcGFzc3dvcmQtbGlrZSBpbnB1dHMpLlxuICAgKiBAcGFyYW0gaW5pdGlhbCAtIFRoZSBpbml0aWFsIHZhbHVlIHByZXNlbnRlZCB0byB0aGUgdXNlciAob3B0aW9uYWwpLlxuICAgKiBAcmV0dXJuIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSB0ZXh0IGVudGVyZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgYXNrVGV4dChcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcXVlc3Rpb246IHN0cmluZyxcbiAgICBtYXNrOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgaW5pdGlhbD86IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGxvZyA9IFVzZXJJbnB1dC5sb2dnZXIuZm9yKHRoaXMuYXNrVGV4dCk7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgQXNraW5nIHRleHQgaW5wdXQ6IHVuZGVmaW5lZCwgcXVlc3Rpb246ICR7cXVlc3Rpb259LCBtYXNrOiAke21hc2t9LCBpbml0aWFsOiAke2luaXRpYWx9YFxuICAgICk7XG4gICAgY29uc3QgdXNlcklucHV0ID0gbmV3IFVzZXJJbnB1dChuYW1lKS5zZXRNZXNzYWdlKHF1ZXN0aW9uKTtcblxuICAgIGlmIChtYXNrKSB1c2VySW5wdXQuc2V0TWFzayhtYXNrKTtcbiAgICBpZiAodHlwZW9mIGluaXRpYWwgPT09IFwic3RyaW5nXCIpIHVzZXJJbnB1dC5zZXRJbml0aWFsKGluaXRpYWwpO1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5hc2sodXNlcklucHV0KSlbbmFtZV07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFza3MgdGhlIHVzZXIgZm9yIGEgY29uZmlybWF0aW9uICh5ZXMvbm8pLlxuICAgKiBAc3VtbWFyeSBQcm9tcHRzIHRoZSB1c2VyIHdpdGggYSB5ZXMvbm8gcXVlc3Rpb24gYW5kIHJldHVybnMgYSBib29sZWFuIHJlc3VsdC5cbiAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvbXB0LCB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIHJldHVybmVkIGFuc3dlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0gcXVlc3Rpb24gLSBUaGUgbWVzc2FnZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqIEBwYXJhbSBpbml0aWFsIC0gVGhlIGluaXRpYWwgdmFsdWUgcHJlc2VudGVkIHRvIHRoZSB1c2VyIChvcHRpb25hbCkuXG4gICAqIEByZXR1cm4gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgdXNlcidzIGFuc3dlci5cbiAgICovXG4gIHN0YXRpYyBhc3luYyBhc2tDb25maXJtYXRpb24oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHF1ZXN0aW9uOiBzdHJpbmcsXG4gICAgaW5pdGlhbD86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbG9nID0gVXNlcklucHV0LmxvZ2dlci5mb3IodGhpcy5hc2tDb25maXJtYXRpb24pO1xuICAgIGxvZy52ZXJib3NlKFxuICAgICAgYEFza2luZyBjb25maXJtYXRpb24gaW5wdXQ6IHVuZGVmaW5lZCwgcXVlc3Rpb246ICR7cXVlc3Rpb259LCBpbml0aWFsOiAke2luaXRpYWx9YFxuICAgICk7XG4gICAgY29uc3QgdXNlcklucHV0ID0gbmV3IFVzZXJJbnB1dChuYW1lKVxuICAgICAgLnNldE1lc3NhZ2UocXVlc3Rpb24pXG4gICAgICAuc2V0VHlwZShcImNvbmZpcm1cIik7XG5cbiAgICBpZiAodHlwZW9mIGluaXRpYWwgIT09IFwidW5kZWZpbmVkXCIpIHVzZXJJbnB1dC5zZXRJbml0aWFsKGluaXRpYWwpO1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5hc2sodXNlcklucHV0KSlbbmFtZV07XG4gIH1cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBlYXRlZGx5IGFza3MgZm9yIGlucHV0IHVudGlsIGEgdmFsaWQgcmVzcG9uc2UgaXMgZ2l2ZW4gb3IgdGhlIGxpbWl0IGlzIHJlYWNoZWQuXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIGluc2lzdHMgb24gZ2V0dGluZyBhIHZhbGlkIGlucHV0IGZyb20gdGhlIHVzZXIsIGFsbG93aW5nIGZvciBhIHNwZWNpZmllZCBudW1iZXIgb2YgYXR0ZW1wdHMuXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHR5cGUgb2YgdGhlIGV4cGVjdGVkIHJlc3VsdC5cbiAgICogQHBhcmFtIGlucHV0IC0gVGhlIFVzZXJJbnB1dCBpbnN0YW5jZSB0byB1c2UgZm9yIHByb21wdGluZy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmcpOmJvb2xlYW59IHRlc3QgLSBWYWxpZGF0b3IgZnVuY3Rpb24gcmVjZWl2aW5nIHRoZSB1c2VyIGlucHV0IGFuZCByZXR1cm5pbmcgd2hldGhlciBpdCBpcyB2YWxpZC5cbiAgICogQHBhcmFtIGRlZmF1bHRDb25maXJtYXRpb24gLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvbmZpcm1hdGlvbiBwcm9tcHQgKHRydWUgZm9yIHllcywgZmFsc2UgZm9yIG5vKS5cbiAgICogQHBhcmFtIGxpbWl0IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGF0dGVtcHRzIGFsbG93ZWQgKGRlZmF1bHQgaXMgMSkuXG4gICAqIEByZXR1cm4gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHZhbGlkIGlucHV0IG9yIHVuZGVmaW5lZCBpZiB0aGUgbGltaXQgaXMgcmVhY2hlZC5cbiAgICpcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgVSBhcyBVc2VyXG4gICAqICAgcGFydGljaXBhbnQgSSBhcyBpbnNpc3QgbWV0aG9kXG4gICAqICAgcGFydGljaXBhbnQgQSBhcyBhc2sgbWV0aG9kXG4gICAqICAgcGFydGljaXBhbnQgVCBhcyB0ZXN0IGZ1bmN0aW9uXG4gICAqICAgcGFydGljaXBhbnQgQyBhcyBhc2tDb25maXJtYXRpb24gbWV0aG9kXG4gICAqICAgbG9vcCBVbnRpbCB2YWxpZCBpbnB1dCBvciBsaW1pdCByZWFjaGVkXG4gICAqICAgICBJLT4+QTogQ2FsbCBhc2sgd2l0aCBpbnB1dFxuICAgKiAgICAgQS0+PlU6IFByb21wdCB1c2VyXG4gICAqICAgICBVLT4+QTogUHJvdmlkZSBpbnB1dFxuICAgKiAgICAgQS0+Pkk6IFJldHVybiByZXN1bHRcbiAgICogICAgIEktPj5UOiBUZXN0IHJlc3VsdFxuICAgKiAgICAgYWx0IFRlc3QgcGFzc2VzXG4gICAqICAgICAgIEktPj5DOiBBc2sgZm9yIGNvbmZpcm1hdGlvblxuICAgKiAgICAgICBDLT4+VTogQ29uZmlybSBpbnB1dFxuICAgKiAgICAgICBVLT4+QzogUHJvdmlkZSBjb25maXJtYXRpb25cbiAgICogICAgICAgQy0+Pkk6IFJldHVybiBjb25maXJtYXRpb25cbiAgICogICAgICAgYWx0IENvbmZpcm1lZFxuICAgKiAgICAgICAgIEktLT4+Q2FsbGVyOiBSZXR1cm4gdmFsaWQgcmVzdWx0XG4gICAqICAgICAgIGVsc2UgTm90IGNvbmZpcm1lZFxuICAgKiAgICAgICAgIEktPj5JOiBDb250aW51ZSBsb29wXG4gICAqICAgICAgIGVuZFxuICAgKiAgICAgZWxzZSBUZXN0IGZhaWxzXG4gICAqICAgICAgIEktPj5JOiBDb250aW51ZSBsb29wXG4gICAqICAgICBlbmRcbiAgICogICBlbmRcbiAgICogICBJLS0+PkNhbGxlcjogUmV0dXJuIHVuZGVmaW5lZCBpZiBsaW1pdCByZWFjaGVkXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgaW5zaXN0PFI+KFxuICAgIGlucHV0OiBVc2VySW5wdXQsXG4gICAgdGVzdDogKHJlczogc3RyaW5nIHwgbnVtYmVyKSA9PiBib29sZWFuLFxuICAgIGRlZmF1bHRDb25maXJtYXRpb246IGJvb2xlYW4sXG4gICAgbGltaXQgPSAxXG4gICk6IFByb21pc2U8UiB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGxvZyA9IFVzZXJJbnB1dC5sb2dnZXIuZm9yKHRoaXMuaW5zaXN0KTtcbiAgICBsb2cudmVyYm9zZShcbiAgICAgIGBJbnNpc3Rpbmcgb24gaW5wdXQ6ICR7aW5wdXQubmFtZX0sIHRlc3Q6ICR7dGVzdC50b1N0cmluZygpfSwgZGVmYXVsdENvbmZpcm1hdGlvbjogJHtkZWZhdWx0Q29uZmlybWF0aW9ufSwgbGltaXQ6ICR7bGltaXR9YFxuICAgICk7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGNvbmZpcm1hdGlvbjogYm9vbGVhbjtcbiAgICB0cnkge1xuICAgICAgZG8ge1xuICAgICAgICByZXN1bHQgPSAoYXdhaXQgVXNlcklucHV0LmFzayhpbnB1dCkpW1xuICAgICAgICAgIGlucHV0Lm5hbWUgYXMga2V5b2YgQW5zd2VyczxzdHJpbmc+XG4gICAgICAgIF0gYXMgc3RyaW5nO1xuICAgICAgICBpZiAoIXRlc3QocmVzdWx0KSkge1xuICAgICAgICAgIHJlc3VsdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25maXJtYXRpb24gPSBhd2FpdCBVc2VySW5wdXQuYXNrQ29uZmlybWF0aW9uKFxuICAgICAgICAgIGAke2lucHV0Lm5hbWV9LWNvbmZpcm1gLFxuICAgICAgICAgIGBJcyB0aGUgJHtpbnB1dC50eXBlfSBjb3JyZWN0P2AsXG4gICAgICAgICAgZGVmYXVsdENvbmZpcm1hdGlvblxuICAgICAgICApO1xuICAgICAgICBpZiAoIWNvbmZpcm1hdGlvbikgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgfSB3aGlsZSAodHlwZW9mIHJlc3VsdCA9PT0gXCJ1bmRlZmluZWRcIiAmJiBsaW1pdCA+IDEgJiYgY291bnQrKyA8IGxpbWl0KTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICBsb2cuZXJyb3IoYEVycm9yIHdoaWxlIGluc2lzdGluZzogJHtlfWApO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJ1bmRlZmluZWRcIikgbG9nLmluZm8oXCJubyBzZWxlY3Rpb24uLi5cIik7XG4gICAgcmV0dXJuIHJlc3VsdCBhcyBSIHwgdW5kZWZpbmVkO1xuICB9XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVwZWF0ZWRseSBhc2tzIGZvciB0ZXh0IGlucHV0IHVudGlsIGEgdmFsaWQgcmVzcG9uc2UgaXMgZ2l2ZW4gb3IgdGhlIGxpbWl0IGlzIHJlYWNoZWQuXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIGluc2lzdHMgb24gZ2V0dGluZyBhIHZhbGlkIHRleHQgaW5wdXQgZnJvbSB0aGUgdXNlciwgYWxsb3dpbmcgZm9yIGEgc3BlY2lmaWVkIG51bWJlciBvZiBhdHRlbXB0cy5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvbXB0LCB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIHJldHVybmVkIGFuc3dlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0gcXVlc3Rpb24gLSBUaGUgbWVzc2FnZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obnVtYmVyKTpib29sZWFufSB0ZXN0IC0gVmFsaWRhdG9yIGZ1bmN0aW9uIHJlY2VpdmluZyB0aGUgdXNlciBpbnB1dCBhbmQgcmV0dXJuaW5nIHdoZXRoZXIgaXQgaXMgdmFsaWQuXG4gICAqIEBwYXJhbSBtYXNrIC0gVGhlIGNoYXJhY3RlciB1c2VkIHRvIG1hc2sgdGhlIGlucHV0IChvcHRpb25hbCwgZm9yIHBhc3N3b3JkLWxpa2UgaW5wdXRzKS5cbiAgICogQHBhcmFtIGluaXRpYWwgLSBUaGUgaW5pdGlhbCB2YWx1ZSBwcmVzZW50ZWQgdG8gdGhlIHVzZXIgKG9wdGlvbmFsKS5cbiAgICogQHBhcmFtIGRlZmF1bHRDb25maXJtYXRpb24gLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvbmZpcm1hdGlvbiBwcm9tcHQgKHRydWUgZm9yIHllcywgZmFsc2UgZm9yIG5vKS5cbiAgICogQHBhcmFtIGxpbWl0IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGF0dGVtcHRzIGFsbG93ZWQgKGRlZmF1bHQgaXMgLTEsIG1lYW5pbmcgdW5saW1pdGVkKS5cbiAgICogQHJldHVybiBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgdmFsaWQgaW5wdXQgb3IgdW5kZWZpbmVkIGlmIHRoZSBsaW1pdCBpcyByZWFjaGVkLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGluc2lzdEZvclRleHQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHF1ZXN0aW9uOiBzdHJpbmcsXG4gICAgdGVzdDogKHJlczogc3RyaW5nKSA9PiBib29sZWFuLFxuICAgIG1hc2s6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBpbml0aWFsPzogc3RyaW5nLFxuICAgIGRlZmF1bHRDb25maXJtYXRpb24gPSBmYWxzZSxcbiAgICBsaW1pdCA9IC0xXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbG9nID0gVXNlcklucHV0LmxvZ2dlci5mb3IodGhpcy5pbnNpc3RGb3JUZXh0KTtcbiAgICBsb2cudmVyYm9zZShcbiAgICAgIGBJbnNpc3RpbmcgZm9yIHRleHQgaW5wdXQ6IHVuZGVmaW5lZCwgcXVlc3Rpb246ICR7cXVlc3Rpb259LCB0ZXN0OiAke3Rlc3QudG9TdHJpbmcoKX0sIG1hc2s6ICR7bWFza30sIGluaXRpYWw6ICR7aW5pdGlhbH0sIGRlZmF1bHRDb25maXJtYXRpb246ICR7ZGVmYXVsdENvbmZpcm1hdGlvbn0sIGxpbWl0OiAke2xpbWl0fWBcbiAgICApO1xuICAgIGNvbnN0IHVzZXJJbnB1dCA9IG5ldyBVc2VySW5wdXQobmFtZSkuc2V0TWVzc2FnZShxdWVzdGlvbik7XG5cbiAgICBpZiAobWFzaykgdXNlcklucHV0LnNldE1hc2sobWFzayk7XG4gICAgaWYgKHR5cGVvZiBpbml0aWFsID09PSBcInN0cmluZ1wiKSB1c2VySW5wdXQuc2V0SW5pdGlhbChpbml0aWFsKTtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaW5zaXN0KFxuICAgICAgdXNlcklucHV0LFxuICAgICAgdGVzdCBhcyAocmVzOiBzdHJpbmcgfCBudW1iZXIpID0+IGJvb2xlYW4sXG4gICAgICBkZWZhdWx0Q29uZmlybWF0aW9uLFxuICAgICAgbGltaXRcbiAgICApKSBhcyBzdHJpbmc7XG4gIH1cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBlYXRlZGx5IGFza3MgZm9yIG51bWJlciBpbnB1dCB1bnRpbCBhIHZhbGlkIHJlc3BvbnNlIGlzIGdpdmVuIG9yIHRoZSBsaW1pdCBpcyByZWFjaGVkLlxuICAgKiBAc3VtbWFyeSBUaGlzIG1ldGhvZCBpbnNpc3RzIG9uIGdldHRpbmcgYSB2YWxpZCBudW1iZXIgaW5wdXQgZnJvbSB0aGUgdXNlciwgYWxsb3dpbmcgZm9yIGEgc3BlY2lmaWVkIG51bWJlciBvZiBhdHRlbXB0cy5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvbXB0LCB1c2VkIGFzIHRoZSBrZXkgaW4gdGhlIHJldHVybmVkIGFuc3dlcnMgb2JqZWN0LlxuICAgKiBAcGFyYW0gcXVlc3Rpb24gLSBUaGUgbWVzc2FnZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqIEBwYXJhbSB0ZXN0IC0gQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgdXNlcidzIGlucHV0LlxuICAgKiBAcGFyYW0gbWluIC0gVGhlIG1pbmltdW0gYWxsb3dlZCB2YWx1ZSAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gbWF4IC0gVGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZSAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gaW5pdGlhbCAtIFRoZSBpbml0aWFsIHZhbHVlIHByZXNlbnRlZCB0byB0aGUgdXNlciAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gZGVmYXVsdENvbmZpcm1hdGlvbiAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgY29uZmlybWF0aW9uIHByb21wdCAodHJ1ZSBmb3IgeWVzLCBmYWxzZSBmb3Igbm8pLlxuICAgKiBAcGFyYW0gbGltaXQgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgYXR0ZW1wdHMgYWxsb3dlZCAoZGVmYXVsdCBpcyAtMSwgbWVhbmluZyB1bmxpbWl0ZWQpLlxuICAgKiBAcmV0dXJuIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSB2YWxpZCBpbnB1dCBvciB1bmRlZmluZWQgaWYgdGhlIGxpbWl0IGlzIHJlYWNoZWQuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgaW5zaXN0Rm9yTnVtYmVyKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBxdWVzdGlvbjogc3RyaW5nLFxuICAgIHRlc3Q6IChyZXM6IG51bWJlcikgPT4gYm9vbGVhbixcbiAgICBtaW4/OiBudW1iZXIsXG4gICAgbWF4PzogbnVtYmVyLFxuICAgIGluaXRpYWw/OiBudW1iZXIsXG4gICAgZGVmYXVsdENvbmZpcm1hdGlvbiA9IGZhbHNlLFxuICAgIGxpbWl0ID0gLTFcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBsb2cgPSBVc2VySW5wdXQubG9nZ2VyLmZvcih0aGlzLmluc2lzdEZvck51bWJlcik7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgSW5zaXN0aW5nIGZvciBudW1iZXIgaW5wdXQ6IHVuZGVmaW5lZCwgcXVlc3Rpb246ICR7cXVlc3Rpb259LCB0ZXN0OiAke3Rlc3QudG9TdHJpbmcoKX0sIG1pbjogJHttaW59LCBtYXg6ICR7bWF4fSwgaW5pdGlhbDogJHtpbml0aWFsfSwgZGVmYXVsdENvbmZpcm1hdGlvbjogJHtkZWZhdWx0Q29uZmlybWF0aW9ufSwgbGltaXQ6ICR7bGltaXR9YFxuICAgICk7XG4gICAgY29uc3QgdXNlcklucHV0ID0gbmV3IFVzZXJJbnB1dChuYW1lKVxuICAgICAgLnNldE1lc3NhZ2UocXVlc3Rpb24pXG4gICAgICAuc2V0VHlwZShcIm51bWJlclwiKTtcblxuICAgIGlmICh0eXBlb2YgbWluID09PSBcIm51bWJlclwiKSB1c2VySW5wdXQuc2V0TWluKG1pbik7XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gXCJudW1iZXJcIikgdXNlcklucHV0LnNldE1heChtYXgpO1xuXG4gICAgaWYgKHR5cGVvZiBpbml0aWFsID09PSBcIm51bWJlclwiKSB1c2VySW5wdXQuc2V0SW5pdGlhbChpbml0aWFsKTtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaW5zaXN0KFxuICAgICAgdXNlcklucHV0LFxuICAgICAgdGVzdCBhcyAocmVzOiBzdHJpbmcgfCBudW1iZXIpID0+IGJvb2xlYW4sXG4gICAgICBkZWZhdWx0Q29uZmlybWF0aW9uLFxuICAgICAgbGltaXRcbiAgICApKSBhcyBudW1iZXI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICAgKiBAc3VtbWFyeSBVc2VzIE5vZGUuanMncyB1dGlsLnBhcnNlQXJncyB0byBwYXJzZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGFuZCByZXR1cm4gdGhlIHJlc3VsdC5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHBhcnNpbmcgYXJndW1lbnRzLlxuICAgKiBAcmV0dXJuIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBwYXJzZWQgYXJndW1lbnRzLlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBDIGFzIENhbGxlclxuICAgKiAgIHBhcnRpY2lwYW50IFAgYXMgcGFyc2VBcmdzIG1ldGhvZFxuICAgKiAgIHBhcnRpY2lwYW50IFUgYXMgdXRpbC5wYXJzZUFyZ3NcbiAgICogICBDLT4+UDogQ2FsbCB3aXRoIG9wdGlvbnNcbiAgICogICBQLT4+UDogUHJlcGFyZSBhcmdzIG9iamVjdFxuICAgKiAgIFAtPj5VOiBDYWxsIHBhcnNlQXJncyB3aXRoIHByZXBhcmVkIGFyZ3NcbiAgICogICBVLT4+UDogUmV0dXJuIHBhcnNlZCByZXN1bHRcbiAgICogICBQLS0+PkM6IFJldHVybiBQYXJzZUFyZ3NSZXN1bHRcbiAgICovXG4gIHN0YXRpYyBwYXJzZUFyZ3Mob3B0aW9uczogUGFyc2VBcmdzT3B0aW9uc0NvbmZpZyk6IFBhcnNlQXJnc1Jlc3VsdCB7XG4gICAgY29uc3QgbG9nID0gVXNlcklucHV0LmxvZ2dlci5mb3IodGhpcy5wYXJzZUFyZ3MpO1xuICAgIGNvbnN0IGFyZ3M6IFBhcnNlQXJnc0NvbmZpZyA9IHtcbiAgICAgIGFyZ3M6IHByb2Nlc3MuYXJndi5zbGljZSgyKSxcbiAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgfTtcbiAgICBsb2cuZGVidWcoYFBhcnNpbmcgYXJndW1lbnRzOiAke0pTT04uc3RyaW5naWZ5KGFyZ3MsIG51bGwsIDIpfWApO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcGFyc2VBcmdzKGFyZ3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBsb2cuZGVidWcoXG4gICAgICAgIGBFcnJvciB3aGlsZSBwYXJzaW5nIGFyZ3VtZW50czpcXG4ke0pTT04uc3RyaW5naWZ5KGFyZ3MsIG51bGwsIDIpfVxcbiB8IG9wdGlvbnNcXG4ke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMsIG51bGwsIDIpfVxcbiB8ICR7ZXJyb3J9YFxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3Igd2hpbGUgcGFyc2luZyBhcmd1bWVudHM6ICR7ZXJyb3J9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
615
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/input/input.ts"],"names":[],"mappings":"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"}
|
package/lib/input/types.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/input/types.ts"],"names":[],"mappings":""}
|
package/lib/output/common.cjs
CHANGED
|
@@ -96,4 +96,4 @@ function getSlogan(i) {
|
|
|
96
96
|
throw new Error(`Failed to retrieve slogans: ${error}`);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
//# sourceMappingURL=
|
|
99
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/output/common.ts"],"names":[],"mappings":";;AA8CA,kCAkBC;AA2BD,8BAQC;AAnGD,qDAA4C;AAC5C,iEAA8C;AAG9C;;;;GAIG;AACH,MAAM,MAAM,GAAG;IACb,gBAAgB,EAAE,cAAc;IAChC,gBAAgB,EAAE,QAAQ;IAC1B,gBAAgB,EAAE,OAAO;IACzB,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,cAAc;IAChC,gBAAgB,EAAE,cAAc;IAChC,gBAAgB,EAAE,aAAa;IAC/B,gBAAgB,EAAE,aAAa;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,WAAW,CAAC,MAAe;IACzC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,MAAM,GACV;;;;;;;EAOF,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC7D,IAAA,6BAAK,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,SAAS,CAAC,CAAU;IAClC,IAAI,CAAC;QACH,CAAC;YACC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,iBAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
package/lib/output/index.cjs
CHANGED
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./common.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAAyB"}
|