flexdataset 0.20.1 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/src/cli.js +4 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,7 +23,8 @@ flexdataset er <root> --out er.svg # entity-relationship diagram
|
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
`validate` exits non-zero when there are error-level violations. The `graph` and `er` commands render
|
|
26
|
-
SVG via WASM Graphviz (no system Graphviz needed)
|
|
26
|
+
SVG via WASM Graphviz (no system Graphviz needed); they validate the root first and abort with a
|
|
27
|
+
non-zero exit if it has error-level violations, so a diagram is only produced for a valid dataset.
|
|
27
28
|
|
|
28
29
|
## License
|
|
29
30
|
|
package/dist/src/cli.js
CHANGED
|
@@ -33,7 +33,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
34
|
const fs = __importStar(require("fs"));
|
|
35
35
|
const validate_1 = require("./validate");
|
|
36
|
-
const loader_1 = require("./loader");
|
|
37
36
|
const dag_1 = require("./diagram/dag");
|
|
38
37
|
const er_1 = require("./diagram/er");
|
|
39
38
|
const render_1 = require("./diagram/render");
|
|
@@ -123,7 +122,9 @@ async function runDiagram(command, rest) {
|
|
|
123
122
|
return 1;
|
|
124
123
|
}
|
|
125
124
|
try {
|
|
126
|
-
const world = (0,
|
|
125
|
+
const world = (0, validate_1.loadValidatedRoot)(root, {
|
|
126
|
+
onWarning: (warning) => console.warn((0, validate_1.formatViolation)(warning)),
|
|
127
|
+
});
|
|
127
128
|
const dot = command === 'graph' ? (0, dag_1.buildDagDot)(world) : (0, er_1.buildErDot)(world);
|
|
128
129
|
const svg = await (0, render_1.renderDot)(dot);
|
|
129
130
|
if (out) {
|
|
@@ -167,4 +168,4 @@ main(process.argv).then((code) => {
|
|
|
167
168
|
console.error(error.message);
|
|
168
169
|
process.exit(1);
|
|
169
170
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHVDQUF5QjtBQUV6Qix5Q0FHb0I7QUFDcEIscUNBRWtCO0FBQ2xCLHVDQUV1QjtBQUN2QixxQ0FFc0I7QUFDdEIsNkNBRTBCO0FBSzFCLE1BQU0sS0FBSyxHQUFHOzs7Ozs7Ozs7O2lFQVVtRCxDQUFDO0FBRWxFLFNBQVMsVUFBVSxDQUFDLE1BQXdCO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRXhGLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLEtBQUssSUFBQSwwQkFBZSxFQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsUUFBUSxDQUFDLE1BQU0sMEJBQTBCLENBQUMsQ0FBQztJQUNuRSxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxNQUFNLENBQUMsTUFBTSxjQUFjLFFBQVEsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBYyxFQUFFLElBQVk7SUFDOUMsSUFBSSxLQUF5QixDQUFDO0lBQzlCLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztJQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNQLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDSixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTztRQUNILEtBQUs7UUFDTCxVQUFVO0tBQ2IsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxJQUFjO0lBQy9CLE1BQU0sRUFDRixLQUFLLEVBQUUsVUFBVSxHQUNwQixHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLE9BQU8sQ0FBQztJQUVoQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsTUFBTSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksTUFBd0IsQ0FBQztJQUM3QixJQUFJLENBQUM7UUFDRCxNQUFNLEdBQUcsSUFBQSx1QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBRSxLQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3ZCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNiLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUNoQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7U0FBTSxDQUFDO1FBQ0osVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxLQUFLLFVBQVUsVUFBVSxDQUFDLE9BQXVCLEVBQUUsSUFBYztJQUM3RCxNQUFNLEVBQ0YsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEdBQ3pCLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVoQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsT0FBTyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUEsaUJBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbkMsTUFBTSxHQUFHLEdBQUcsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBQSxpQkFBVyxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGVBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUEsa0JBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ04sRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUUsS0FBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsSUFBSSxDQUFDLElBQWM7SUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxNQUFNLElBQUksT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN6QixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDMUMsT0FBTyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUUsS0FBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG4vKipcbiAqIGBmbGV4ZGF0YXNldGAgY29tbWFuZC1saW5lIGludGVyZmFjZS5cbiAqXG4gKiBDb21tYW5kczogYHZhbGlkYXRlYCAoc3RydWN0dXJhbCArIHNlbWFudGljIGNoZWNrcyksIGBncmFwaGAgKGRlcGVuZGVuY3kgREFHXG4gKiBhcyBTVkcpLCBhbmQgYGVyYCAoZW50aXR5LXJlbGF0aW9uc2hpcCBkaWFncmFtIGFzIFNWRykuIFRoZSBDTEkgaXMgYSB0aGluXG4gKiBzaGVsbCBvdmVyIHRoZSBsaWJyYXJ5OyBhbGwgbG9naWMgYW5kIHRlc3RzIGxpdmUgaW4gdGhlIG1vZHVsZXMgaXQgY2FsbHMuXG4gKi9cblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5pbXBvcnQge1xuICAgIGZvcm1hdFZpb2xhdGlvbixcbiAgICB2YWxpZGF0ZVJvb3QsXG59IGZyb20gJy4vdmFsaWRhdGUnO1xuaW1wb3J0IHtcbiAgICBsb2FkUm9vdCwgXG59IGZyb20gJy4vbG9hZGVyJztcbmltcG9ydCB7XG4gICAgYnVpbGREYWdEb3QsIFxufSBmcm9tICcuL2RpYWdyYW0vZGFnJztcbmltcG9ydCB7XG4gICAgYnVpbGRFckRvdCwgXG59IGZyb20gJy4vZGlhZ3JhbS9lcic7XG5pbXBvcnQge1xuICAgIHJlbmRlckRvdCwgXG59IGZyb20gJy4vZGlhZ3JhbS9yZW5kZXInO1xuaW1wb3J0IHtcbiAgICBWYWxpZGF0aW9uUmVzdWx0LFxufSBmcm9tICcuL21vZGVsJztcblxuY29uc3QgVVNBR0UgPSBgZmxleGRhdGFzZXQg4oCUIEZsZXhpYmxlIERhdGFzZXQgRGVmaW5pdGlvbiB2YWxpZGF0b3JcblxuVXNhZ2U6XG4gIGZsZXhkYXRhc2V0IHZhbGlkYXRlIDxyb290PiBbLS1mb3JtYXQganNvbnxodW1hbl1cbiAgZmxleGRhdGFzZXQgZ3JhcGggPHJvb3Q+IFstLW91dCA8ZmlsZS5zdmc+XVxuICBmbGV4ZGF0YXNldCBlciA8cm9vdD4gWy0tb3V0IDxmaWxlLnN2Zz5dXG4gIGZsZXhkYXRhc2V0IGhlbHBcblxuT3B0aW9uczpcbiAgLS1mb3JtYXQgICBPdXRwdXQgZm9ybWF0IGZvciBcInZhbGlkYXRlXCIgKGRlZmF1bHQ6IGh1bWFuKS5cbiAgLS1vdXQgICAgICBXcml0ZSBTVkcgdG8gYSBmaWxlIGluc3RlYWQgb2Ygc3Rkb3V0IChncmFwaCAvIGVyKS5gO1xuXG5mdW5jdGlvbiBwcmludEh1bWFuKHJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9ycyA9IHJlc3VsdC52aW9sYXRpb25zLmZpbHRlcigodmlvbGF0aW9uKSA9PiB2aW9sYXRpb24ubGV2ZWwgPT09ICdlcnJvcicpO1xuICAgIGNvbnN0IHdhcm5pbmdzID0gcmVzdWx0LnZpb2xhdGlvbnMuZmlsdGVyKCh2aW9sYXRpb24pID0+IHZpb2xhdGlvbi5sZXZlbCA9PT0gJ3dhcm5pbmcnKTtcblxuICAgIGZvciAoY29uc3QgdmlvbGF0aW9uIG9mIHJlc3VsdC52aW9sYXRpb25zKSB7XG4gICAgICAgIGNvbnN0IGxpbmUgPSBgICAke2Zvcm1hdFZpb2xhdGlvbih2aW9sYXRpb24pfWA7XG4gICAgICAgIGlmICh2aW9sYXRpb24ubGV2ZWwgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IobGluZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4obGluZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVzdWx0Lm9rKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBPSyDigJQgJHt3YXJuaW5ncy5sZW5ndGh9IHdhcm5pbmcocyksIDAgZXJyb3IocykuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRkFJTEVEIOKAlCAke2Vycm9ycy5sZW5ndGh9IGVycm9yKHMpLCAke3dhcm5pbmdzLmxlbmd0aH0gd2FybmluZyhzKS5gKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlT3B0aW9ucyhyZXN0OiBzdHJpbmdbXSwgZmxhZzogc3RyaW5nKTogeyB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkOyBwb3NpdGlvbmFsOiBzdHJpbmdbXSB9IHtcbiAgICBsZXQgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwb3NpdGlvbmFsOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdC5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBpZiAocmVzdFtpXSA9PT0gZmxhZykge1xuICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgdmFsdWUgPSByZXN0W2ldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9zaXRpb25hbC5wdXNoKHJlc3RbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBwb3NpdGlvbmFsLFxuICAgIH07XG59XG5cbmZ1bmN0aW9uIHJ1blZhbGlkYXRlKHJlc3Q6IHN0cmluZ1tdKTogbnVtYmVyIHtcbiAgICBjb25zdCB7XG4gICAgICAgIHZhbHVlLCBwb3NpdGlvbmFsLCBcbiAgICB9ID0gcGFyc2VPcHRpb25zKHJlc3QsICctLWZvcm1hdCcpO1xuICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlID8/ICdodW1hbic7XG5cbiAgICBjb25zdCByb290ID0gcG9zaXRpb25hbFswXTtcbiAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcigndXNhZ2U6IGZsZXhkYXRhc2V0IHZhbGlkYXRlIDxyb290PiBbLS1mb3JtYXQganNvbnxodW1hbl0nKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCAhPT0gJ2h1bWFuJyAmJiBmb3JtYXQgIT09ICdqc29uJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKGB1bmtub3duIGZvcm1hdCBcIiR7Zm9ybWF0fVwiIChleHBlY3RlZCBcImh1bWFuXCIgb3IgXCJqc29uXCIpYCk7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGxldCByZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQ7XG4gICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ID0gdmFsaWRhdGVSb290KHJvb3QpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIG9rOiByZXN1bHQub2ssXG4gICAgICAgICAgICB2aW9sYXRpb25zOiByZXN1bHQudmlvbGF0aW9ucyxcbiAgICAgICAgfSwgbnVsbCwgMikpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHByaW50SHVtYW4ocmVzdWx0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0Lm9rID8gMCA6IDE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bkRpYWdyYW0oY29tbWFuZDogJ2dyYXBoJyB8ICdlcicsIHJlc3Q6IHN0cmluZ1tdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIHZhbHVlOiBvdXQsIHBvc2l0aW9uYWwsIFxuICAgIH0gPSBwYXJzZU9wdGlvbnMocmVzdCwgJy0tb3V0Jyk7XG5cbiAgICBjb25zdCByb290ID0gcG9zaXRpb25hbFswXTtcbiAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgdXNhZ2U6IGZsZXhkYXRhc2V0ICR7Y29tbWFuZH0gPHJvb3Q+IFstLW91dCA8ZmlsZS5zdmc+XWApO1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCB3b3JsZCA9IGxvYWRSb290KHJvb3QpLndvcmxkO1xuICAgICAgICBjb25zdCBkb3QgPSBjb21tYW5kID09PSAnZ3JhcGgnID8gYnVpbGREYWdEb3Qod29ybGQpIDogYnVpbGRFckRvdCh3b3JsZCk7XG4gICAgICAgIGNvbnN0IHN2ZyA9IGF3YWl0IHJlbmRlckRvdChkb3QpO1xuICAgICAgICBpZiAob3V0KSB7XG4gICAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKG91dCwgc3ZnLCAndXRmLTgnKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYHdyb3RlICR7b3V0fWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coc3ZnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKChlcnJvciBhcyBFcnJvcikubWVzc2FnZSk7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFpbihhcmd2OiBzdHJpbmdbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgYXJncyA9IGFyZ3Yuc2xpY2UoMik7XG4gICAgY29uc3QgY29tbWFuZCA9IGFyZ3NbMF07XG5cbiAgICBpZiAoIWNvbW1hbmQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihVU0FHRSk7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBpZiAoY29tbWFuZCA9PT0gJ2hlbHAnIHx8IGNvbW1hbmQgPT09ICctLWhlbHAnIHx8IGNvbW1hbmQgPT09ICctaCcpIHtcbiAgICAgICAgY29uc29sZS5sb2coVVNBR0UpO1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgaWYgKGNvbW1hbmQgPT09ICd2YWxpZGF0ZScpIHtcbiAgICAgICAgcmV0dXJuIHJ1blZhbGlkYXRlKGFyZ3Muc2xpY2UoMSkpO1xuICAgIH1cbiAgICBpZiAoY29tbWFuZCA9PT0gJ2dyYXBoJyB8fCBjb21tYW5kID09PSAnZXInKSB7XG4gICAgICAgIHJldHVybiBydW5EaWFncmFtKGNvbW1hbmQsIGFyZ3Muc2xpY2UoMSkpO1xuICAgIH1cblxuICAgIGNvbnNvbGUuZXJyb3IoYHVua25vd24gY29tbWFuZDogJHtjb21tYW5kfWApO1xuICAgIGNvbnNvbGUuZXJyb3IoVVNBR0UpO1xuICAgIHJldHVybiAxO1xufVxuXG5tYWluKHByb2Nlc3MuYXJndikudGhlbigoY29kZSkgPT4ge1xuICAgIHByb2Nlc3MuZXhpdChjb2RlKTtcbn0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG59KTtcbiJdfQ==
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHVDQUF5QjtBQUV6Qix5Q0FJb0I7QUFDcEIsdUNBRXVCO0FBQ3ZCLHFDQUVzQjtBQUN0Qiw2Q0FFMEI7QUFLMUIsTUFBTSxLQUFLLEdBQUc7Ozs7Ozs7Ozs7aUVBVW1ELENBQUM7QUFFbEUsU0FBUyxVQUFVLENBQUMsTUFBd0I7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDcEYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFeEYsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFBLDBCQUFlLEVBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxRQUFRLENBQUMsTUFBTSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7U0FBTSxDQUFDO1FBQ0os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LE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLE1BQU0sSUFBSSxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBRSxLQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qKlxuICogYGZsZXhkYXRhc2V0YCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlLlxuICpcbiAqIENvbW1hbmRzOiBgdmFsaWRhdGVgIChzdHJ1Y3R1cmFsICsgc2VtYW50aWMgY2hlY2tzKSwgYGdyYXBoYCAoZGVwZW5kZW5jeSBEQUdcbiAqIGFzIFNWRyksIGFuZCBgZXJgIChlbnRpdHktcmVsYXRpb25zaGlwIGRpYWdyYW0gYXMgU1ZHKS4gVGhlIENMSSBpcyBhIHRoaW5cbiAqIHNoZWxsIG92ZXIgdGhlIGxpYnJhcnk7IGFsbCBsb2dpYyBhbmQgdGVzdHMgbGl2ZSBpbiB0aGUgbW9kdWxlcyBpdCBjYWxscy5cbiAqL1xuXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmltcG9ydCB7XG4gICAgZm9ybWF0VmlvbGF0aW9uLFxuICAgIGxvYWRWYWxpZGF0ZWRSb290LFxuICAgIHZhbGlkYXRlUm9vdCxcbn0gZnJvbSAnLi92YWxpZGF0ZSc7XG5pbXBvcnQge1xuICAgIGJ1aWxkRGFnRG90LCBcbn0gZnJvbSAnLi9kaWFncmFtL2RhZyc7XG5pbXBvcnQge1xuICAgIGJ1aWxkRXJEb3QsIFxufSBmcm9tICcuL2RpYWdyYW0vZXInO1xuaW1wb3J0IHtcbiAgICByZW5kZXJEb3QsIFxufSBmcm9tICcuL2RpYWdyYW0vcmVuZGVyJztcbmltcG9ydCB7XG4gICAgVmFsaWRhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi9tb2RlbCc7XG5cbmNvbnN0IFVTQUdFID0gYGZsZXhkYXRhc2V0IOKAlCBGbGV4aWJsZSBEYXRhc2V0IERlZmluaXRpb24gdmFsaWRhdG9yXG5cblVzYWdlOlxuICBmbGV4ZGF0YXNldCB2YWxpZGF0ZSA8cm9vdD4gWy0tZm9ybWF0IGpzb258aHVtYW5dXG4gIGZsZXhkYXRhc2V0IGdyYXBoIDxyb290PiBbLS1vdXQgPGZpbGUuc3ZnPl1cbiAgZmxleGRhdGFzZXQgZXIgPHJvb3Q+IFstLW91dCA8ZmlsZS5zdmc+XVxuICBmbGV4ZGF0YXNldCBoZWxwXG5cbk9wdGlvbnM6XG4gIC0tZm9ybWF0ICAgT3V0cHV0IGZvcm1hdCBmb3IgXCJ2YWxpZGF0ZVwiIChkZWZhdWx0OiBodW1hbikuXG4gIC0tb3V0ICAgICAgV3JpdGUgU1ZHIHRvIGEgZmlsZSBpbnN0ZWFkIG9mIHN0ZG91dCAoZ3JhcGggLyBlcikuYDtcblxuZnVuY3Rpb24gcHJpbnRIdW1hbihyZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvcnMgPSByZXN1bHQudmlvbGF0aW9ucy5maWx0ZXIoKHZpb2xhdGlvbikgPT4gdmlvbGF0aW9uLmxldmVsID09PSAnZXJyb3InKTtcbiAgICBjb25zdCB3YXJuaW5ncyA9IHJlc3VsdC52aW9sYXRpb25zLmZpbHRlcigodmlvbGF0aW9uKSA9PiB2aW9sYXRpb24ubGV2ZWwgPT09ICd3YXJuaW5nJyk7XG5cbiAgICBmb3IgKGNvbnN0IHZpb2xhdGlvbiBvZiByZXN1bHQudmlvbGF0aW9ucykge1xuICAgICAgICBjb25zdCBsaW5lID0gYCAgJHtmb3JtYXRWaW9sYXRpb24odmlvbGF0aW9uKX1gO1xuICAgICAgICBpZiAodmlvbGF0aW9uLmxldmVsID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGxpbmUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGxpbmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdC5vaykge1xuICAgICAgICBjb25zb2xlLmxvZyhgT0sg4oCUICR7d2FybmluZ3MubGVuZ3RofSB3YXJuaW5nKHMpLCAwIGVycm9yKHMpLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEZBSUxFRCDigJQgJHtlcnJvcnMubGVuZ3RofSBlcnJvcihzKSwgJHt3YXJuaW5ncy5sZW5ndGh9IHdhcm5pbmcocykuYCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZU9wdGlvbnMocmVzdDogc3RyaW5nW10sIGZsYWc6IHN0cmluZyk6IHsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgcG9zaXRpb25hbDogc3RyaW5nW10gfSB7XG4gICAgbGV0IHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgcG9zaXRpb25hbDogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3QubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgaWYgKHJlc3RbaV0gPT09IGZsYWcpIHtcbiAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIHZhbHVlID0gcmVzdFtpXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uYWwucHVzaChyZXN0W2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgcG9zaXRpb25hbCxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBydW5WYWxpZGF0ZShyZXN0OiBzdHJpbmdbXSk6IG51bWJlciB7XG4gICAgY29uc3Qge1xuICAgICAgICB2YWx1ZSwgcG9zaXRpb25hbCwgXG4gICAgfSA9IHBhcnNlT3B0aW9ucyhyZXN0LCAnLS1mb3JtYXQnKTtcbiAgICBjb25zdCBmb3JtYXQgPSB2YWx1ZSA/PyAnaHVtYW4nO1xuXG4gICAgY29uc3Qgcm9vdCA9IHBvc2l0aW9uYWxbMF07XG4gICAgaWYgKCFyb290KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ3VzYWdlOiBmbGV4ZGF0YXNldCB2YWxpZGF0ZSA8cm9vdD4gWy0tZm9ybWF0IGpzb258aHVtYW5dJyk7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChmb3JtYXQgIT09ICdodW1hbicgJiYgZm9ybWF0ICE9PSAnanNvbicpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgdW5rbm93biBmb3JtYXQgXCIke2Zvcm1hdH1cIiAoZXhwZWN0ZWQgXCJodW1hblwiIG9yIFwianNvblwiKWApO1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0O1xuICAgIHRyeSB7XG4gICAgICAgIHJlc3VsdCA9IHZhbGlkYXRlUm9vdChyb290KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKChlcnJvciBhcyBFcnJvcikubWVzc2FnZSk7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChmb3JtYXQgPT09ICdqc29uJykge1xuICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBvazogcmVzdWx0Lm9rLFxuICAgICAgICAgICAgdmlvbGF0aW9uczogcmVzdWx0LnZpb2xhdGlvbnMsXG4gICAgICAgIH0sIG51bGwsIDIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBwcmludEh1bWFuKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdC5vayA/IDAgOiAxO1xufVxuXG5hc3luYyBmdW5jdGlvbiBydW5EaWFncmFtKGNvbW1hbmQ6ICdncmFwaCcgfCAnZXInLCByZXN0OiBzdHJpbmdbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qge1xuICAgICAgICB2YWx1ZTogb3V0LCBwb3NpdGlvbmFsLCBcbiAgICB9ID0gcGFyc2VPcHRpb25zKHJlc3QsICctLW91dCcpO1xuXG4gICAgY29uc3Qgcm9vdCA9IHBvc2l0aW9uYWxbMF07XG4gICAgaWYgKCFyb290KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYHVzYWdlOiBmbGV4ZGF0YXNldCAke2NvbW1hbmR9IDxyb290PiBbLS1vdXQgPGZpbGUuc3ZnPl1gKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgd29ybGQgPSBsb2FkVmFsaWRhdGVkUm9vdChyb290LCB7XG4gICAgICAgICAgICBvbldhcm5pbmc6ICh3YXJuaW5nKSA9PiBjb25zb2xlLndhcm4oZm9ybWF0VmlvbGF0aW9uKHdhcm5pbmcpKSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGRvdCA9IGNvbW1hbmQgPT09ICdncmFwaCcgPyBidWlsZERhZ0RvdCh3b3JsZCkgOiBidWlsZEVyRG90KHdvcmxkKTtcbiAgICAgICAgY29uc3Qgc3ZnID0gYXdhaXQgcmVuZGVyRG90KGRvdCk7XG4gICAgICAgIGlmIChvdXQpIHtcbiAgICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmMob3V0LCBzdmcsICd1dGYtOCcpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgd3JvdGUgJHtvdXR9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhzdmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKGFyZ3Y6IHN0cmluZ1tdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBhcmdzID0gYXJndi5zbGljZSgyKTtcbiAgICBjb25zdCBjb21tYW5kID0gYXJnc1swXTtcblxuICAgIGlmICghY29tbWFuZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFVTQUdFKTtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmIChjb21tYW5kID09PSAnaGVscCcgfHwgY29tbWFuZCA9PT0gJy0taGVscCcgfHwgY29tbWFuZCA9PT0gJy1oJykge1xuICAgICAgICBjb25zb2xlLmxvZyhVU0FHRSk7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBpZiAoY29tbWFuZCA9PT0gJ3ZhbGlkYXRlJykge1xuICAgICAgICByZXR1cm4gcnVuVmFsaWRhdGUoYXJncy5zbGljZSgxKSk7XG4gICAgfVxuICAgIGlmIChjb21tYW5kID09PSAnZ3JhcGgnIHx8IGNvbW1hbmQgPT09ICdlcicpIHtcbiAgICAgICAgcmV0dXJuIHJ1bkRpYWdyYW0oY29tbWFuZCwgYXJncy5zbGljZSgxKSk7XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcihgdW5rbm93biBjb21tYW5kOiAke2NvbW1hbmR9YCk7XG4gICAgY29uc29sZS5lcnJvcihVU0FHRSk7XG4gICAgcmV0dXJuIDE7XG59XG5cbm1haW4ocHJvY2Vzcy5hcmd2KS50aGVuKChjb2RlKSA9PiB7XG4gICAgcHJvY2Vzcy5leGl0KGNvZGUpO1xufSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcigoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2UpO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuIl19
|
package/package.json
CHANGED