@angular-devkit/schematics 0.0.48 → 0.0.52
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/package.json +4 -4
- package/src/engine/collection.js +1 -1
- package/src/engine/engine.d.ts +6 -1
- package/src/engine/engine.js +46 -2
- package/src/engine/interface.d.ts +5 -0
- package/src/engine/interface.js +1 -1
- package/src/engine/schematic.js +1 -1
- package/src/engine/task.d.ts +46 -0
- package/src/engine/task.js +66 -0
- package/src/exception/exception.js +1 -1
- package/src/formats/format-validator.js +1 -1
- package/src/formats/html-selector.js +1 -1
- package/src/formats/index.js +1 -1
- package/src/formats/path.js +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -1
- package/src/rules/base.js +1 -1
- package/src/rules/call.js +1 -1
- package/src/rules/move.js +1 -1
- package/src/rules/random.js +1 -1
- package/src/rules/schematic.js +1 -1
- package/src/rules/template.js +1 -1
- package/src/rules/url.js +1 -1
- package/src/rules/utils/is-binary.js +1 -1
- package/src/sink/dryrun.js +1 -1
- package/src/sink/filesystem.js +2 -2
- package/src/sink/sink.js +1 -1
- package/src/sink/virtual-filesystem.js +1 -1
- package/src/tree/action.js +1 -1
- package/src/tree/delegate.js +1 -1
- package/src/tree/empty.js +1 -1
- package/src/tree/entry.js +1 -1
- package/src/tree/filesystem.js +1 -1
- package/src/tree/filtered.js +1 -1
- package/src/tree/interface.js +1 -1
- package/src/tree/memory-host.js +1 -1
- package/src/tree/node-host.js +1 -1
- package/src/tree/null.js +1 -1
- package/src/tree/recorder.js +1 -1
- package/src/tree/static.js +1 -1
- package/src/tree/virtual.js +1 -1
- package/src/utility/linked-list.js +1 -1
- package/src/utility/update-buffer.js +1 -1
- package/tasks/index.d.ts +10 -0
- package/tasks/index.js +16 -0
- package/tasks/node/index.d.ts +14 -0
- package/tasks/node/index.js +16 -0
- package/tasks/node-package/executor.d.ts +14 -0
- package/tasks/node-package/executor.js +67 -0
- package/tasks/node-package/install-task.d.ts +15 -0
- package/tasks/node-package/install-task.js +21 -0
- package/tasks/node-package/link-task.d.ts +16 -0
- package/tasks/node-package/link-task.js +23 -0
- package/tasks/node-package/options.d.ts +18 -0
- package/tasks/node-package/options.js +11 -0
- package/tasks/repo-init/executor.d.ts +3 -0
- package/tasks/repo-init/executor.js +82 -0
- package/tasks/repo-init/init-task.d.ts +20 -0
- package/tasks/repo-init/init-task.js +23 -0
- package/tasks/repo-init/options.d.ts +18 -0
- package/tasks/repo-init/options.js +11 -0
- package/testing/index.js +1 -1
- package/testing/schematic-test-runner.js +1 -1
- package/tools/description.js +1 -1
- package/tools/export-ref.js +1 -1
- package/tools/fallback-engine-host.d.ts +3 -1
- package/tools/fallback-engine-host.js +18 -1
- package/tools/file-system-engine-host-base.d.ts +5 -1
- package/tools/file-system-engine-host-base.js +17 -1
- package/tools/file-system-engine-host.js +1 -1
- package/tools/file-system-host.js +1 -1
- package/tools/file-system-utility.js +1 -1
- package/tools/index.js +1 -1
- package/tools/node-module-engine-host.js +1 -1
- package/tools/node-modules-test-engine-host.js +1 -1
- package/tools/schema-option-transform.js +1 -1
package/src/tree/filesystem.js
CHANGED
|
@@ -145,4 +145,4 @@ class FileSystemCreateTree extends FileSystemTree {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
exports.FileSystemCreateTree = FileSystemCreateTree;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsZXhlYWdsZS9Qcm9qZWN0cy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL2ZpbGVzeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FROEI7QUFDOUIsbUNBQXdDO0FBRXhDLHVDQUF5RDtBQWF6RCx3QkFBZ0MsU0FBUSx5QkFBZTtJQUNyRCxZQUNZLEtBQXlCLEVBQ25DLElBQW9CLEVBQ1YsY0FBYyxFQUFFLEVBQzFCLE9BQWEsZ0JBQVMsQ0FBQyxHQUFHLENBQUM7UUFFM0IsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUxSLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO0lBSTVCLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBa0I7UUFDckMsTUFBTSxDQUFDLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEtBQXVCLEVBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQ3ZDLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBRXZDLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDL0UsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1gsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7UUFDSCxDQUFDO1FBRUQsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBRXZDLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNoRixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDWCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFFRCxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0MsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksY0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQWtCO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRjtBQXBFRCxnREFvRUM7QUFHRCxvQkFBNEIsU0FBUSxxQkFBVztJQUc3QyxZQUFvQixLQUF5QjtRQUMzQyxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRm5DLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSTdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO2dCQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxxQkFBYSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUV6RixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDO1lBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFeEYsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN4QixLQUFLLEdBQUcsSUFBSSxxQkFBYSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRCLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVTLE9BQU8sQ0FBd0IsSUFBTztRQUM5QyxFQUFFLENBQUMsQ0FBQyxJQUFJLFlBQVksY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsR0FBRyxJQUFzQixDQUFDO1lBQ2pDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNyQixDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFFbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDdEQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFxQixFQUFFLENBQUM7UUFFbEMsaUJBQWlCLFVBQWtCLEVBQUUsYUFBcUI7WUFDeEQsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLGNBQWMsR0FBRyxnQkFBUyxDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQzdELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQyxPQUFPLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBakZELHdDQWlGQztBQUdELDBCQUFrQyxTQUFRLGNBQWM7SUFDdEQsWUFBWSxJQUF3QjtRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQVRELG9EQVNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtcbiAgUGF0aCxcbiAgUGF0aEZyYWdtZW50LFxuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZnJhZ21lbnQsXG4gIGpvaW4sXG4gIG5vcm1hbGl6ZSxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgTGF6eUZpbGVFbnRyeSB9IGZyb20gJy4vZW50cnknO1xuaW1wb3J0IHsgRGlyRW50cnksIEZpbGVFbnRyeSwgVHJlZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFZpcnR1YWxEaXJFbnRyeSwgVmlydHVhbFRyZWUgfSBmcm9tICcuL3ZpcnR1YWwnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVN5c3RlbVRyZWVIb3N0IHtcbiAgbGlzdERpcmVjdG9yeTogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nW107XG4gIGlzRGlyZWN0b3J5OiAocGF0aDogc3RyaW5nKSA9PiBib29sZWFuO1xuICByZWFkRmlsZTogKHBhdGg6IHN0cmluZykgPT4gQnVmZmVyO1xuICBleGlzdHM6IChwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgam9pbjogKHBhdGgxOiBzdHJpbmcsIG90aGVyOiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbURpckVudHJ5IGV4dGVuZHMgVmlydHVhbERpckVudHJ5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9ob3N0OiBGaWxlU3lzdGVtVHJlZUhvc3QsXG4gICAgdHJlZTogRmlsZVN5c3RlbVRyZWUsXG4gICAgcHJvdGVjdGVkIF9zeXN0ZW1QYXRoID0gJycsXG4gICAgcGF0aDogUGF0aCA9IG5vcm1hbGl6ZSgnLycpLFxuICApIHtcbiAgICBzdXBlcih0cmVlLCBwYXRoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfY3JlYXRlRGlyKG5hbWU6IFBhdGhGcmFnbWVudCk6IERpckVudHJ5IHtcbiAgICByZXR1cm4gbmV3IEZpbGVTeXN0ZW1EaXJFbnRyeShcbiAgICAgIHRoaXMuX2hvc3QsXG4gICAgICB0aGlzLl90cmVlIGFzIEZpbGVTeXN0ZW1UcmVlLFxuICAgICAgdGhpcy5faG9zdC5qb2luKHRoaXMuX3N5c3RlbVBhdGgsIG5hbWUpLFxuICAgICAgam9pbih0aGlzLl9wYXRoLCBuYW1lKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHBhcmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGF0aCA9PSAnLycgPyBudWxsIDogdGhpcy5fdHJlZS5nZXREaXIoZGlybmFtZSh0aGlzLl9wYXRoKSk7XG4gIH1cbiAgZ2V0IHN1YmRpcnMoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFNldDxQYXRoRnJhZ21lbnQ+KCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5faG9zdC5saXN0RGlyZWN0b3J5KHRoaXMuX3N5c3RlbVBhdGgpXG4gICAgICAgICAgLmZpbHRlcihuYW1lID0+IHRoaXMuX2hvc3QuaXNEaXJlY3RvcnkodGhpcy5faG9zdC5qb2luKHRoaXMuX3N5c3RlbVBhdGgsIG5hbWUpKSlcbiAgICAgICAgICAuZm9yRWFjaChuYW1lID0+IHJlc3VsdC5hZGQoZnJhZ21lbnQobmFtZSkpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlICE9ICdFTk9FTlQnICYmIGUuY29kZSAhPSAnRU5PVERJUicpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgdGhpcy5fdHJlZS5zdGFnaW5nLmtleXMoKSkge1xuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aCh0aGlzLl9wYXRoKSAmJiBkaXJuYW1lKHBhdGgpICE9IHRoaXMuX3BhdGgpIHtcbiAgICAgICAgcmVzdWx0LmFkZChiYXNlbmFtZShwYXRoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5yZXN1bHRdO1xuICB9XG4gIGdldCBzdWJmaWxlcygpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFBhdGhGcmFnbWVudD4oKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9ob3N0Lmxpc3REaXJlY3RvcnkodGhpcy5fc3lzdGVtUGF0aClcbiAgICAgICAgLmZpbHRlcihuYW1lID0+ICF0aGlzLl9ob3N0LmlzRGlyZWN0b3J5KHRoaXMuX2hvc3Quam9pbih0aGlzLl9zeXN0ZW1QYXRoLCBuYW1lKSkpXG4gICAgICAgIC5mb3JFYWNoKG5hbWUgPT4gcmVzdWx0LmFkZChmcmFnbWVudChuYW1lKSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgIT0gJ0VOT0VOVCcgJiYgZS5jb2RlICE9ICdFTk9URElSJykge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcGF0aCBvZiB0aGlzLl90cmVlLnN0YWdpbmcua2V5cygpKSB7XG4gICAgICBpZiAocGF0aC5zdGFydHNXaXRoKHRoaXMuX3BhdGgpICYmIGRpcm5hbWUocGF0aCkgPT0gdGhpcy5fcGF0aCkge1xuICAgICAgICByZXN1bHQuYWRkKGJhc2VuYW1lKHBhdGgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLnJlc3VsdF07XG4gIH1cblxuICBmaWxlKG5hbWU6IFBhdGhGcmFnbWVudCkge1xuICAgIHJldHVybiB0aGlzLl90cmVlLmdldChqb2luKHRoaXMuX3BhdGgsIG5hbWUpKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBjbGFzcyBGaWxlU3lzdGVtVHJlZSBleHRlbmRzIFZpcnR1YWxUcmVlIHtcbiAgcHJvdGVjdGVkIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEZpbGVTeXN0ZW1UcmVlSG9zdCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fcm9vdCA9IG5ldyBGaWxlU3lzdGVtRGlyRW50cnkoX2hvc3QsIHRoaXMpO1xuICB9XG5cbiAgZ2V0IHRyZWUoKTogTWFwPFBhdGgsIEZpbGVFbnRyeT4ge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLl9ob3N0O1xuICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3JlY3Vyc2l2ZUZpbGVMaXN0KCkuZm9yRWFjaCgoW3N5c3RlbSwgc2NoZW1hdGljXSkgPT4ge1xuICAgICAgICB0aGlzLl90cmVlLnNldChzY2hlbWF0aWMsIG5ldyBMYXp5RmlsZUVudHJ5KHNjaGVtYXRpYywgKCkgPT4gaG9zdC5yZWFkRmlsZShzeXN0ZW0pKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdHJlZTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcpOiBGaWxlRW50cnkgfCBudWxsIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG5cbiAgICBsZXQgZW50cnkgPSB0aGlzLl9jYWNoZU1hcC5nZXQobm9ybWFsaXplZFBhdGgpIHx8IHRoaXMuX3RyZWUuZ2V0KG5vcm1hbGl6ZWRQYXRoKSB8fCBudWxsO1xuXG4gICAgaWYgKGVudHJ5ID09IG51bGwgJiYgIXRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICBjb25zdCBzeXN0ZW1QYXRoID0gbm9ybWFsaXplZFBhdGg7XG4gICAgICBjb25zdCBmaWxlRXhpc3RzID0gdGhpcy5faG9zdC5leGlzdHMoc3lzdGVtUGF0aCkgJiYgIXRoaXMuX2hvc3QuaXNEaXJlY3Rvcnkoc3lzdGVtUGF0aCk7XG5cbiAgICAgIGlmIChmaWxlRXhpc3RzKSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLl9ob3N0O1xuICAgICAgICBlbnRyeSA9IG5ldyBMYXp5RmlsZUVudHJ5KG5vcm1hbGl6ZWRQYXRoLCAoKSA9PiBob3N0LnJlYWRGaWxlKHN5c3RlbVBhdGgpKTtcbiAgICAgICAgdGhpcy5fdHJlZS5zZXQobm9ybWFsaXplZFBhdGgsIGVudHJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZW50cnk7XG4gIH1cblxuICBicmFuY2goKTogVHJlZSB7XG4gICAgY29uc3QgbmV3VHJlZSA9IG5ldyBGaWxlU3lzdGVtVHJlZSh0aGlzLl9ob3N0KTtcbiAgICB0aGlzLl9jb3B5VG8obmV3VHJlZSk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfY29weVRvPFQgZXh0ZW5kcyBWaXJ0dWFsVHJlZT4odHJlZTogVCk6IHZvaWQge1xuICAgIGlmICh0cmVlIGluc3RhbmNlb2YgRmlsZVN5c3RlbVRyZWUpIHtcbiAgICAgIGNvbnN0IHggPSB0cmVlIGFzIEZpbGVTeXN0ZW1UcmVlO1xuICAgICAgeC5fdHJlZSA9IHRoaXMuX3RyZWU7XG4gICAgICB4Ll9pbml0aWFsaXplZCA9IHRoaXMuX2luaXRpYWxpemVkO1xuXG4gICAgICB0aGlzLl9hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHguX2FjdGlvbnMucHVzaChhY3Rpb24pKTtcbiAgICAgIFsuLi50aGlzLl9jYWNoZU1hcC5lbnRyaWVzKCldLmZvckVhY2goKFtwYXRoLCBlbnRyeV0pID0+IHtcbiAgICAgICAgeC5fY2FjaGVNYXAuc2V0KHBhdGgsIGVudHJ5KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5fY29weVRvKHRyZWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVjdXJzaXZlRmlsZUxpc3QoKTogWyBzdHJpbmcsIFBhdGggXVtdIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5faG9zdDtcbiAgICBjb25zdCBsaXN0OiBbc3RyaW5nLCBQYXRoXVtdID0gW107XG5cbiAgICBmdW5jdGlvbiByZWN1cnNlKHN5c3RlbVBhdGg6IHN0cmluZywgc2NoZW1hdGljUGF0aDogc3RyaW5nKSB7XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgaG9zdC5saXN0RGlyZWN0b3J5KHN5c3RlbVBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHN5c3RlbU5hbWUgPSBob3N0LmpvaW4oc3lzdGVtUGF0aCwgbmFtZSk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplKHNjaGVtYXRpY1BhdGggKyAnLycgKyBuYW1lKTtcbiAgICAgICAgaWYgKGhvc3QuaXNEaXJlY3Rvcnkobm9ybWFsaXplZFBhdGgpKSB7XG4gICAgICAgICAgcmVjdXJzZShzeXN0ZW1OYW1lLCBub3JtYWxpemVkUGF0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGlzdC5wdXNoKFtzeXN0ZW1OYW1lLCBub3JtYWxpemVkUGF0aF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVjdXJzZSgnJywgJy8nKTtcblxuICAgIHJldHVybiBsaXN0O1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIEZpbGVTeXN0ZW1DcmVhdGVUcmVlIGV4dGVuZHMgRmlsZVN5c3RlbVRyZWUge1xuICBjb25zdHJ1Y3Rvcihob3N0OiBGaWxlU3lzdGVtVHJlZUhvc3QpIHtcbiAgICBzdXBlcihob3N0KTtcblxuICAgIHRoaXMuX3JlY3Vyc2l2ZUZpbGVMaXN0KCkuZm9yRWFjaCgoW3N5c3RlbSwgc2NoZW1hdGljXSkgPT4ge1xuICAgICAgdGhpcy5jcmVhdGUoc2NoZW1hdGljLCBob3N0LnJlYWRGaWxlKHN5c3RlbSkpO1xuICAgIH0pO1xuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9oYW5zbC9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL2ZpbGVzeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FROEI7QUFDOUIsbUNBQXdDO0FBRXhDLHVDQUF5RDtBQWF6RCx3QkFBZ0MsU0FBUSx5QkFBZTtJQUNyRCxZQUNZLEtBQXlCLEVBQ25DLElBQW9CLEVBQ1YsY0FBYyxFQUFFLEVBQzFCLE9BQWEsZ0JBQVMsQ0FBQyxHQUFHLENBQUM7UUFFM0IsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUxSLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO0lBSTVCLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBa0I7UUFDckMsTUFBTSxDQUFDLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEtBQXVCLEVBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQ3ZDLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBRXZDLElB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TyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqQixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBakZELHdDQWlGQztBQUdELDBCQUFrQyxTQUFRLGNBQWM7SUFDdEQsWUFBWSxJQUF3QjtRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQVRELG9EQVNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtcbiAgUGF0aCxcbiAgUGF0aEZyYWdtZW50LFxuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZnJhZ21lbnQsXG4gIGpvaW4sXG4gIG5vcm1hbGl6ZSxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgTGF6eUZpbGVFbnRyeSB9IGZyb20gJy4vZW50cnknO1xuaW1wb3J0IHsgRGlyRW50cnksIEZpbGVFbnRyeSwgVHJlZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFZpcnR1YWxEaXJFbnRyeSwgVmlydHVhbFRyZWUgfSBmcm9tICcuL3ZpcnR1YWwnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVN5c3RlbVRyZWVIb3N0IHtcbiAgbGlzdERpcmVjdG9yeTogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nW107XG4gIGlzRGlyZWN0b3J5OiAocGF0aDogc3RyaW5nKSA9PiBib29sZWFuO1xuICByZWFkRmlsZTogKHBhdGg6IHN0cmluZykgPT4gQnVmZmVyO1xuICBleGlzdHM6IChwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgam9pbjogKHBhdGgxOiBzdHJpbmcsIG90aGVyOiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbURpckVudHJ5IGV4dGVuZHMgVmlydHVhbERpckVudHJ5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9ob3N0OiBGaWxlU3lzdGVtVHJlZUhvc3QsXG4gICAgdHJlZTogRmlsZVN5c3RlbVRyZWUsXG4gICAgcHJvdGVjdGVkIF9zeXN0ZW1QYXRoID0gJycsXG4gICAgcGF0aDogUGF0aCA9IG5vcm1hbGl6ZSgnLycpLFxuICApIHtcbiAgICBzdXBlcih0cmVlLCBwYXRoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfY3JlYXRlRGlyKG5hbWU6IFBhdGhGcmFnbWVudCk6IERpckVudHJ5IHtcbiAgICByZXR1cm4gbmV3IEZpbGVTeXN0ZW1EaXJFbnRyeShcbiAgICAgIHRoaXMuX2hvc3QsXG4gICAgICB0aGlzLl90cmVlIGFzIEZpbGVTeXN0ZW1UcmVlLFxuICAgICAgdGhpcy5faG9zdC5qb2luKHRoaXMuX3N5c3RlbVBhdGgsIG5hbWUpLFxuICAgICAgam9pbih0aGlzLl9wYXRoLCBuYW1lKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHBhcmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGF0aCA9PSAnLycgPyBudWxsIDogdGhpcy5fdHJlZS5nZXREaXIoZGlybmFtZSh0aGlzLl9wYXRoKSk7XG4gIH1cbiAgZ2V0IHN1YmRpcnMoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFNldDxQYXRoRnJhZ21lbnQ+KCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5faG9zdC5saXN0RGlyZWN0b3J5KHRoaXMuX3N5c3RlbVBhdGgpXG4gICAgICAgICAgLmZpbHRlcihuYW1lID0+IHRoaXMuX2hvc3QuaXNEaXJlY3RvcnkodGhpcy5faG9zdC5qb2luKHRoaXMuX3N5c3RlbVBhdGgsIG5hbWUpKSlcbiAgICAgICAgICAuZm9yRWFjaChuYW1lID0+IHJlc3VsdC5hZGQoZnJhZ21lbnQobmFtZSkpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlICE9ICdFTk9FTlQnICYmIGUuY29kZSAhPSAnRU5PVERJUicpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgdGhpcy5fdHJlZS5zdGFnaW5nLmtleXMoKSkge1xuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aCh0aGlzLl9wYXRoKSAmJiBkaXJuYW1lKHBhdGgpICE9IHRoaXMuX3BhdGgpIHtcbiAgICAgICAgcmVzdWx0LmFkZChiYXNlbmFtZShwYXRoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5yZXN1bHRdO1xuICB9XG4gIGdldCBzdWJmaWxlcygpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgU2V0PFBhdGhGcmFnbWVudD4oKTtcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9ob3N0Lmxpc3REaXJlY3RvcnkodGhpcy5fc3lzdGVtUGF0aClcbiAgICAgICAgLmZpbHRlcihuYW1lID0+ICF0aGlzLl9ob3N0LmlzRGlyZWN0b3J5KHRoaXMuX2hvc3Quam9pbih0aGlzLl9zeXN0ZW1QYXRoLCBuYW1lKSkpXG4gICAgICAgIC5mb3JFYWNoKG5hbWUgPT4gcmVzdWx0LmFkZChmcmFnbWVudChuYW1lKSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgIT0gJ0VOT0VOVCcgJiYgZS5jb2RlICE9ICdFTk9URElSJykge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcGF0aCBvZiB0aGlzLl90cmVlLnN0YWdpbmcua2V5cygpKSB7XG4gICAgICBpZiAocGF0aC5zdGFydHNXaXRoKHRoaXMuX3BhdGgpICYmIGRpcm5hbWUocGF0aCkgPT0gdGhpcy5fcGF0aCkge1xuICAgICAgICByZXN1bHQuYWRkKGJhc2VuYW1lKHBhdGgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLnJlc3VsdF07XG4gIH1cblxuICBmaWxlKG5hbWU6IFBhdGhGcmFnbWVudCkge1xuICAgIHJldHVybiB0aGlzLl90cmVlLmdldChqb2luKHRoaXMuX3BhdGgsIG5hbWUpKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBjbGFzcyBGaWxlU3lzdGVtVHJlZSBleHRlbmRzIFZpcnR1YWxUcmVlIHtcbiAgcHJvdGVjdGVkIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEZpbGVTeXN0ZW1UcmVlSG9zdCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fcm9vdCA9IG5ldyBGaWxlU3lzdGVtRGlyRW50cnkoX2hvc3QsIHRoaXMpO1xuICB9XG5cbiAgZ2V0IHRyZWUoKTogTWFwPFBhdGgsIEZpbGVFbnRyeT4ge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLl9ob3N0O1xuICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3JlY3Vyc2l2ZUZpbGVMaXN0KCkuZm9yRWFjaCgoW3N5c3RlbSwgc2NoZW1hdGljXSkgPT4ge1xuICAgICAgICB0aGlzLl90cmVlLnNldChzY2hlbWF0aWMsIG5ldyBMYXp5RmlsZUVudHJ5KHNjaGVtYXRpYywgKCkgPT4gaG9zdC5yZWFkRmlsZShzeXN0ZW0pKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdHJlZTtcbiAgfVxuXG4gIGdldChwYXRoOiBzdHJpbmcpOiBGaWxlRW50cnkgfCBudWxsIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG5cbiAgICBsZXQgZW50cnkgPSB0aGlzLl9jYWNoZU1hcC5nZXQobm9ybWFsaXplZFBhdGgpIHx8IHRoaXMuX3RyZWUuZ2V0KG5vcm1hbGl6ZWRQYXRoKSB8fCBudWxsO1xuXG4gICAgaWYgKGVudHJ5ID09IG51bGwgJiYgIXRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICBjb25zdCBzeXN0ZW1QYXRoID0gbm9ybWFsaXplZFBhdGg7XG4gICAgICBjb25zdCBmaWxlRXhpc3RzID0gdGhpcy5faG9zdC5leGlzdHMoc3lzdGVtUGF0aCkgJiYgIXRoaXMuX2hvc3QuaXNEaXJlY3Rvcnkoc3lzdGVtUGF0aCk7XG5cbiAgICAgIGlmIChmaWxlRXhpc3RzKSB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLl9ob3N0O1xuICAgICAgICBlbnRyeSA9IG5ldyBMYXp5RmlsZUVudHJ5KG5vcm1hbGl6ZWRQYXRoLCAoKSA9PiBob3N0LnJlYWRGaWxlKHN5c3RlbVBhdGgpKTtcbiAgICAgICAgdGhpcy5fdHJlZS5zZXQobm9ybWFsaXplZFBhdGgsIGVudHJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZW50cnk7XG4gIH1cblxuICBicmFuY2goKTogVHJlZSB7XG4gICAgY29uc3QgbmV3VHJlZSA9IG5ldyBGaWxlU3lzdGVtVHJlZSh0aGlzLl9ob3N0KTtcbiAgICB0aGlzLl9jb3B5VG8obmV3VHJlZSk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfY29weVRvPFQgZXh0ZW5kcyBWaXJ0dWFsVHJlZT4odHJlZTogVCk6IHZvaWQge1xuICAgIGlmICh0cmVlIGluc3RhbmNlb2YgRmlsZVN5c3RlbVRyZWUpIHtcbiAgICAgIGNvbnN0IHggPSB0cmVlIGFzIEZpbGVTeXN0ZW1UcmVlO1xuICAgICAgeC5fdHJlZSA9IHRoaXMuX3RyZWU7XG4gICAgICB4Ll9pbml0aWFsaXplZCA9IHRoaXMuX2luaXRpYWxpemVkO1xuXG4gICAgICB0aGlzLl9hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHguX2FjdGlvbnMucHVzaChhY3Rpb24pKTtcbiAgICAgIFsuLi50aGlzLl9jYWNoZU1hcC5lbnRyaWVzKCldLmZvckVhY2goKFtwYXRoLCBlbnRyeV0pID0+IHtcbiAgICAgICAgeC5fY2FjaGVNYXAuc2V0KHBhdGgsIGVudHJ5KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5fY29weVRvKHRyZWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVjdXJzaXZlRmlsZUxpc3QoKTogWyBzdHJpbmcsIFBhdGggXVtdIHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5faG9zdDtcbiAgICBjb25zdCBsaXN0OiBbc3RyaW5nLCBQYXRoXVtdID0gW107XG5cbiAgICBmdW5jdGlvbiByZWN1cnNlKHN5c3RlbVBhdGg6IHN0cmluZywgc2NoZW1hdGljUGF0aDogc3RyaW5nKSB7XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgaG9zdC5saXN0RGlyZWN0b3J5KHN5c3RlbVBhdGgpKSB7XG4gICAgICAgIGNvbnN0IHN5c3RlbU5hbWUgPSBob3N0LmpvaW4oc3lzdGVtUGF0aCwgbmFtZSk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplKHNjaGVtYXRpY1BhdGggKyAnLycgKyBuYW1lKTtcbiAgICAgICAgaWYgKGhvc3QuaXNEaXJlY3Rvcnkobm9ybWFsaXplZFBhdGgpKSB7XG4gICAgICAgICAgcmVjdXJzZShzeXN0ZW1OYW1lLCBub3JtYWxpemVkUGF0aCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGlzdC5wdXNoKFtzeXN0ZW1OYW1lLCBub3JtYWxpemVkUGF0aF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVjdXJzZSgnJywgJy8nKTtcblxuICAgIHJldHVybiBsaXN0O1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIEZpbGVTeXN0ZW1DcmVhdGVUcmVlIGV4dGVuZHMgRmlsZVN5c3RlbVRyZWUge1xuICBjb25zdHJ1Y3Rvcihob3N0OiBGaWxlU3lzdGVtVHJlZUhvc3QpIHtcbiAgICBzdXBlcihob3N0KTtcblxuICAgIHRoaXMuX3JlY3Vyc2l2ZUZpbGVMaXN0KCkuZm9yRWFjaCgoW3N5c3RlbSwgc2NoZW1hdGljXSkgPT4ge1xuICAgICAgdGhpcy5jcmVhdGUoc2NoZW1hdGljLCBob3N0LnJlYWRGaWxlKHN5c3RlbSkpO1xuICAgIH0pO1xuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxufVxuIl19
|
package/src/tree/filtered.js
CHANGED
|
@@ -28,4 +28,4 @@ class FilteredTree extends virtual_1.VirtualTree {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.FilteredTree = FilteredTree;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyZWQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvaGFuc2wvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvdHJlZS9maWx0ZXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLHVDQUF3QztBQUd4QyxrQkFBMEIsU0FBUSxxQkFBVztJQUMzQyxZQUFZLElBQVUsRUFBRSxTQUFpQyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRVIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFJLFlBQVkscUJBQVc7WUFDOUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMscUJBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQWdCLENBQUM7UUFFdEQsc0VBQXNFO1FBQ3RFLDRFQUE0RTtRQUM1RSxNQUFNLElBQUksR0FBSSxXQUE0QixDQUFDLElBQUksQ0FBQztRQUNoRCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBRXBDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzVDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDL0MsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBNUJELG9DQTRCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IEZpbGVQcmVkaWNhdGUsIFRyZWUgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBWaXJ0dWFsVHJlZSB9IGZyb20gJy4vdmlydHVhbCc7XG5cblxuZXhwb3J0IGNsYXNzIEZpbHRlcmVkVHJlZSBleHRlbmRzIFZpcnR1YWxUcmVlIHtcbiAgY29uc3RydWN0b3IodHJlZTogVHJlZSwgZmlsdGVyOiBGaWxlUHJlZGljYXRlPGJvb2xlYW4+ID0gKCkgPT4gdHJ1ZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB2aXJ0dWFsVHJlZSA9ICh0cmVlIGluc3RhbmNlb2YgVmlydHVhbFRyZWVcbiAgICAgID8gdHJlZSA6IFZpcnR1YWxUcmVlLm9wdGltaXplKHRyZWUpKSBhcyBWaXJ0dWFsVHJlZTtcblxuICAgIC8vIFdlIGRvbid0IGtub3cgZm9yIHN1cmUgdGhhdCBpdCdzIGEgRmlsdGVyZWRUcmVlLCBidXQgd2UgZG9uJ3QgY2FyZTtcbiAgICAvLyBWaXJ0dWFsVHJlZSBoYXMgYHRyZWVgLCB3ZSBqdXN0IG5lZWQgYWNjZXNzIHRvIGl0IGJlY2F1c2UgaXQncyBwcm90ZWN0ZWQuXG4gICAgY29uc3Qgcm9vdCA9ICh2aXJ0dWFsVHJlZSBhcyBGaWx0ZXJlZFRyZWUpLnRyZWU7XG4gICAgY29uc3Qgc3RhZ2luZyA9IHZpcnR1YWxUcmVlLnN0YWdpbmc7XG5cbiAgICBbLi4ucm9vdC5lbnRyaWVzKCldLmZvckVhY2goKFtwYXRoLCBlbnRyeV0pID0+IHtcbiAgICAgIGlmIChmaWx0ZXIocGF0aCwgZW50cnkpKSB7XG4gICAgICAgIHRoaXMuX3RyZWUuc2V0KHBhdGgsIGVudHJ5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBbLi4uc3RhZ2luZy5lbnRyaWVzKCldLmZvckVhY2goKFtwYXRoLCBlbnRyeV0pID0+IHtcbiAgICAgIGlmIChmaWx0ZXIocGF0aCwgZW50cnkpKSB7XG4gICAgICAgIHRoaXMuX2NhY2hlTWFwLnNldChwYXRoLCBlbnRyeSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdmlydHVhbFRyZWUuYWN0aW9ucy5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgICBpZiAodGhpcy5fY2FjaGVNYXAuaGFzKGFjdGlvbi5wYXRoKSB8fCB0aGlzLl90cmVlLmhhcyhhY3Rpb24ucGF0aCkpIHtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/src/tree/interface.js
CHANGED
|
@@ -35,4 +35,4 @@ var Tree;
|
|
|
35
35
|
}
|
|
36
36
|
Tree.isTree = isTree;
|
|
37
37
|
})(Tree || (Tree = {}));
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2hhbnNsL2RldmtpdC8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3RyZWUvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBV0EsSUFBWSxhQW1CWDtBQW5CRCxXQUFZLGFBQWE7SUFDdkIscUZBQWtDLENBQUE7SUFDbEMsbUZBQWtDLENBQUE7SUFDbEMsK0VBQWtDLENBQUE7SUFFbEMsNkJBQTZCO0lBQzdCLHVEQUE2QixDQUFBO0lBRTdCLHVGQUF1RjtJQUN2Riw0REFBNEQ7SUFDNUQsbURBQWtDLENBQUE7SUFFbEMsMENBQTBDO0lBQzFDLCtEQUFnRSxDQUFBO0lBRWhFLCtDQUErQztJQUMvQyw0REFFNkQsQ0FBQTtBQUMvRCxDQUFDLEVBbkJXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBbUJ4QjtBQUdZLFFBQUEsc0JBQXNCLEdBQUcsTUFBTSxFQUFFLENBQUM7QUE2QmxDLFFBQUEsVUFBVSxHQUFXLENBQUM7SUFDakMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLE1BQU0sSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQztXQUN4RSxDQUFDLE9BQU8sSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1dBQzlELENBQUMsT0FBTyxNQUFNLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5RixFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUErQkwsSUFBVSxJQUFJLENBSWI7QUFKRCxXQUFVLElBQUk7SUFDWixnQkFBdUIsU0FBaUI7UUFDdEMsTUFBTSxDQUFDLGtCQUFVLElBQUksU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFGZSxXQUFNLFNBRXJCLENBQUE7QUFDSCxDQUFDLEVBSlMsSUFBSSxLQUFKLElBQUksUUFJYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IFBhdGgsIFBhdGhGcmFnbWVudCB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vYWN0aW9uJztcblxuXG5leHBvcnQgZW51bSBNZXJnZVN0cmF0ZWd5IHtcbiAgQWxsb3dPdmVyd3JpdGVDb25mbGljdCAgICA9IDEgPDwgMSxcbiAgQWxsb3dDcmVhdGlvbkNvbmZsaWN0ICAgICA9IDEgPDwgMixcbiAgQWxsb3dEZWxldGVDb25mbGljdCAgICAgICA9IDEgPDwgMyxcblxuICAvLyBVc2VzIHRoZSBkZWZhdWx0IHN0cmF0ZWd5LlxuICBEZWZhdWx0ICAgICAgICAgICAgICAgICAgID0gMCxcblxuICAvLyBFcnJvciBvdXQgaWYgMiBmaWxlcyBoYXZlIHRoZSBzYW1lIHBhdGguIEl0IGlzIHVzZWZ1bCB0byBoYXZlIGEgZGlmZmVyZW50IHZhbHVlIHRoYW5cbiAgLy8gRGVmYXVsdCBpbiB0aGlzIGNhc2UgYXMgdGhlIHRvb2xpbmcgRGVmYXVsdCBtaWdodCBkaWZmZXIuXG4gIEVycm9yICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDAsXG5cbiAgLy8gT25seSBjb250ZW50IGNvbmZsaWN0cyBhcmUgb3ZlcndyaXR0ZW4uXG4gIENvbnRlbnRPbmx5ICAgICAgICAgICAgICAgPSBNZXJnZVN0cmF0ZWd5LkFsbG93T3ZlcndyaXRlQ29uZmxpY3QsXG5cbiAgLy8gT3ZlcndyaXRlIGV2ZXJ5dGhpbmcgd2l0aCB0aGUgbGF0ZXN0IGNoYW5nZS5cbiAgT3ZlcndyaXRlICAgICAgICAgICAgICAgICA9IE1lcmdlU3RyYXRlZ3kuQWxsb3dPdmVyd3JpdGVDb25mbGljdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgTWVyZ2VTdHJhdGVneS5BbGxvd0NyZWF0aW9uQ29uZmxpY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIE1lcmdlU3RyYXRlZ3kuQWxsb3dEZWxldGVDb25mbGljdCxcbn1cblxuXG5leHBvcnQgY29uc3QgRmlsZVZpc2l0b3JDYW5jZWxUb2tlbiA9IFN5bWJvbCgpO1xuZXhwb3J0IHR5cGUgRmlsZVZpc2l0b3IgPSBGaWxlUHJlZGljYXRlPHZvaWQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVFbnRyeSB7XG4gIHJlYWRvbmx5IHBhdGg6IFBhdGg7XG4gIHJlYWRvbmx5IGNvbnRlbnQ6IEJ1ZmZlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJFbnRyeSB7XG4gIHJlYWRvbmx5IHBhcmVudDogRGlyRW50cnkgfCBudWxsO1xuICByZWFkb25seSBwYXRoOiBQYXRoO1xuXG4gIHJlYWRvbmx5IHN1YmRpcnM6IFBhdGhGcmFnbWVudFtdO1xuICByZWFkb25seSBzdWJmaWxlczogUGF0aEZyYWdtZW50W107XG5cbiAgZGlyKG5hbWU6IFBhdGhGcmFnbWVudCk6IERpckVudHJ5O1xuICBmaWxlKG5hbWU6IFBhdGhGcmFnbWVudCk6IEZpbGVFbnRyeSB8IG51bGw7XG5cbiAgdmlzaXQodmlzaXRvcjogRmlsZVZpc2l0b3IpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVQcmVkaWNhdGU8VD4ge1xuICAocGF0aDogUGF0aCwgZW50cnk/OiBSZWFkb25seTxGaWxlRW50cnk+IHwgbnVsbCk6IFQ7XG59XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiB7IFN5bWJvbDogeyBzY2hlbWF0aWNUcmVlOiBzeW1ib2wgfSwgd2luZG93OiB7fSB9O1xuZGVjbGFyZSBjb25zdCBzZWxmOiB7IFN5bWJvbDogeyBzY2hlbWF0aWNUcmVlOiBzeW1ib2wgfSwgc2VsZjoge30gfTtcbmRlY2xhcmUgY29uc3QgZ2xvYmFsOiB7IFN5bWJvbDogeyBzY2hlbWF0aWNUcmVlOiBzeW1ib2wgfSwgZ2xvYmFsOiB7fSB9O1xuXG5leHBvcnQgY29uc3QgVHJlZVN5bWJvbDogc3ltYm9sID0gKGZ1bmN0aW9uKCkge1xuICBjb25zdCBnbG9iYWxTeW1ib2wgPSAodHlwZW9mIHdpbmRvdyA9PSAnb2JqZWN0JyAmJiB3aW5kb3cud2luZG93ID09PSB3aW5kb3cgJiYgd2luZG93LlN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgfHwgKHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYuc2VsZiA9PT0gc2VsZiAmJiBzZWxmLlN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgfHwgKHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsLmdsb2JhbCA9PT0gZ2xvYmFsICYmIGdsb2JhbC5TeW1ib2wpO1xuXG4gIGlmICghZ2xvYmFsU3ltYm9sKSB7XG4gICAgcmV0dXJuIFN5bWJvbCgnc2NoZW1hdGljLXRyZWUnKTtcbiAgfVxuXG4gIGlmICghZ2xvYmFsU3ltYm9sLnNjaGVtYXRpY1RyZWUpIHtcbiAgICBnbG9iYWxTeW1ib2wuc2NoZW1hdGljVHJlZSA9IFN5bWJvbCgnc2NoZW1hdGljLXRyZWUnKTtcbiAgfVxuXG4gIHJldHVybiBnbG9iYWxTeW1ib2wuc2NoZW1hdGljVHJlZTtcbn0pKCk7XG5cblxuZXhwb3J0IGludGVyZmFjZSBUcmVlIHtcbiAgYnJhbmNoKCk6IFRyZWU7XG4gIG1lcmdlKG90aGVyOiBUcmVlLCBzdHJhdGVneT86IE1lcmdlU3RyYXRlZ3kpOiB2b2lkO1xuXG4gIHJlYWRvbmx5IHJvb3Q6IERpckVudHJ5O1xuXG4gIC8vIFJlYWRvbmx5LlxuICByZWFkKHBhdGg6IHN0cmluZyk6IEJ1ZmZlciB8IG51bGw7XG4gIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuO1xuICBnZXQocGF0aDogc3RyaW5nKTogRmlsZUVudHJ5IHwgbnVsbDtcbiAgZ2V0RGlyKHBhdGg6IHN0cmluZyk6IERpckVudHJ5O1xuICB2aXNpdCh2aXNpdG9yOiBGaWxlVmlzaXRvcik6IHZvaWQ7XG5cbiAgLy8gQ2hhbmdlIGNvbnRlbnQgb2YgaG9zdCBmaWxlcy5cbiAgb3ZlcndyaXRlKHBhdGg6IHN0cmluZywgY29udGVudDogQnVmZmVyIHwgc3RyaW5nKTogdm9pZDtcbiAgYmVnaW5VcGRhdGUocGF0aDogc3RyaW5nKTogVXBkYXRlUmVjb3JkZXI7XG4gIGNvbW1pdFVwZGF0ZShyZWNvcmQ6IFVwZGF0ZVJlY29yZGVyKTogdm9pZDtcblxuICAvLyBTdHJ1Y3R1cmFsIG1ldGhvZHMuXG4gIGNyZWF0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IHZvaWQ7XG4gIGRlbGV0ZShwYXRoOiBzdHJpbmcpOiB2b2lkO1xuICByZW5hbWUoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKTogdm9pZDtcblxuICBhcHBseShhY3Rpb246IEFjdGlvbiwgc3RyYXRlZ3k/OiBNZXJnZVN0cmF0ZWd5KTogdm9pZDtcbiAgcmVhZG9ubHkgYWN0aW9uczogQWN0aW9uW107XG59XG5cblxubmFtZXNwYWNlIFRyZWUge1xuICBleHBvcnQgZnVuY3Rpb24gaXNUcmVlKG1heWJlVHJlZTogb2JqZWN0KTogbWF5YmVUcmVlIGlzIFRyZWUge1xuICAgIHJldHVybiBUcmVlU3ltYm9sIGluIG1heWJlVHJlZTtcbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVjb3JkZXIge1xuICAvLyBUaGVzZSBqdXN0IHJlY29yZCBjaGFuZ2VzLlxuICBpbnNlcnRMZWZ0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IFVwZGF0ZVJlY29yZGVyO1xuICBpbnNlcnRSaWdodChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiBVcGRhdGVSZWNvcmRlcjtcbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogVXBkYXRlUmVjb3JkZXI7XG59XG4iXX0=
|
package/src/tree/memory-host.js
CHANGED
|
@@ -42,4 +42,4 @@ class InMemoryFileSystemTreeHost {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
exports.InMemoryFileSystemTreeHost = InMemoryFileSystemTreeHost;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWhvc3QuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvaGFuc2wvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvdHJlZS9tZW1vcnktaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILCtDQUFpRDtBQUlqRDtJQUdFLFlBQVksT0FBbUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xDLElBQUksR0FBRyxnQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixJQUFJLEdBQUcsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoQixJQUFJLENBQUMsTUFBTTthQUNSLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDaEMsTUFBTSxDQUFDLENBQUMsR0FBMkIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDeEUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNYLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBWTtRQUN0QixJQUFJLEdBQUcsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2QixNQUFNLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxHQUFHLGdCQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLElBQUksR0FBRyxnQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQy9CLE1BQU0sQ0FBQyxnQkFBUyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBMUNELGdFQTBDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IEZpbGVTeXN0ZW1UcmVlSG9zdCB9IGZyb20gJy4vZmlsZXN5c3RlbSc7XG5cblxuZXhwb3J0IGNsYXNzIEluTWVtb3J5RmlsZVN5c3RlbVRyZWVIb3N0IGltcGxlbWVudHMgRmlsZVN5c3RlbVRyZWVIb3N0IHtcbiAgcHJpdmF0ZSBfY29udGVudDogeyBbcGF0aDogc3RyaW5nXTogQnVmZmVyIH07XG4gIHByaXZhdGUgX2ZpbGVzOiBzdHJpbmdbXTtcbiAgY29uc3RydWN0b3IoY29udGVudDogeyBbcGF0aDogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLl9jb250ZW50ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBPYmplY3Qua2V5cyhjb250ZW50KS5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgcGF0aCA9IG5vcm1hbGl6ZShwYXRoKTtcbiAgICAgIHRoaXMuX2NvbnRlbnRbcGF0aF0gPSBuZXcgQnVmZmVyKGNvbnRlbnRbcGF0aF0pO1xuICAgIH0pO1xuICAgIHRoaXMuX2ZpbGVzID0gT2JqZWN0LmtleXModGhpcy5fY29udGVudCk7XG4gIH1cblxuICBsaXN0RGlyZWN0b3J5KHBhdGg6IHN0cmluZykge1xuICAgIHBhdGggPSBub3JtYWxpemUocGF0aCkucmVwbGFjZSgvXFwvPyQvLCAnLycpO1xuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKFxuICAgICAgdGhpcy5fZmlsZXNcbiAgICAgICAgLmZpbHRlcihwID0+IHAuc3RhcnRzV2l0aChwYXRoKSlcbiAgICAgICAgLm1hcChwID0+IHAuc3Vic3RyKHBhdGgubGVuZ3RoKSlcbiAgICAgICAgLm1hcChwID0+IHAucmVwbGFjZSgvXFwvLiokLywgJycpKVxuICAgICAgICAucmVkdWNlKChhY2M6IHtbazogc3RyaW5nXTogYm9vbGVhbn0sIHApID0+IChhY2NbcF0gPSB0cnVlLCBhY2MpLCB7fSksXG4gICAgKS5zb3J0KCk7XG4gIH1cbiAgaXNEaXJlY3RvcnkocGF0aDogc3RyaW5nKSB7XG4gICAgcGF0aCA9IG5vcm1hbGl6ZShwYXRoKTtcblxuICAgIHJldHVybiBwYXRoID09ICcvJyB8fCB0aGlzLl9maWxlcy5zb21lKHAgPT4gcC5zcGxpdCgnLycpLnNsaWNlKDAsIC0xKS5qb2luKCcvJykgPT0gcGF0aCk7XG4gIH1cbiAgcmVhZEZpbGUocGF0aDogc3RyaW5nKSB7XG4gICAgcGF0aCA9IG5vcm1hbGl6ZShwYXRoKTtcblxuICAgIHJldHVybiB0aGlzLl9jb250ZW50W3BhdGhdIHx8IG5ldyBCdWZmZXIoJycpO1xuICB9XG4gIGV4aXN0cyhwYXRoOiBzdHJpbmcpIHtcbiAgICBwYXRoID0gbm9ybWFsaXplKHBhdGgpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRbcGF0aF0gIT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgam9pbihwYXRoMTogc3RyaW5nLCBwYXRoMjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZShwYXRoMSArICcvJyArIHBhdGgyKTtcbiAgfVxufVxuIl19
|
package/src/tree/node-host.js
CHANGED
|
@@ -30,4 +30,4 @@ class NodeJsHost {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
exports.NodeJsHost = NodeJsHost;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1ob3N0LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2hhbnNsL2RldmtpdC8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3RyZWUvbm9kZS1ob3N0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gseUJBQXlCO0FBQ3pCLCtCQUE0QjtBQUk1QjtJQUNFLFlBQW9CLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQUcsQ0FBQztJQUVyQyxhQUFhLENBQUMsSUFBWTtRQUN4QixNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVk7UUFDdEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBWTtRQUNqQixNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQy9CLE1BQU0sQ0FBQyxXQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQW5CRCxnQ0FtQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBGaWxlU3lzdGVtVHJlZUhvc3QgfSBmcm9tICcuL2ZpbGVzeXN0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBOb2RlSnNIb3N0IGltcGxlbWVudHMgRmlsZVN5c3RlbVRyZWVIb3N0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcm9vdDogc3RyaW5nKSB7fVxuXG4gIGxpc3REaXJlY3RvcnkocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZzLnJlYWRkaXJTeW5jKHRoaXMuam9pbih0aGlzLl9yb290LCBwYXRoKSk7XG4gIH1cbiAgaXNEaXJlY3RvcnkocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZzLnN0YXRTeW5jKHRoaXMuam9pbih0aGlzLl9yb290LCBwYXRoKSkuaXNEaXJlY3RvcnkoKTtcbiAgfVxuICByZWFkRmlsZShwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKHRoaXMuam9pbih0aGlzLl9yb290LCBwYXRoKSk7XG4gIH1cbiAgZXhpc3RzKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBmcy5leGlzdHNTeW5jKHRoaXMuam9pbih0aGlzLl9yb290LCBwYXRoKSk7XG4gIH1cblxuICBqb2luKHBhdGgxOiBzdHJpbmcsIHBhdGgyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gam9pbihwYXRoMSwgcGF0aDIpO1xuICB9XG59XG4iXX0=
|
package/src/tree/null.js
CHANGED
|
@@ -79,4 +79,4 @@ class NullTree {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
exports.NullTree = NullTree;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9oYW5zbC9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL251bGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FPOEI7QUFDOUIsc0RBQW1FO0FBRW5FLDJDQUF3RjtBQUN4Rix5Q0FBZ0Q7QUFHaEQsK0JBQXVDLFNBQVEsb0JBQWE7SUFDMUQsWUFBWSxJQUFZLElBQUksS0FBSyxDQUFDLHVCQUF1QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUN0RTtBQUZELDhEQUVDO0FBR0Q7SUFLRSxZQUE0QixJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUU3QixZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUM3QixhQUFRLEdBQW1CLEVBQUUsQ0FBQztJQUhFLENBQUM7SUFKMUMsSUFBSSxNQUFNO1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsY0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFPRCxHQUFHLENBQUMsSUFBa0I7UUFDcEIsTUFBTSxDQUFDLElBQUksZ0JBQWdCLENBQUMsV0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQW1CLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFMUMsS0FBSyxLQUFJLENBQUM7Q0FDWDtBQWhCRCw0Q0FnQkM7QUFHRDtJQUFBO1FBVVcsU0FBSSxHQUFhLElBQUksZ0JBQWdCLENBQUMsZ0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBd0NqRSxDQUFDO0lBakRDLENBQUMsc0JBQVUsQ0FBQztRQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxLQUFLLENBQUMsTUFBWSxFQUFFLFNBQXlCLElBQVMsQ0FBQztJQUl2RCwwQ0FBMEM7SUFDMUMsTUFBTSxDQUFDLEtBQWEsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUMsS0FBYSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLEdBQUcsQ0FBQyxLQUFhLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkMsTUFBTSxDQUFDLElBQVksSUFBSSxNQUFNLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxnQkFBUyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxLQUFLLEtBQUksQ0FBQztJQUVWLGdDQUFnQztJQUNoQyxXQUFXLENBQUMsSUFBWTtRQUN0QixNQUFNLElBQUkscUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELFlBQVksQ0FBQyxNQUFzQjtRQUNqQyxNQUFNLElBQUkscUNBQXlCLENBQUMsTUFBTSxZQUFZLDZCQUFrQjtZQUN0RSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7WUFDYixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxJQUFJLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDNUIsTUFBTSxJQUFJLHFDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBWTtRQUNqQixNQUFNLElBQUkscUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFZLEVBQUUsUUFBeUI7UUFDNUMsTUFBTSxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDOUIsTUFBTSxJQUFJLHFDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxTQUFTLENBQUMsSUFBWSxFQUFFLFFBQXlCO1FBQy9DLE1BQU0sSUFBSSxxQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWUsRUFBRSxTQUF5QixJQUFTLENBQUM7SUFDMUQsSUFBSSxPQUFPO1FBQ1QsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQWxERCw0QkFrREMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge1xuICBCYXNlRXhjZXB0aW9uLFxuICBQYXRoLFxuICBQYXRoRnJhZ21lbnQsXG4gIGRpcm5hbWUsXG4gIGpvaW4sXG4gIG5vcm1hbGl6ZSxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbiB9IGZyb20gJy4uL2V4Y2VwdGlvbi9leGNlcHRpb24nO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgRGlyRW50cnksIE1lcmdlU3RyYXRlZ3ksIFRyZWUsIFRyZWVTeW1ib2wsIFVwZGF0ZVJlY29yZGVyIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlUmVjb3JkZXJCYXNlIH0gZnJvbSAnLi9yZWNvcmRlcic7XG5cblxuZXhwb3J0IGNsYXNzIENhbm5vdENyZWF0ZUZpbGVFeGNlcHRpb24gZXh0ZW5kcyBCYXNlRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IocGF0aDogc3RyaW5nKSB7IHN1cGVyKGBDYW5ub3QgY3JlYXRlIGZpbGUgXCIke3BhdGh9XCIuYCk7IH1cbn1cblxuXG5leHBvcnQgY2xhc3MgTnVsbFRyZWVEaXJFbnRyeSBpbXBsZW1lbnRzIERpckVudHJ5IHtcbiAgZ2V0IHBhcmVudCgpOiBEaXJFbnRyeSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBhdGggPT0gJy8nID8gbnVsbCA6IG5ldyBOdWxsVHJlZURpckVudHJ5KGRpcm5hbWUodGhpcy5wYXRoKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGF0aDogUGF0aCkge31cblxuICByZWFkb25seSBzdWJkaXJzOiBQYXRoRnJhZ21lbnRbXSA9IFtdO1xuICByZWFkb25seSBzdWJmaWxlczogUGF0aEZyYWdtZW50W10gPSBbXTtcblxuICBkaXIobmFtZTogUGF0aEZyYWdtZW50KTogRGlyRW50cnkge1xuICAgIHJldHVybiBuZXcgTnVsbFRyZWVEaXJFbnRyeShqb2luKHRoaXMucGF0aCwgbmFtZSkpO1xuICB9XG4gIGZpbGUoX25hbWU6IFBhdGhGcmFnbWVudCkgeyByZXR1cm4gbnVsbDsgfVxuXG4gIHZpc2l0KCkge31cbn1cblxuXG5leHBvcnQgY2xhc3MgTnVsbFRyZWUgaW1wbGVtZW50cyBUcmVlIHtcbiAgW1RyZWVTeW1ib2xdKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYnJhbmNoKCk6IFRyZWUge1xuICAgIHJldHVybiBuZXcgTnVsbFRyZWUoKTtcbiAgfVxuICBtZXJnZShfb3RoZXI6IFRyZWUsIF9zdHJhdGVneT86IE1lcmdlU3RyYXRlZ3kpOiB2b2lkIHt9XG5cbiAgcmVhZG9ubHkgcm9vdDogRGlyRW50cnkgPSBuZXcgTnVsbFRyZWVEaXJFbnRyeShub3JtYWxpemUoJy8nKSk7XG5cbiAgLy8gU2ltcGxlIHJlYWRvbmx5IGZpbGUgc3lzdGVtIG9wZXJhdGlvbnMuXG4gIGV4aXN0cyhfcGF0aDogc3RyaW5nKSB7IHJldHVybiBmYWxzZTsgfVxuICByZWFkKF9wYXRoOiBzdHJpbmcpIHsgcmV0dXJuIG51bGw7IH1cbiAgZ2V0KF9wYXRoOiBzdHJpbmcpIHsgcmV0dXJuIG51bGw7IH1cbiAgZ2V0RGlyKHBhdGg6IHN0cmluZykgeyByZXR1cm4gbmV3IE51bGxUcmVlRGlyRW50cnkobm9ybWFsaXplKCcvJyArIHBhdGgpKTsgfVxuICB2aXNpdCgpIHt9XG5cbiAgLy8gQ2hhbmdlIGNvbnRlbnQgb2YgaG9zdCBmaWxlcy5cbiAgYmVnaW5VcGRhdGUocGF0aDogc3RyaW5nKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICB9XG4gIGNvbW1pdFVwZGF0ZShyZWNvcmQ6IFVwZGF0ZVJlY29yZGVyKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHJlY29yZCBpbnN0YW5jZW9mIFVwZGF0ZVJlY29yZGVyQmFzZVxuICAgICAgPyByZWNvcmQucGF0aFxuICAgICAgOiAnPHVua25vd24+Jyk7XG4gIH1cblxuICAvLyBDaGFuZ2Ugc3RydWN0dXJlIG9mIHRoZSBob3N0LlxuICBjb3B5KHBhdGg6IHN0cmluZywgX3RvOiBzdHJpbmcpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gIH1cbiAgZGVsZXRlKHBhdGg6IHN0cmluZyk6IG5ldmVyIHtcbiAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgfVxuICBjcmVhdGUocGF0aDogc3RyaW5nLCBfY29udGVudDogQnVmZmVyIHwgc3RyaW5nKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBDYW5ub3RDcmVhdGVGaWxlRXhjZXB0aW9uKHBhdGgpO1xuICB9XG4gIHJlbmFtZShwYXRoOiBzdHJpbmcsIF90bzogc3RyaW5nKTogbmV2ZXIge1xuICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICB9XG4gIG92ZXJ3cml0ZShwYXRoOiBzdHJpbmcsIF9jb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gIH1cblxuICBhcHBseShfYWN0aW9uOiBBY3Rpb24sIF9zdHJhdGVneT86IE1lcmdlU3RyYXRlZ3kpOiB2b2lkIHt9XG4gIGdldCBhY3Rpb25zKCk6IEFjdGlvbltdIHtcbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiJdfQ==
|
package/src/tree/recorder.js
CHANGED
|
@@ -37,4 +37,4 @@ class UpdateRecorderBase {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
exports.UpdateRecorderBase = UpdateRecorderBase;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvaGFuc2wvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvdHJlZS9yZWNvcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILHNEQUFvRTtBQUNwRSw0REFBd0Q7QUFJeEQ7SUFLRSxZQUFZLEtBQWdCO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVqQyw2QkFBNkI7SUFDN0IsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUF3QjtRQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxPQUFPLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUYsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQXdCO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLE9BQU8sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3RixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZTtRQUNuQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsTUFBTSxJQUFJLHNDQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBdkNELGdEQXVDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IENvbnRlbnRIYXNNdXRhdGVkRXhjZXB0aW9uIH0gZnJvbSAnLi4vZXhjZXB0aW9uL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyBVcGRhdGVCdWZmZXIgfSBmcm9tICcuLi91dGlsaXR5L3VwZGF0ZS1idWZmZXInO1xuaW1wb3J0IHsgRmlsZUVudHJ5LCBVcGRhdGVSZWNvcmRlciB9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuXG5leHBvcnQgY2xhc3MgVXBkYXRlUmVjb3JkZXJCYXNlIGltcGxlbWVudHMgVXBkYXRlUmVjb3JkZXIge1xuICBwcm90ZWN0ZWQgX3BhdGg6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9vcmlnaW5hbDogQnVmZmVyO1xuICBwcm90ZWN0ZWQgX2NvbnRlbnQ6IFVwZGF0ZUJ1ZmZlcjtcblxuICBjb25zdHJ1Y3RvcihlbnRyeTogRmlsZUVudHJ5KSB7XG4gICAgdGhpcy5fb3JpZ2luYWwgPSBuZXcgQnVmZmVyKGVudHJ5LmNvbnRlbnQpO1xuICAgIHRoaXMuX2NvbnRlbnQgPSBuZXcgVXBkYXRlQnVmZmVyKGVudHJ5LmNvbnRlbnQpO1xuICAgIHRoaXMuX3BhdGggPSBlbnRyeS5wYXRoO1xuICB9XG5cbiAgZ2V0IHBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoOyB9XG5cbiAgLy8gVGhlc2UganVzdCByZWNvcmQgY2hhbmdlcy5cbiAgaW5zZXJ0TGVmdChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiBVcGRhdGVSZWNvcmRlciB7XG4gICAgdGhpcy5fY29udGVudC5pbnNlcnRMZWZ0KGluZGV4LCB0eXBlb2YgY29udGVudCA9PSAnc3RyaW5nJyA/IG5ldyBCdWZmZXIoY29udGVudCkgOiBjb250ZW50KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaW5zZXJ0UmlnaHQoaW5kZXg6IG51bWJlciwgY29udGVudDogQnVmZmVyIHwgc3RyaW5nKTogVXBkYXRlUmVjb3JkZXIge1xuICAgIHRoaXMuX2NvbnRlbnQuaW5zZXJ0UmlnaHQoaW5kZXgsIHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnID8gbmV3IEJ1ZmZlcihjb250ZW50KSA6IGNvbnRlbnQpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICByZW1vdmUoaW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiBVcGRhdGVSZWNvcmRlciB7XG4gICAgdGhpcy5fY29udGVudC5yZW1vdmUoaW5kZXgsIGxlbmd0aCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFwcGx5KGNvbnRlbnQ6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgaWYgKCFjb250ZW50LmVxdWFscyh0aGlzLl9jb250ZW50Lm9yaWdpbmFsKSkge1xuICAgICAgdGhyb3cgbmV3IENvbnRlbnRIYXNNdXRhdGVkRXhjZXB0aW9uKHRoaXMucGF0aCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQuZ2VuZXJhdGUoKTtcbiAgfVxufVxuIl19
|
package/src/tree/static.js
CHANGED
|
@@ -31,4 +31,4 @@ function optimize(tree) {
|
|
|
31
31
|
return virtual_1.VirtualTree.optimize(tree);
|
|
32
32
|
}
|
|
33
33
|
exports.optimize = optimize;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2hhbnNsL2RldmtpdC8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3RyZWUvc3RhdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7OztHQU1HO0FBQ0gseUNBQTBDO0FBQzFDLDJDQUFpRTtBQUNqRSx1Q0FBd0M7QUFHeEMsbUJBQTBCLE1BQU0sQ0FBQyxJQUFJLHFCQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFBckQsc0JBQXFEO0FBRXJELGdCQUF1QixJQUFVO0lBQy9CLE1BQU0sQ0FBQyxxQkFBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRkQsd0JBRUM7QUFFRCxlQUFzQixJQUFVLEVBQUUsS0FBVyxFQUFFLFdBQTBCLHlCQUFhLENBQUMsT0FBTztJQUM1RixNQUFNLENBQUMscUJBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRkQsc0JBRUM7QUFFRCxtQkFBMEIsSUFBVSxFQUFFLFNBQWlDO0lBQ3JFLE1BQU0sQ0FBQztRQUNMLElBQUksdUJBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO1FBQ2pDLElBQUksdUJBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDakUsQ0FBQztBQUNKLENBQUM7QUFMRCw4QkFLQztBQUVELGtCQUF5QixJQUFVO0lBQ2pDLE1BQU0sQ0FBQyxxQkFBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRkQsNEJBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgeyBGaWx0ZXJlZFRyZWUgfSBmcm9tICcuL2ZpbHRlcmVkJztcbmltcG9ydCB7IEZpbGVQcmVkaWNhdGUsIE1lcmdlU3RyYXRlZ3ksIFRyZWUgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBWaXJ0dWFsVHJlZSB9IGZyb20gJy4vdmlydHVhbCc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5KCkgeyByZXR1cm4gbmV3IFZpcnR1YWxUcmVlKCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyYW5jaCh0cmVlOiBUcmVlKSB7XG4gIHJldHVybiBWaXJ0dWFsVHJlZS5icmFuY2godHJlZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZSh0cmVlOiBUcmVlLCBvdGhlcjogVHJlZSwgc3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3kgPSBNZXJnZVN0cmF0ZWd5LkRlZmF1bHQpIHtcbiAgcmV0dXJuIFZpcnR1YWxUcmVlLm1lcmdlKHRyZWUsIG90aGVyLCBzdHJhdGVneSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJ0aXRpb24odHJlZTogVHJlZSwgcHJlZGljYXRlOiBGaWxlUHJlZGljYXRlPGJvb2xlYW4+KTogW1RyZWUsIFRyZWVdIHtcbiAgcmV0dXJuIFtcbiAgICBuZXcgRmlsdGVyZWRUcmVlKHRyZWUsIHByZWRpY2F0ZSksXG4gICAgbmV3IEZpbHRlcmVkVHJlZSh0cmVlLCAocGF0aCwgZW50cnkpID0+ICFwcmVkaWNhdGUocGF0aCwgZW50cnkpKSxcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGltaXplKHRyZWU6IFRyZWUpIHtcbiAgcmV0dXJuIFZpcnR1YWxUcmVlLm9wdGltaXplKHRyZWUpO1xufVxuIl19
|
package/src/tree/virtual.js
CHANGED
|
@@ -314,4 +314,4 @@ class VirtualTree {
|
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
exports.VirtualTree = VirtualTree;
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC5qcyIsInNvdXJjZVJvb3QiOiIvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsZXhlYWdsZS9Qcm9qZWN0cy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL3ZpcnR1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FROEI7QUFDOUIsc0RBTWdDO0FBQ2hDLHFDQUFzRTtBQUN0RSxtQ0FBMEM7QUFDMUMsMkNBU3FCO0FBQ3JCLHlDQUFnRDtBQUdoRDtJQUdFLFlBQXNCLEtBQWtCLEVBQVksUUFBYyxnQkFBUyxDQUFDLEdBQUcsQ0FBQztRQUExRCxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFGdEUsYUFBUSxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO0lBRTRCLENBQUM7SUFFMUUsVUFBVSxDQUFDLElBQWtCO1FBQ3JDLE1BQU0sQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxJQUFJLE9BQU87UUFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxD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QUFhLENBQUMsT0FBTztRQUNoRSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVE7UUFDTiw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVSxFQUFFLEtBQVcsRUFBRSxXQUEwQix5QkFBYSxDQUFDLE9BQU87UUFDbkYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRS9CLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBVTtRQUN4QixNQUFNLE9BQU8sR0FBSSxJQUFvQixDQUFDLE1BQU0sRUFBaUIsQ0FBQztRQUM5RCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUE5UUQsa0NBOFFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtcbiAgUGF0aCxcbiAgUGF0aEZyYWdtZW50LFxuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgam9pbixcbiAgbm9ybWFsaXplLFxuICBzcGxpdCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udGVudEhhc011dGF0ZWRFeGNlcHRpb24sXG4gIEZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb24sXG4gIEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIEludmFsaWRVcGRhdGVSZWNvcmRFeGNlcHRpb24sXG4gIE1lcmdlQ29uZmxpY3RFeGNlcHRpb24sXG59IGZyb20gJy4uL2V4Y2VwdGlvbi9leGNlcHRpb24nO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25MaXN0LCBVbmtub3duQWN0aW9uRXhjZXB0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgU2ltcGxlRmlsZUVudHJ5IH0gZnJvbSAnLi9lbnRyeSc7XG5pbXBvcnQge1xuICBEaXJFbnRyeSxcbiAgRmlsZUVudHJ5LFxuICBGaWxlVmlzaXRvcixcbiAgRmlsZVZpc2l0b3JDYW5jZWxUb2tlbixcbiAgTWVyZ2VTdHJhdGVneSxcbiAgVHJlZSxcbiAgVHJlZVN5bWJvbCxcbiAgVXBkYXRlUmVjb3JkZXIsXG59IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVJlY29yZGVyQmFzZSB9IGZyb20gJy4vcmVjb3JkZXInO1xuXG5cbmV4cG9ydCBjbGFzcyBWaXJ0dWFsRGlyRW50cnkgaW1wbGVtZW50cyBEaXJFbnRyeSB7XG4gIHByb3RlY3RlZCBfc3ViZGlycyA9IG5ldyBNYXA8UGF0aEZyYWdtZW50LCBEaXJFbnRyeT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3RyZWU6IFZpcnR1YWxUcmVlLCBwcm90ZWN0ZWQgX3BhdGg6IFBhdGggPSBub3JtYWxpemUoJy8nKSkge31cblxuICBwcm90ZWN0ZWQgX2NyZWF0ZURpcihuYW1lOiBQYXRoRnJhZ21lbnQpOiBEaXJFbnRyeSB7XG4gICAgcmV0dXJuIG5ldyBWaXJ0dWFsRGlyRW50cnkodGhpcy5fdHJlZSwgam9pbih0aGlzLl9wYXRoLCBuYW1lKSk7XG4gIH1cblxuICBnZXQgcGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9wYXRoID09ICcvJyA/IG51bGwgOiB0aGlzLl90cmVlLmdldERpcihkaXJuYW1lKHRoaXMuX3BhdGgpKTtcbiAgfVxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH1cbiAgZ2V0IHN1YmRpcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUuZmlsZXNcbiAgICAgICAgICAgICAgIC5maWx0ZXIocGF0aCA9PiBwYXRoLnN0YXJ0c1dpdGgodGhpcy5fcGF0aCkgJiYgZGlybmFtZShwYXRoKSAhPSB0aGlzLl9wYXRoKVxuICAgICAgICAgICAgICAgLm1hcChwYXRoID0+IGJhc2VuYW1lKHBhdGgpKTtcbiAgfVxuICBnZXQgc3ViZmlsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUuZmlsZXNcbiAgICAgICAgICAgICAgIC5maWx0ZXIocGF0aCA9PiBwYXRoLnN0YXJ0c1dpdGgodGhpcy5fcGF0aCkgJiYgZGlybmFtZShwYXRoKSA9PSB0aGlzLl9wYXRoKVxuICAgICAgICAgICAgICAgLm1hcChwYXRoID0+IGJhc2VuYW1lKHBhdGgpKTtcbiAgfVxuXG4gIGRpcihuYW1lOiBQYXRoRnJhZ21lbnQpIHtcbiAgICBsZXQgbWF5YmUgPSB0aGlzLl9zdWJkaXJzLmdldChuYW1lKTtcbiAgICBpZiAoIW1heWJlKSB7XG4gICAgICB0aGlzLl9zdWJkaXJzLnNldChuYW1lLCBtYXliZSA9IHRoaXMuX2NyZWF0ZURpcihuYW1lKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1heWJlO1xuICB9XG4gIGZpbGUobmFtZTogUGF0aEZyYWdtZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUuZ2V0KGpvaW4odGhpcy5fcGF0aCwgbmFtZSkpO1xuICB9XG5cbiAgdmlzaXQodmlzaXRvcjogRmlsZVZpc2l0b3IpIHtcbiAgICBmdW5jdGlvbiBfcmVjdXJzZShlbnRyeTogVmlydHVhbERpckVudHJ5KSB7XG4gICAgICBlbnRyeS5zdWJmaWxlcy5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgICB2aXNpdG9yKGpvaW4oZW50cnkuX3BhdGgsIHBhdGgpLCBlbnRyeS5maWxlKHBhdGgpKTtcbiAgICAgIH0pO1xuICAgICAgZW50cnkuc3ViZGlycy5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgICBfcmVjdXJzZShlbnRyeS5kaXIocGF0aCkgYXMgVmlydHVhbERpckVudHJ5KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBfcmVjdXJzZSh0aGlzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZSAhPT0gRmlsZVZpc2l0b3JDYW5jZWxUb2tlbikge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogVGhlIHJvb3QgY2xhc3Mgb2YgbW9zdCB0cmVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZpcnR1YWxUcmVlIGltcGxlbWVudHMgVHJlZSB7XG4gIHByb3RlY3RlZCBfYWN0aW9ucyA9IG5ldyBBY3Rpb25MaXN0KCk7XG4gIHByb3RlY3RlZCBfY2FjaGVNYXAgPSBuZXcgTWFwPFBhdGgsIEZpbGVFbnRyeT4oKTtcbiAgcHJvdGVjdGVkIF9yb290ID0gbmV3IFZpcnR1YWxEaXJFbnRyeSh0aGlzKTtcbiAgcHJvdGVjdGVkIF90cmVlID0gbmV3IE1hcDxQYXRoLCBGaWxlRW50cnk+KCk7XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSB0aGUgcGF0aC4gTWFkZSBhdmFpbGFibGUgdG8gc3ViY2xhc3NlcyB0byBvdmVybG9hZC5cbiAgICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBIHBhdGggdGhhdCBpcyByZXNvbHZlZCBhbmQgbm9ybWFsaXplZC5cbiAgICovXG4gIHByb3RlY3RlZCBfbm9ybWFsaXplUGF0aChwYXRoOiBzdHJpbmcpOiBQYXRoIHtcbiAgICByZXR1cm4gbm9ybWFsaXplKCcvJyArIHBhdGgpO1xuICB9XG4gIHByb3RlY3RlZCBnZXQgdHJlZSgpOiBSZWFkb25seU1hcDxQYXRoLCBGaWxlRW50cnk+IHsgcmV0dXJuIHRoaXMuX3RyZWU7IH1cbiAgZ2V0IHN0YWdpbmcoKTogUmVhZG9ubHlNYXA8UGF0aCwgRmlsZUVudHJ5PiB7IHJldHVybiB0aGlzLl9jYWNoZU1hcDsgfVxuXG4gIFtUcmVlU3ltYm9sXSgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZmlsZSBuYW1lcyBjb250YWluZWQgYnkgdGhpcyBUcmVlLlxuICAgKiBAcmV0dXJucyB7W3N0cmluZ119IEZpbGUgcGF0aHMuXG4gICAqL1xuICBnZXQgZmlsZXMoKTogUGF0aFtdIHtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQ8UGF0aD4oWy4uLnRoaXMudHJlZS5rZXlzKCksIC4uLnRoaXMuX2NhY2hlTWFwLmtleXMoKV0pLnZhbHVlcygpXTtcbiAgfVxuXG4gIGdldCByb290KCk6IERpckVudHJ5IHsgcmV0dXJuIHRoaXMuX3Jvb3Q7IH1cblxuICBnZXQocGF0aDogc3RyaW5nKTogRmlsZUVudHJ5IHwgbnVsbCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSB0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlTWFwLmdldChub3JtYWxpemVkUGF0aCkgfHwgdGhpcy50cmVlLmdldChub3JtYWxpemVkUGF0aCkgfHwgbnVsbDtcbiAgfVxuICBoYXMocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KHBhdGgpICE9IG51bGw7XG4gIH1cbiAgc2V0KGVudHJ5OiBGaWxlRW50cnkpIHtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVNYXAuc2V0KGVudHJ5LnBhdGgsIGVudHJ5KTtcbiAgfVxuXG4gIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMocGF0aCk7XG4gIH1cblxuICByZWFkKHBhdGg6IHN0cmluZyk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG5cbiAgICByZXR1cm4gZW50cnkgPyBlbnRyeS5jb250ZW50IDogbnVsbDtcbiAgfVxuXG4gIGdldERpcihwYXRoOiBzdHJpbmcpOiBEaXJFbnRyeSB7XG4gICAgbGV0IGRpcjogRGlyRW50cnkgPSB0aGlzLnJvb3Q7XG4gICAgc3BsaXQodGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKSkuc2xpY2UoMSkuZm9yRWFjaChmcmFnbWVudCA9PiB7XG4gICAgICBkaXIgPSBkaXIuZGlyKGZyYWdtZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaXI7XG4gIH1cblxuICB2aXNpdCh2aXNpdG9yOiBGaWxlVmlzaXRvcikge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmZpbGVzLmZvckVhY2gocGF0aCA9PiB2aXNpdG9yKHBhdGgsIHRoaXMuZ2V0KHBhdGgpKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgIT09IEZpbGVWaXNpdG9yQ2FuY2VsVG9rZW4pIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBiZWdpblVwZGF0ZShwYXRoOiBzdHJpbmcpOiBVcGRhdGVSZWNvcmRlciB7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmdldChwYXRoKTtcbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFVwZGF0ZVJlY29yZGVyQmFzZShlbnRyeSk7XG4gIH1cblxuICBjb21taXRVcGRhdGUocmVjb3JkOiBVcGRhdGVSZWNvcmRlcikge1xuICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBVcGRhdGVSZWNvcmRlckJhc2UpIHtcbiAgICAgIGNvbnN0IHBhdGggPSByZWNvcmQucGF0aDtcbiAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG4gICAgICBpZiAoIWVudHJ5KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50SGFzTXV0YXRlZEV4Y2VwdGlvbihwYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSByZWNvcmQuYXBwbHkoZW50cnkuY29udGVudCk7XG4gICAgICAgIHRoaXMub3ZlcndyaXRlKHBhdGgsIG5ld0NvbnRlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFVwZGF0ZVJlY29yZEV4Y2VwdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJ3cml0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRUbyA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnKSB7XG4gICAgICBjb250ZW50ID0gbmV3IEJ1ZmZlcihjb250ZW50LCAndXRmLTgnKTtcbiAgICB9XG4gICAgY29uc3QgbWF5YmVFbnRyeSA9IHRoaXMuZ2V0KG5vcm1hbGl6ZWRUbyk7XG4gICAgaWYgKG1heWJlRW50cnkgJiYgbWF5YmVFbnRyeS5jb250ZW50LmVxdWFscyhjb250ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vdmVyd3JpdGUobm9ybWFsaXplZFRvLCBjb250ZW50KTtcbiAgfVxuICBjcmVhdGUocGF0aDogc3RyaW5nLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkVG8gPSB0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpO1xuICAgIGlmICh0eXBlb2YgY29udGVudCA9PSAnc3RyaW5nJykge1xuICAgICAgY29udGVudCA9IG5ldyBCdWZmZXIoY29udGVudCk7XG4gICAgfVxuICAgIHRoaXMuX2NyZWF0ZShub3JtYWxpemVkVG8sIGNvbnRlbnQpO1xuICB9XG4gIHJlbmFtZShwYXRoOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFRvID0gdGhpcy5fbm9ybWFsaXplUGF0aCh0byk7XG4gICAgaWYgKG5vcm1hbGl6ZWRQYXRoID09PSBub3JtYWxpemVkVG8pIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gZG8uXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlbmFtZShub3JtYWxpemVkUGF0aCwgbm9ybWFsaXplZFRvKTtcbiAgfVxuXG4gIGRlbGV0ZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9kZWxldGUodGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX292ZXJ3cml0ZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIsIGFjdGlvbj86IEFjdGlvbikge1xuICAgIGlmICghdGhpcy5oYXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cbiAgICAvLyBVcGRhdGUgdGhlIGFjdGlvbiBidWZmZXIuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMub3ZlcndyaXRlKHBhdGgsIGNvbnRlbnQpO1xuICAgIH1cbiAgICB0aGlzLnNldChuZXcgU2ltcGxlRmlsZUVudHJ5KHBhdGgsIGNvbnRlbnQpKTtcbiAgfVxuICBwcm90ZWN0ZWQgX2NyZWF0ZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIsIGFjdGlvbj86IEFjdGlvbikge1xuICAgIGlmICh0aGlzLl9jYWNoZU1hcC5oYXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLmNyZWF0ZShwYXRoLCBjb250ZW50KTtcbiAgICB9XG4gICAgdGhpcy5zZXQobmV3IFNpbXBsZUZpbGVFbnRyeShwYXRoLCBjb250ZW50IGFzIEJ1ZmZlcikpO1xuICB9XG4gIHByb3RlY3RlZCBfcmVuYW1lKHBhdGg6IFBhdGgsIHRvOiBQYXRoLCBhY3Rpb24/OiBBY3Rpb24sIGZvcmNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZ2V0KHBhdGgpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY2FjaGVNYXAuaGFzKHRvKSAmJiAhZm9yY2UpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHRvKTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aW9ucy5yZW5hbWUocGF0aCwgdG8pO1xuICAgIH1cblxuICAgIHRoaXMuc2V0KG5ldyBTaW1wbGVGaWxlRW50cnkodG8sIGVudHJ5LmNvbnRlbnQpKTtcbiAgICB0aGlzLl9jYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9kZWxldGUocGF0aDogUGF0aCwgYWN0aW9uPzogQWN0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmhhcyhwYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMuZGVsZXRlKHBhdGgpO1xuICAgIH1cbiAgICB0aGlzLl9jYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIH1cblxuXG4gIGFwcGx5KGFjdGlvbjogQWN0aW9uLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSkge1xuICAgIGlmICh0aGlzLl9hY3Rpb25zLmhhcyhhY3Rpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoYWN0aW9uLmtpbmQpIHtcbiAgICAgIGNhc2UgJ28nOlxuICAgICAgICAvLyBVcGRhdGUgdGhlIGFjdGlvbiBidWZmZXIuXG4gICAgICAgIHRoaXMuX292ZXJ3cml0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdjJzpcbiAgICAgICAgaWYgKHRoaXMuX2NhY2hlTWFwLmhhcyhhY3Rpb24ucGF0aCkpIHtcbiAgICAgICAgICBzd2l0Y2ggKHN0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjYXNlIE1lcmdlU3RyYXRlZ3kuRXJyb3I6IHRocm93IG5ldyBNZXJnZUNvbmZsaWN0RXhjZXB0aW9uKGFjdGlvbi5wYXRoKTtcbiAgICAgICAgICAgIGNhc2UgTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGU6XG4gICAgICAgICAgICAgIHRoaXMuX292ZXJ3cml0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoYWN0aW9uLnBhdGgsIGFjdGlvbi5jb250ZW50LCBhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyJzpcbiAgICAgICAgY29uc3QgZm9yY2UgPSAoc3RyYXRlZ3kgJiBNZXJnZVN0cmF0ZWd5LkFsbG93T3ZlcndyaXRlQ29uZmxpY3QpICE9IDA7XG4gICAgICAgIHRoaXMuX3JlbmFtZShhY3Rpb24ucGF0aCwgYWN0aW9uLnRvLCBhY3Rpb24sIGZvcmNlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2QnOiB0aGlzLl9kZWxldGUoYWN0aW9uLnBhdGgsIGFjdGlvbik7IGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgVW5rbm93bkFjdGlvbkV4Y2VwdGlvbihhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybnMgYW4gb3JkZXJlZCBsaXN0IG9mIEFjdGlvbiB0byBnZXQgdGhpcyBob3N0LlxuICBnZXQgYWN0aW9ucygpOiBBY3Rpb25bXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9hY3Rpb25zXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBzdWJjbGFzc2VzIHRvIGNvcHkgdG8gYSB0cmVlIHRoZWlyIG93biBwcm9wZXJ0aWVzLlxuICAgKiBAcmV0dXJuIHtUcmVlfVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9jb3B5VG88VCBleHRlbmRzIFZpcnR1YWxUcmVlPih0cmVlOiBUKTogdm9pZCB7XG4gICAgdHJlZS5fdHJlZSA9IG5ldyBNYXAodGhpcy50cmVlKTtcbiAgICB0aGlzLl9hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHRyZWUuX2FjdGlvbnMucHVzaChhY3Rpb24pKTtcbiAgICBbLi4udGhpcy5fY2FjaGVNYXAuZW50cmllcygpXS5mb3JFYWNoKChbcGF0aCwgZW50cnldKSA9PiB7XG4gICAgICB0cmVlLl9jYWNoZU1hcC5zZXQocGF0aCwgZW50cnkpO1xuICAgIH0pO1xuICB9XG5cbiAgYnJhbmNoKCk6IFRyZWUge1xuICAgIGNvbnN0IG5ld1RyZWUgPSBuZXcgVmlydHVhbFRyZWUoKTtcbiAgICB0aGlzLl9jb3B5VG8obmV3VHJlZSk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxuXG4gIC8vIENyZWF0ZXMgYSBuZXcgaG9zdCBmcm9tIDIgaG9zdHMuXG4gIG1lcmdlKG90aGVyOiBUcmVlLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCkge1xuICAgIG90aGVyLmFjdGlvbnMuZm9yRWFjaChhY3Rpb24gPT4gdGhpcy5hcHBseShhY3Rpb24sIHN0cmF0ZWd5KSk7XG4gIH1cblxuICBvcHRpbWl6ZSgpIHtcbiAgICAvLyBUaGlzIGRlc3Ryb3lzIHRoZSBoaXN0b3J5LiBIb3BlIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLlxuICAgIHRoaXMuX2FjdGlvbnMub3B0aW1pemUoKTtcbiAgfVxuXG4gIHN0YXRpYyBicmFuY2godHJlZTogVHJlZSkge1xuICAgIHJldHVybiB0cmVlLmJyYW5jaCgpO1xuICB9XG5cbiAgc3RhdGljIG1lcmdlKHRyZWU6IFRyZWUsIG90aGVyOiBUcmVlLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCk6IFRyZWUge1xuICAgIGNvbnN0IG5ld1RyZWUgPSB0cmVlLmJyYW5jaCgpO1xuICAgIG5ld1RyZWUubWVyZ2Uob3RoZXIsIHN0cmF0ZWd5KTtcblxuICAgIHJldHVybiBuZXdUcmVlO1xuICB9XG5cbiAgc3RhdGljIG9wdGltaXplKHRyZWU6IFRyZWUpIHtcbiAgICBjb25zdCBuZXdUcmVlID0gKHRyZWUgYXMgVmlydHVhbFRyZWUpLmJyYW5jaCgpIGFzIFZpcnR1YWxUcmVlO1xuICAgIG5ld1RyZWUub3B0aW1pemUoKTtcblxuICAgIHJldHVybiBuZXdUcmVlO1xuICB9XG59XG4iXX0=
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9oYW5zbC9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL3ZpcnR1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FROEI7QUFDOUIsc0RBTWdDO0FBQ2hDLHFDQUFzRTtBQUN0RSxtQ0FBMEM7QUFDMUMsMkNBU3FCO0FBQ3JCLHlDQUFnRDtBQUdoRDtJQUdFLFlBQXNCLEtBQWtCLEVBQVksUUFBYyxnQkFBUyxDQUFDLEdBQUcsQ0FBQztRQUExRCxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFGdEUsYUFBUSxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO0lBRTRCLENBQUM7SUFFMUUsVUFBVSxDQUFDLElBQWtCO1FBQ3JDLE1BQU0sQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxJQUFJLE9BQU87UUFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJ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QUNoRSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVE7UUFDTiw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVSxFQUFFLEtBQVcsRUFBRSxXQUEwQix5QkFBYSxDQUFDLE9BQU87UUFDbkYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRS9CLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBVTtRQUN4QixNQUFNLE9BQU8sR0FBSSxJQUFvQixDQUFDLE1BQU0sRUFBaUIsQ0FBQztRQUM5RCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUE5UUQsa0NBOFFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtcbiAgUGF0aCxcbiAgUGF0aEZyYWdtZW50LFxuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgam9pbixcbiAgbm9ybWFsaXplLFxuICBzcGxpdCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udGVudEhhc011dGF0ZWRFeGNlcHRpb24sXG4gIEZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb24sXG4gIEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIEludmFsaWRVcGRhdGVSZWNvcmRFeGNlcHRpb24sXG4gIE1lcmdlQ29uZmxpY3RFeGNlcHRpb24sXG59IGZyb20gJy4uL2V4Y2VwdGlvbi9leGNlcHRpb24nO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25MaXN0LCBVbmtub3duQWN0aW9uRXhjZXB0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgU2ltcGxlRmlsZUVudHJ5IH0gZnJvbSAnLi9lbnRyeSc7XG5pbXBvcnQge1xuICBEaXJFbnRyeSxcbiAgRmlsZUVudHJ5LFxuICBGaWxlVmlzaXRvcixcbiAgRmlsZVZpc2l0b3JDYW5jZWxUb2tlbixcbiAgTWVyZ2VTdHJhdGVneSxcbiAgVHJlZSxcbiAgVHJlZVN5bWJvbCxcbiAgVXBkYXRlUmVjb3JkZXIsXG59IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVJlY29yZGVyQmFzZSB9IGZyb20gJy4vcmVjb3JkZXInO1xuXG5cbmV4cG9ydCBjbGFzcyBWaXJ0dWFsRGlyRW50cnkgaW1wbGVtZW50cyBEaXJFbnRyeSB7XG4gIHByb3RlY3RlZCBfc3ViZGlycyA9IG5ldyBNYXA8UGF0aEZyYWdtZW50LCBEaXJFbnRyeT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3RyZWU6IFZpcnR1YWxUcmVlLCBwcm90ZWN0ZWQgX3BhdGg6IFBhdGggPSBub3JtYWxpemUoJy8nKSkge31cblxuICBwcm90ZWN0ZWQgX2NyZWF0ZURpcihuYW1lOiBQYXRoRnJhZ21lbnQpOiBEaXJFbnRyeSB7XG4gICAgcmV0dXJuIG5ldyBWaXJ0dWFsRGlyRW50cnkodGhpcy5fdHJlZSwgam9pbih0aGlzLl9wYXRoLCBuYW1lKSk7XG4gIH1cblxuICBnZXQgcGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9wYXRoID09ICcvJyA/IG51bGwgOiB0aGlzLl90cmVlLmdldERpcihkaXJuYW1lKHRoaXMuX3BhdGgpKTtcbiAgfVxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH1cbiAgZ2V0IHN1YmRpcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUuZmlsZXNcbiAgICAgICAgICAgICAgIC5maWx0ZXIocGF0aCA9PiBwYXRoLnN0YXJ0c1dpdGgodGhpcy5fcGF0aCkgJiYgZGlybmFtZShwYXRoKSAhPSB0aGlzLl9wYXRoKVxuICAgICAgICAgICAgICAgLm1hcChwYXRoID0+IGJhc2VuYW1lKHBhdGgpKTtcbiAgfVxuICBnZXQgc3ViZmlsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUuZmlsZXNcbiAgICAgICAgICAgICAgIC5maWx0ZXIocGF0aCA9PiBwYXRoLnN0YXJ0c1dpdGgodGhpcy5fcGF0aCkgJiYgZGlybmFtZShwYXRoKSA9PSB0aGlzLl9wYXRoKVxuICAgICAgICAgICAgICAgLm1hcChwYXRoID0+IGJhc2VuYW1lKHBhdGgpKTtcbiAgfVxuXG4gIGRpcihuYW1lOiBQYXRoRnJhZ21lbnQpIHtcbiAgICBsZXQgbWF5YmUgPSB0aGlzLl9zdWJkaXJzLmdldChuYW1lKTtcbiAgICBpZiAoIW1heWJlKSB7XG4gICAgICB0aGlzLl9zdWJkaXJzLnNldChuYW1lLCBtYXliZSA9IHRoaXMuX2NyZWF0ZURpcihuYW1lKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1heWJlO1xuICB9XG4gIGZpbGUobmFtZTogUGF0aEZyYWdtZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWUuZ2V0KGpvaW4odGhpcy5fcGF0aCwgbmFtZSkpO1xuICB9XG5cbiAgdmlzaXQodmlzaXRvcjogRmlsZVZpc2l0b3IpIHtcbiAgICBmdW5jdGlvbiBfcmVjdXJzZShlbnRyeTogVmlydHVhbERpckVudHJ5KSB7XG4gICAgICBlbnRyeS5zdWJmaWxlcy5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgICB2aXNpdG9yKGpvaW4oZW50cnkuX3BhdGgsIHBhdGgpLCBlbnRyeS5maWxlKHBhdGgpKTtcbiAgICAgIH0pO1xuICAgICAgZW50cnkuc3ViZGlycy5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgICBfcmVjdXJzZShlbnRyeS5kaXIocGF0aCkgYXMgVmlydHVhbERpckVudHJ5KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBfcmVjdXJzZSh0aGlzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZSAhPT0gRmlsZVZpc2l0b3JDYW5jZWxUb2tlbikge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogVGhlIHJvb3QgY2xhc3Mgb2YgbW9zdCB0cmVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZpcnR1YWxUcmVlIGltcGxlbWVudHMgVHJlZSB7XG4gIHByb3RlY3RlZCBfYWN0aW9ucyA9IG5ldyBBY3Rpb25MaXN0KCk7XG4gIHByb3RlY3RlZCBfY2FjaGVNYXAgPSBuZXcgTWFwPFBhdGgsIEZpbGVFbnRyeT4oKTtcbiAgcHJvdGVjdGVkIF9yb290ID0gbmV3IFZpcnR1YWxEaXJFbnRyeSh0aGlzKTtcbiAgcHJvdGVjdGVkIF90cmVlID0gbmV3IE1hcDxQYXRoLCBGaWxlRW50cnk+KCk7XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSB0aGUgcGF0aC4gTWFkZSBhdmFpbGFibGUgdG8gc3ViY2xhc3NlcyB0byBvdmVybG9hZC5cbiAgICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBIHBhdGggdGhhdCBpcyByZXNvbHZlZCBhbmQgbm9ybWFsaXplZC5cbiAgICovXG4gIHByb3RlY3RlZCBfbm9ybWFsaXplUGF0aChwYXRoOiBzdHJpbmcpOiBQYXRoIHtcbiAgICByZXR1cm4gbm9ybWFsaXplKCcvJyArIHBhdGgpO1xuICB9XG4gIHByb3RlY3RlZCBnZXQgdHJlZSgpOiBSZWFkb25seU1hcDxQYXRoLCBGaWxlRW50cnk+IHsgcmV0dXJuIHRoaXMuX3RyZWU7IH1cbiAgZ2V0IHN0YWdpbmcoKTogUmVhZG9ubHlNYXA8UGF0aCwgRmlsZUVudHJ5PiB7IHJldHVybiB0aGlzLl9jYWNoZU1hcDsgfVxuXG4gIFtUcmVlU3ltYm9sXSgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZmlsZSBuYW1lcyBjb250YWluZWQgYnkgdGhpcyBUcmVlLlxuICAgKiBAcmV0dXJucyB7W3N0cmluZ119IEZpbGUgcGF0aHMuXG4gICAqL1xuICBnZXQgZmlsZXMoKTogUGF0aFtdIHtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQ8UGF0aD4oWy4uLnRoaXMudHJlZS5rZXlzKCksIC4uLnRoaXMuX2NhY2hlTWFwLmtleXMoKV0pLnZhbHVlcygpXTtcbiAgfVxuXG4gIGdldCByb290KCk6IERpckVudHJ5IHsgcmV0dXJuIHRoaXMuX3Jvb3Q7IH1cblxuICBnZXQocGF0aDogc3RyaW5nKTogRmlsZUVudHJ5IHwgbnVsbCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSB0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlTWFwLmdldChub3JtYWxpemVkUGF0aCkgfHwgdGhpcy50cmVlLmdldChub3JtYWxpemVkUGF0aCkgfHwgbnVsbDtcbiAgfVxuICBoYXMocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KHBhdGgpICE9IG51bGw7XG4gIH1cbiAgc2V0KGVudHJ5OiBGaWxlRW50cnkpIHtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVNYXAuc2V0KGVudHJ5LnBhdGgsIGVudHJ5KTtcbiAgfVxuXG4gIGV4aXN0cyhwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMocGF0aCk7XG4gIH1cblxuICByZWFkKHBhdGg6IHN0cmluZyk6IEJ1ZmZlciB8IG51bGwge1xuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG5cbiAgICByZXR1cm4gZW50cnkgPyBlbnRyeS5jb250ZW50IDogbnVsbDtcbiAgfVxuXG4gIGdldERpcihwYXRoOiBzdHJpbmcpOiBEaXJFbnRyeSB7XG4gICAgbGV0IGRpcjogRGlyRW50cnkgPSB0aGlzLnJvb3Q7XG4gICAgc3BsaXQodGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKSkuc2xpY2UoMSkuZm9yRWFjaChmcmFnbWVudCA9PiB7XG4gICAgICBkaXIgPSBkaXIuZGlyKGZyYWdtZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaXI7XG4gIH1cblxuICB2aXNpdCh2aXNpdG9yOiBGaWxlVmlzaXRvcikge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmZpbGVzLmZvckVhY2gocGF0aCA9PiB2aXNpdG9yKHBhdGgsIHRoaXMuZ2V0KHBhdGgpKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgIT09IEZpbGVWaXNpdG9yQ2FuY2VsVG9rZW4pIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBiZWdpblVwZGF0ZShwYXRoOiBzdHJpbmcpOiBVcGRhdGVSZWNvcmRlciB7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLmdldChwYXRoKTtcbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICB0aHJvdyBuZXcgRmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFVwZGF0ZVJlY29yZGVyQmFzZShlbnRyeSk7XG4gIH1cblxuICBjb21taXRVcGRhdGUocmVjb3JkOiBVcGRhdGVSZWNvcmRlcikge1xuICAgIGlmIChyZWNvcmQgaW5zdGFuY2VvZiBVcGRhdGVSZWNvcmRlckJhc2UpIHtcbiAgICAgIGNvbnN0IHBhdGggPSByZWNvcmQucGF0aDtcbiAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXQocGF0aCk7XG4gICAgICBpZiAoIWVudHJ5KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50SGFzTXV0YXRlZEV4Y2VwdGlvbihwYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSByZWNvcmQuYXBwbHkoZW50cnkuY29udGVudCk7XG4gICAgICAgIHRoaXMub3ZlcndyaXRlKHBhdGgsIG5ld0NvbnRlbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFVwZGF0ZVJlY29yZEV4Y2VwdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJ3cml0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRUbyA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnKSB7XG4gICAgICBjb250ZW50ID0gbmV3IEJ1ZmZlcihjb250ZW50LCAndXRmLTgnKTtcbiAgICB9XG4gICAgY29uc3QgbWF5YmVFbnRyeSA9IHRoaXMuZ2V0KG5vcm1hbGl6ZWRUbyk7XG4gICAgaWYgKG1heWJlRW50cnkgJiYgbWF5YmVFbnRyeS5jb250ZW50LmVxdWFscyhjb250ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vdmVyd3JpdGUobm9ybWFsaXplZFRvLCBjb250ZW50KTtcbiAgfVxuICBjcmVhdGUocGF0aDogc3RyaW5nLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkVG8gPSB0aGlzLl9ub3JtYWxpemVQYXRoKHBhdGgpO1xuICAgIGlmICh0eXBlb2YgY29udGVudCA9PSAnc3RyaW5nJykge1xuICAgICAgY29udGVudCA9IG5ldyBCdWZmZXIoY29udGVudCk7XG4gICAgfVxuICAgIHRoaXMuX2NyZWF0ZShub3JtYWxpemVkVG8sIGNvbnRlbnQpO1xuICB9XG4gIHJlbmFtZShwYXRoOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHRoaXMuX25vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFRvID0gdGhpcy5fbm9ybWFsaXplUGF0aCh0byk7XG4gICAgaWYgKG5vcm1hbGl6ZWRQYXRoID09PSBub3JtYWxpemVkVG8pIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gZG8uXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlbmFtZShub3JtYWxpemVkUGF0aCwgbm9ybWFsaXplZFRvKTtcbiAgfVxuXG4gIGRlbGV0ZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9kZWxldGUodGhpcy5fbm9ybWFsaXplUGF0aChwYXRoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX292ZXJ3cml0ZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIsIGFjdGlvbj86IEFjdGlvbikge1xuICAgIGlmICghdGhpcy5oYXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cbiAgICAvLyBVcGRhdGUgdGhlIGFjdGlvbiBidWZmZXIuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMub3ZlcndyaXRlKHBhdGgsIGNvbnRlbnQpO1xuICAgIH1cbiAgICB0aGlzLnNldChuZXcgU2ltcGxlRmlsZUVudHJ5KHBhdGgsIGNvbnRlbnQpKTtcbiAgfVxuICBwcm90ZWN0ZWQgX2NyZWF0ZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIsIGFjdGlvbj86IEFjdGlvbikge1xuICAgIGlmICh0aGlzLl9jYWNoZU1hcC5oYXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24pIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLmNyZWF0ZShwYXRoLCBjb250ZW50KTtcbiAgICB9XG4gICAgdGhpcy5zZXQobmV3IFNpbXBsZUZpbGVFbnRyeShwYXRoLCBjb250ZW50IGFzIEJ1ZmZlcikpO1xuICB9XG4gIHByb3RlY3RlZCBfcmVuYW1lKHBhdGg6IFBhdGgsIHRvOiBQYXRoLCBhY3Rpb24/OiBBY3Rpb24sIGZvcmNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZ2V0KHBhdGgpO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uKHBhdGgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY2FjaGVNYXAuaGFzKHRvKSAmJiAhZm9yY2UpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHRvKTtcbiAgICB9XG5cbiAgICBpZiAoYWN0aW9uKSB7XG4gICAgICB0aGlzLl9hY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aW9ucy5yZW5hbWUocGF0aCwgdG8pO1xuICAgIH1cblxuICAgIHRoaXMuc2V0KG5ldyBTaW1wbGVGaWxlRW50cnkodG8sIGVudHJ5LmNvbnRlbnQpKTtcbiAgICB0aGlzLl9jYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9kZWxldGUocGF0aDogUGF0aCwgYWN0aW9uPzogQWN0aW9uKSB7XG4gICAgaWYgKCF0aGlzLmhhcyhwYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IEZpbGVEb2VzTm90RXhpc3RFeGNlcHRpb24ocGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbikge1xuICAgICAgdGhpcy5fYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGlvbnMuZGVsZXRlKHBhdGgpO1xuICAgIH1cbiAgICB0aGlzLl9jYWNoZU1hcC5kZWxldGUocGF0aCk7XG4gIH1cblxuXG4gIGFwcGx5KGFjdGlvbjogQWN0aW9uLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSkge1xuICAgIGlmICh0aGlzLl9hY3Rpb25zLmhhcyhhY3Rpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoYWN0aW9uLmtpbmQpIHtcbiAgICAgIGNhc2UgJ28nOlxuICAgICAgICAvLyBVcGRhdGUgdGhlIGFjdGlvbiBidWZmZXIuXG4gICAgICAgIHRoaXMuX292ZXJ3cml0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdjJzpcbiAgICAgICAgaWYgKHRoaXMuX2NhY2hlTWFwLmhhcyhhY3Rpb24ucGF0aCkpIHtcbiAgICAgICAgICBzd2l0Y2ggKHN0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjYXNlIE1lcmdlU3RyYXRlZ3kuRXJyb3I6IHRocm93IG5ldyBNZXJnZUNvbmZsaWN0RXhjZXB0aW9uKGFjdGlvbi5wYXRoKTtcbiAgICAgICAgICAgIGNhc2UgTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGU6XG4gICAgICAgICAgICAgIHRoaXMuX292ZXJ3cml0ZShhY3Rpb24ucGF0aCwgYWN0aW9uLmNvbnRlbnQsIGFjdGlvbik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoYWN0aW9uLnBhdGgsIGFjdGlvbi5jb250ZW50LCBhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyJzpcbiAgICAgICAgY29uc3QgZm9yY2UgPSAoc3RyYXRlZ3kgJiBNZXJnZVN0cmF0ZWd5LkFsbG93T3ZlcndyaXRlQ29uZmxpY3QpICE9IDA7XG4gICAgICAgIHRoaXMuX3JlbmFtZShhY3Rpb24ucGF0aCwgYWN0aW9uLnRvLCBhY3Rpb24sIGZvcmNlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2QnOiB0aGlzLl9kZWxldGUoYWN0aW9uLnBhdGgsIGFjdGlvbik7IGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgVW5rbm93bkFjdGlvbkV4Y2VwdGlvbihhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybnMgYW4gb3JkZXJlZCBsaXN0IG9mIEFjdGlvbiB0byBnZXQgdGhpcyBob3N0LlxuICBnZXQgYWN0aW9ucygpOiBBY3Rpb25bXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9hY3Rpb25zXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBzdWJjbGFzc2VzIHRvIGNvcHkgdG8gYSB0cmVlIHRoZWlyIG93biBwcm9wZXJ0aWVzLlxuICAgKiBAcmV0dXJuIHtUcmVlfVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9jb3B5VG88VCBleHRlbmRzIFZpcnR1YWxUcmVlPih0cmVlOiBUKTogdm9pZCB7XG4gICAgdHJlZS5fdHJlZSA9IG5ldyBNYXAodGhpcy50cmVlKTtcbiAgICB0aGlzLl9hY3Rpb25zLmZvckVhY2goYWN0aW9uID0+IHRyZWUuX2FjdGlvbnMucHVzaChhY3Rpb24pKTtcbiAgICBbLi4udGhpcy5fY2FjaGVNYXAuZW50cmllcygpXS5mb3JFYWNoKChbcGF0aCwgZW50cnldKSA9PiB7XG4gICAgICB0cmVlLl9jYWNoZU1hcC5zZXQocGF0aCwgZW50cnkpO1xuICAgIH0pO1xuICB9XG5cbiAgYnJhbmNoKCk6IFRyZWUge1xuICAgIGNvbnN0IG5ld1RyZWUgPSBuZXcgVmlydHVhbFRyZWUoKTtcbiAgICB0aGlzLl9jb3B5VG8obmV3VHJlZSk7XG5cbiAgICByZXR1cm4gbmV3VHJlZTtcbiAgfVxuXG4gIC8vIENyZWF0ZXMgYSBuZXcgaG9zdCBmcm9tIDIgaG9zdHMuXG4gIG1lcmdlKG90aGVyOiBUcmVlLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCkge1xuICAgIG90aGVyLmFjdGlvbnMuZm9yRWFjaChhY3Rpb24gPT4gdGhpcy5hcHBseShhY3Rpb24sIHN0cmF0ZWd5KSk7XG4gIH1cblxuICBvcHRpbWl6ZSgpIHtcbiAgICAvLyBUaGlzIGRlc3Ryb3lzIHRoZSBoaXN0b3J5LiBIb3BlIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLlxuICAgIHRoaXMuX2FjdGlvbnMub3B0aW1pemUoKTtcbiAgfVxuXG4gIHN0YXRpYyBicmFuY2godHJlZTogVHJlZSkge1xuICAgIHJldHVybiB0cmVlLmJyYW5jaCgpO1xuICB9XG5cbiAgc3RhdGljIG1lcmdlKHRyZWU6IFRyZWUsIG90aGVyOiBUcmVlLCBzdHJhdGVneTogTWVyZ2VTdHJhdGVneSA9IE1lcmdlU3RyYXRlZ3kuRGVmYXVsdCk6IFRyZWUge1xuICAgIGNvbnN0IG5ld1RyZWUgPSB0cmVlLmJyYW5jaCgpO1xuICAgIG5ld1RyZWUubWVyZ2Uob3RoZXIsIHN0cmF0ZWd5KTtcblxuICAgIHJldHVybiBuZXdUcmVlO1xuICB9XG5cbiAgc3RhdGljIG9wdGltaXplKHRyZWU6IFRyZWUpIHtcbiAgICBjb25zdCBuZXdUcmVlID0gKHRyZWUgYXMgVmlydHVhbFRyZWUpLmJyYW5jaCgpIGFzIFZpcnR1YWxUcmVlO1xuICAgIG5ld1RyZWUub3B0aW1pemUoKTtcblxuICAgIHJldHVybiBuZXdUcmVlO1xuICB9XG59XG4iXX0=
|
|
@@ -63,4 +63,4 @@ class LinkedList {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
exports.LinkedList = LinkedList;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWxpc3QuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvaGFuc2wvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvdXRpbGl0eS9saW5rZWQtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVIO0lBQ0UsWUFBb0IsS0FBUTtRQUFSLFVBQUssR0FBTCxLQUFLLENBQUc7SUFBRyxDQUFDO0lBRWhDLEdBQUcsQ0FBQyxDQUFTO1FBQ1gsSUFBSSxDQUFDLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEIsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxJQUFJLE1BQU07UUFDUixJQUFJLENBQUMsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsTUFBTSxDQUFJLFdBQW9ELEVBQUUsSUFBTztRQUNyRSxJQUFJLENBQUMsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksQ0FBQyxTQUFnRDtRQUNuRCxJQUFJLENBQUMsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsS0FBSyxDQUFDO1lBQ1IsQ0FBQztZQUNELENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBMkM7UUFDakQsSUFBSSxDQUFDLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNkLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDYixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBN0RELGdDQTZEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IGNsYXNzIExpbmtlZExpc3Q8VCBleHRlbmRzIHtuZXh0OiBUIHwgbnVsbH0+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaGVhZDogVCkge31cblxuICBnZXQobDogbnVtYmVyKSB7XG4gICAgbGV0IGM6IFQgfCBudWxsID0gdGhpcy5faGVhZDtcbiAgICB3aGlsZSAoYyAmJiBsID4gMCkge1xuICAgICAgbC0tO1xuICAgICAgYyA9IGMubmV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIGdldCBoZWFkKCkgeyByZXR1cm4gdGhpcy5faGVhZDsgfVxuICBnZXQgbGVuZ3RoKCkge1xuICAgIGxldCBjOiBUIHwgbnVsbCA9IHRoaXMuX2hlYWQ7XG4gICAgbGV0IGkgPSAwO1xuICAgIHdoaWxlIChjKSB7XG4gICAgICBpKys7XG4gICAgICBjID0gYy5uZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBpO1xuICB9XG5cbiAgcmVkdWNlPFI+KGFjY3VtdWxhdG9yOiAoYWNjOiBSLCB2YWx1ZTogVCwgaW5kZXg/OiBudW1iZXIpID0+IFIsIHNlZWQ6IFIpIHtcbiAgICBsZXQgYzogVCB8IG51bGwgPSB0aGlzLl9oZWFkO1xuICAgIGxldCBhY2MgPSBzZWVkO1xuICAgIGxldCBpID0gMDtcbiAgICB3aGlsZSAoYykge1xuICAgICAgYWNjID0gYWNjdW11bGF0b3IoYWNjLCBjLCBpKTtcbiAgICAgIGkrKztcbiAgICAgIGMgPSBjLm5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfVxuXG4gIGZpbmQocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4PzogbnVtYmVyKSA9PiBib29sZWFuKSB7XG4gICAgbGV0IGM6IFQgfCBudWxsID0gdGhpcy5faGVhZDtcbiAgICBsZXQgaSA9IDA7XG4gICAgd2hpbGUgKGMpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUoYywgaSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpKys7XG4gICAgICBjID0gYy5uZXh0O1xuICAgIH1cblxuICAgIHJldHVybiBjO1xuICB9XG5cbiAgZm9yRWFjaCh2aXNpdG9yOiAodmFsdWU6IFQsIGluZGV4PzogbnVtYmVyKSA9PiB2b2lkKSB7XG4gICAgbGV0IGM6IFQgfCBudWxsID0gdGhpcy5faGVhZDtcbiAgICBsZXQgaSA9IDA7XG4gICAgd2hpbGUgKGMpIHtcbiAgICAgIHZpc2l0b3IoYywgaSk7XG4gICAgICBpKys7XG4gICAgICBjID0gYy5uZXh0O1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -230,4 +230,4 @@ class UpdateBuffer {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
exports.UpdateBuffer = UpdateBuffer;
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWJ1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIvdXNyL2xvY2FsL2dvb2dsZS9ob21lL2FsZXhlYWdsZS9Qcm9qZWN0cy9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy91dGlsaXR5L3VwZGF0ZS1idWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBcUQ7QUFDckQsK0NBQTJDO0FBRzNDLDhCQUFzQyxTQUFRLG9CQUFhO0lBQ3pELFlBQVksS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFHLEdBQUcsUUFBUTtRQUNwRCxLQUFLLENBQUMsU0FBUyxLQUFLLHNCQUFzQixHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUFKRCw0REFJQztBQUNELHFDQUE2QyxTQUFRLG9CQUFhO0lBQ2hFO1FBQ0UsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBSkQsMEVBSUM7QUFHRDs7Ozs7O0dBTUc7QUFDSDtJQVVFLFlBQW1CLEtBQWEsRUFBUyxHQUFXLEVBQVMsZUFBdUI7UUFBakUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBUyxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQVI1RSxVQUFLLEdBQWtCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsV0FBTSxHQUFrQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTdCLFNBQUksR0FBaUIsSUFBSSxDQUFDO1FBR3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVE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TUFBYztRQUNsQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBRTNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqQyxJQUFJLElBQWtCLENBQUM7UUFDdkIsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBM0VELG9DQTJFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IEJhc2VFeGNlcHRpb24gfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBMaW5rZWRMaXN0IH0gZnJvbSAnLi9saW5rZWQtbGlzdCc7XG5cblxuZXhwb3J0IGNsYXNzIEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihpbmRleDogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4ID0gSW5maW5pdHkpIHtcbiAgICBzdXBlcihgSW5kZXggJHtpbmRleH0gb3V0c2lkZSBvZiByYW5nZSBbJHttaW59LCAke21heH1dLmApO1xuICB9XG59XG5leHBvcnQgY2xhc3MgQ29udGVudENhbm5vdEJlUmVtb3ZlZEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgVXNlciB0cmllZCB0byByZW1vdmUgY29udGVudCB0aGF0IHdhcyBtYXJrZWQgZXNzZW50aWFsLmApO1xuICB9XG59XG5cblxuLyoqXG4gKiBBIENodW5rIGRlc2NyaXB0aW9uLCBpbmNsdWRpbmcgbGVmdC9yaWdodCBjb250ZW50IHRoYXQgaGFzIGJlZW4gaW5zZXJ0ZWQuXG4gKiBJZiBfbGVmdC9fcmlnaHQgaXMgbnVsbCwgdGhpcyBtZWFucyB0aGF0IGNvbnRlbnQgd2FzIGRlbGV0ZWQuIElmIHRoZSBfY29udGVudCBpcyBudWxsLFxuICogaXQgbWVhbnMgdGhlIGNvbnRlbnQgaXRzZWxmIHdhcyBkZWxldGVkLlxuICpcbiAqIEBzZWUgVXBkYXRlQnVmZmVyXG4gKi9cbmV4cG9ydCBjbGFzcyBDaHVuayB7XG4gIHByaXZhdGUgX2NvbnRlbnQ6IEJ1ZmZlciB8IG51bGw7XG4gIHByaXZhdGUgX2xlZnQ6IEJ1ZmZlciB8IG51bGwgPSBCdWZmZXIuYWxsb2MoMCk7XG4gIHByaXZhdGUgX3JpZ2h0OiBCdWZmZXIgfCBudWxsID0gQnVmZmVyLmFsbG9jKDApO1xuXG4gIHByaXZhdGUgX2Fzc2VydExlZnQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYXNzZXJ0UmlnaHQgPSBmYWxzZTtcblxuICBuZXh0OiBDaHVuayB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdGFydDogbnVtYmVyLCBwdWJsaWMgZW5kOiBudW1iZXIsIHB1YmxpYyBvcmlnaW5hbENvbnRlbnQ6IEJ1ZmZlcikge1xuICAgIHRoaXMuX2NvbnRlbnQgPSBvcmlnaW5hbENvbnRlbnQuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIH1cblxuICBnZXQgbGVuZ3RoKCkge1xuICAgIHJldHVybiAodGhpcy5fbGVmdCA/IHRoaXMuX2xlZnQubGVuZ3RoIDogMClcbiAgICAgICAgICsgKHRoaXMuX2NvbnRlbnQgPyB0aGlzLl9jb250ZW50Lmxlbmd0aCA6IDApXG4gICAgICAgICArICh0aGlzLl9yaWdodCA/IHRoaXMuX3JpZ2h0Lmxlbmd0aCA6IDApO1xuICB9XG4gIHRvU3RyaW5nKGVuY29kaW5nID0gJ3V0Zi04Jykge1xuICAgIHJldHVybiAodGhpcy5fbGVmdCA/IHRoaXMuX2xlZnQudG9TdHJpbmcoZW5jb2RpbmcpIDogJycpXG4gICAgICAgICArICh0aGlzLl9jb250ZW50ID8gdGhpcy5fY29udGVudC50b1N0cmluZyhlbmNvZGluZykgOiAnJylcbiAgICAgICAgICsgKHRoaXMuX3JpZ2h0ID8gdGhpcy5fcmlnaHQudG9TdHJpbmcoZW5jb2RpbmcpIDogJycpO1xuICB9XG5cbiAgc2xpY2Uoc3RhcnQ6IG51bWJlcikge1xuICAgIGlmIChzdGFydCA8IHRoaXMuc3RhcnQgfHwgc3RhcnQgPiB0aGlzLmVuZCkge1xuICAgICAgdGhyb3cgbmV3IEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbihzdGFydCwgdGhpcy5zdGFydCwgdGhpcy5lbmQpO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBfY29udGVudCB0byB0aGUgbmV3IGluZGljZXMuXG4gICAgY29uc3QgbmV3Q2h1bmsgPSBuZXcgQ2h1bmsoc3RhcnQsIHRoaXMuZW5kLCB0aGlzLm9yaWdpbmFsQ29udGVudCk7XG5cbiAgICAvLyBJZiB0aGlzIGNodW5rIGhhcyBfY29udGVudCwgcmVzbGljZSB0aGUgb3JpZ2luYWwgX2NvbnRlbnQuIFdlIG1vdmUgdGhlIF9yaWdodCBzbyB3ZSBhcmUgbm90XG4gICAgLy8gbG9zaW5nIGFueSBkYXRhIGhlcmUuIElmIHRoaXMgY2h1bmsgaGFzIGJlZW4gZGVsZXRlZCwgdGhlIG5leHQgY2h1bmsgc2hvdWxkIGFsc28gYmUgZGVsZXRlZC5cbiAgICBpZiAodGhpcy5fY29udGVudCkge1xuICAgICAgdGhpcy5fY29udGVudCA9IHRoaXMub3JpZ2luYWxDb250ZW50LnNsaWNlKHRoaXMuc3RhcnQsIHN0YXJ0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Q2h1bmsuX2NvbnRlbnQgPSB0aGlzLl9jb250ZW50O1xuICAgICAgaWYgKHRoaXMuX3JpZ2h0ID09PSBudWxsKSB7XG4gICAgICAgIG5ld0NodW5rLl9sZWZ0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbmQgPSBzdGFydDtcblxuICAgIC8vIE1vdmUgX3JpZ2h0IHRvIHRoZSBuZXcgY2h1bmsuXG4gICAgbmV3Q2h1bmsuX3JpZ2h0ID0gdGhpcy5fcmlnaHQ7XG4gICAgdGhpcy5fcmlnaHQgPSB0aGlzLl9yaWdodCAmJiBCdWZmZXIuYWxsb2MoMCk7XG5cbiAgICAvLyBVcGRhdGUgZXNzZW50aWFscy5cbiAgICBpZiAodGhpcy5fYXNzZXJ0UmlnaHQpIHtcbiAgICAgIG5ld0NodW5rLl9hc3NlcnRSaWdodCA9IHRydWU7XG4gICAgICB0aGlzLl9hc3NlcnRSaWdodCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgbGlua2VkIGxpc3QuXG4gICAgbmV3Q2h1bmsubmV4dCA9IHRoaXMubmV4dDtcbiAgICB0aGlzLm5leHQgPSBuZXdDaHVuaztcblxuICAgIHJldHVybiBuZXdDaHVuaztcbiAgfVxuXG4gIGFwcGVuZChidWZmZXI6IEJ1ZmZlciwgZXNzZW50aWFsOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLl9yaWdodCkge1xuICAgICAgaWYgKGVzc2VudGlhbCkge1xuICAgICAgICB0aHJvdyBuZXcgQ29udGVudENhbm5vdEJlUmVtb3ZlZEV4Y2VwdGlvbigpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cm8gPSB0aGlzLl9yaWdodDtcbiAgICB0aGlzLl9yaWdodCA9IEJ1ZmZlci5hbGxvYyhvdXRyby5sZW5ndGggKyBidWZmZXIubGVuZ3RoKTtcbiAgICBvdXRyby5jb3B5KHRoaXMuX3JpZ2h0LCAwKTtcbiAgICBidWZmZXIuY29weSh0aGlzLl9yaWdodCwgb3V0cm8ubGVuZ3RoKTtcblxuICAgIGlmIChlc3NlbnRpYWwpIHtcbiAgICAgIHRoaXMuX2Fzc2VydFJpZ2h0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHJlcGVuZChidWZmZXI6IEJ1ZmZlciwgZXNzZW50aWFsOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLl9sZWZ0KSB7XG4gICAgICBpZiAoZXNzZW50aWFsKSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRybyA9IHRoaXMuX2xlZnQ7XG4gICAgdGhpcy5fbGVmdCA9IEJ1ZmZlci5hbGxvYyhpbnRyby5sZW5ndGggKyBidWZmZXIubGVuZ3RoKTtcbiAgICBpbnRyby5jb3B5KHRoaXMuX2xlZnQsIDApO1xuICAgIGJ1ZmZlci5jb3B5KHRoaXMuX2xlZnQsIGludHJvLmxlbmd0aCk7XG5cbiAgICBpZiAoZXNzZW50aWFsKSB7XG4gICAgICB0aGlzLl9hc3NlcnRMZWZ0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBhc3NlcnQobGVmdDogYm9vbGVhbiwgX2NvbnRlbnQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKSB7XG4gICAgaWYgKGxlZnQpIHtcbiAgICAgIGlmICh0aGlzLl9hc3NlcnRMZWZ0KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyaWdodCkge1xuICAgICAgaWYgKHRoaXMuX2Fzc2VydFJpZ2h0KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlKGxlZnQ6IGJvb2xlYW4sIGNvbnRlbnQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKSB7XG4gICAgaWYgKGxlZnQpIHtcbiAgICAgIGlmICh0aGlzLl9hc3NlcnRMZWZ0KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9sZWZ0ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAocmlnaHQpIHtcbiAgICAgIGlmICh0aGlzLl9hc3NlcnRSaWdodCkge1xuICAgICAgICB0aHJvdyBuZXcgQ29udGVudENhbm5vdEJlUmVtb3ZlZEV4Y2VwdGlvbigpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcmlnaHQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNvcHkodGFyZ2V0OiBCdWZmZXIsIHN0YXJ0OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fbGVmdCkge1xuICAgICAgdGhpcy5fbGVmdC5jb3B5KHRhcmdldCwgc3RhcnQpO1xuICAgICAgc3RhcnQgKz0gdGhpcy5fbGVmdC5sZW5ndGg7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9jb250ZW50LmNvcHkodGFyZ2V0LCBzdGFydCk7XG4gICAgICBzdGFydCArPSB0aGlzLl9jb250ZW50Lmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JpZ2h0KSB7XG4gICAgICB0aGlzLl9yaWdodC5jb3B5KHRhcmdldCwgc3RhcnQpO1xuICAgICAgc3RhcnQgKz0gdGhpcy5fcmlnaHQubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiBzdGFydDtcbiAgfVxufVxuXG5cbi8qKlxuICogQW4gdXRpbGl0eSBjbGFzcyB0aGF0IGFsbG93cyBidWZmZXJzIHRvIGJlIGluc2VydGVkIHRvIHRoZSBfcmlnaHQgb3IgX2xlZnQsIG9yIGRlbGV0ZWQsIHdoaWxlXG4gKiBrZWVwaW5nIGluZGljZXMgdG8gdGhlIG9yaWdpbmFsIGJ1ZmZlci5cbiAqXG4gKiBUaGUgY29uc3RydWN0b3IgdGFrZXMgYW4gb3JpZ2luYWwgYnVmZmVyLCBhbmQga2VlcHMgaXQgaW50byBhIGxpbmtlZCBsaXN0IG9mIGNodW5rcywgc21hbGxlclxuICogYnVmZmVycyB0aGF0IGtlZXAgdHJhY2sgb2YgX2NvbnRlbnQgaW5zZXJ0ZWQgdG8gdGhlIF9yaWdodCBvciBfbGVmdCBvZiBpdC5cbiAqXG4gKiBTaW5jZSB0aGUgTm9kZSBCdWZmZXIgc3RydWN0dXJlIGlzIG5vbi1kZXN0cnVjdGl2ZSB3aGVuIHNsaWNpbmcsIHdlIHRyeSB0byB1c2Ugc2xpY2luZyB0byBjcmVhdGVcbiAqIG5ldyBjaHVua3MsIGFuZCBhbHdheXMga2VlcCBjaHVua3MgcG9pbnRpbmcgdG8gdGhlIG9yaWdpbmFsIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBVcGRhdGVCdWZmZXIge1xuICBwcm90ZWN0ZWQgX2xpbmtlZExpc3Q6IExpbmtlZExpc3Q8Q2h1bms+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfb3JpZ2luYWxDb250ZW50OiBCdWZmZXIpIHtcbiAgICB0aGlzLl9saW5rZWRMaXN0ID0gbmV3IExpbmtlZExpc3QobmV3IENodW5rKDAsIF9vcmlnaW5hbENvbnRlbnQubGVuZ3RoLCBfb3JpZ2luYWxDb250ZW50KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2Fzc2VydEluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gdGhpcy5fb3JpZ2luYWxDb250ZW50Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbihpbmRleCwgMCwgdGhpcy5fb3JpZ2luYWxDb250ZW50Lmxlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9zbGljZShzdGFydDogbnVtYmVyKTogW0NodW5rLCBDaHVua10ge1xuICAgIHRoaXMuX2Fzc2VydEluZGV4KHN0YXJ0KTtcblxuICAgIC8vIEZpbmQgdGhlIGNodW5rIGJ5IGdvaW5nIHRocm91Z2ggdGhlIGxpc3QuXG4gICAgY29uc3QgaCA9IHRoaXMuX2xpbmtlZExpc3QuZmluZChjaHVuayA9PiBzdGFydCA8PSBjaHVuay5lbmQpO1xuICAgIGlmICghaCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0NodW5rIGNhbm5vdCBiZSBmb3VuZC4nKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhcnQgPT0gaC5lbmQgJiYgaC5uZXh0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW2gsIGgubmV4dF07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtoLCBoLnNsaWNlKHN0YXJ0KV07XG4gIH1cblxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xpbmtlZExpc3QucmVkdWNlKChhY2MsIGNodW5rKSA9PiBhY2MgKyBjaHVuay5sZW5ndGgsIDApO1xuICB9XG4gIGdldCBvcmlnaW5hbCgpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbENvbnRlbnQ7XG4gIH1cblxuICB0b1N0cmluZyhlbmNvZGluZyA9ICd1dGYtOCcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9saW5rZWRMaXN0LnJlZHVjZSgoYWNjLCBjaHVuaykgPT4gYWNjICsgY2h1bmsudG9TdHJpbmcoZW5jb2RpbmcpLCAnJyk7XG4gIH1cbiAgZ2VuZXJhdGUoKTogQnVmZmVyIHtcbiAgICBjb25zdCByZXN1bHQgPSBCdWZmZXIuYWxsb2NVbnNhZmUodGhpcy5sZW5ndGgpO1xuICAgIGxldCBpID0gMDtcbiAgICB0aGlzLl9saW5rZWRMaXN0LmZvckVhY2goY2h1bmsgPT4ge1xuICAgICAgY2h1bmsuY29weShyZXN1bHQsIGkpO1xuICAgICAgaSArPSBjaHVuay5sZW5ndGg7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgaW5zZXJ0TGVmdChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIsIGFzc2VydCA9IGZhbHNlKSB7XG4gICAgdGhpcy5fc2xpY2UoaW5kZXgpWzBdLmFwcGVuZChjb250ZW50LCBhc3NlcnQpO1xuICB9XG4gIGluc2VydFJpZ2h0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlciwgYXNzZXJ0ID0gZmFsc2UpIHtcbiAgICB0aGlzLl9zbGljZShpbmRleClbMV0ucHJlcGVuZChjb250ZW50LCBhc3NlcnQpO1xuICB9XG5cbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgZW5kID0gaW5kZXggKyBsZW5ndGg7XG5cbiAgICBjb25zdCBmaXJzdCA9IHRoaXMuX3NsaWNlKGluZGV4KVsxXTtcbiAgICBjb25zdCBsYXN0ID0gdGhpcy5fc2xpY2UoZW5kKVsxXTtcblxuICAgIGxldCBjdXJyOiBDaHVuayB8IG51bGw7XG4gICAgZm9yIChjdXJyID0gZmlyc3Q7IGN1cnIgJiYgY3VyciAhPT0gbGFzdDsgY3VyciA9IGN1cnIubmV4dCkge1xuICAgICAgY3Vyci5hc3NlcnQoY3VyciAhPT0gZmlyc3QsIGN1cnIgIT09IGxhc3QsIGN1cnIgPT09IGZpcnN0KTtcbiAgICB9XG4gICAgZm9yIChjdXJyID0gZmlyc3Q7IGN1cnIgJiYgY3VyciAhPT0gbGFzdDsgY3VyciA9IGN1cnIubmV4dCkge1xuICAgICAgY3Vyci5yZW1vdmUoY3VyciAhPT0gZmlyc3QsIGN1cnIgIT09IGxhc3QsIGN1cnIgPT09IGZpcnN0KTtcbiAgICB9XG5cbiAgICBpZiAoY3Vycikge1xuICAgICAgY3Vyci5yZW1vdmUodHJ1ZSwgZmFsc2UsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWJ1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9oYW5zbC9kZXZraXQvIiwic291cmNlcyI6WyJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy91dGlsaXR5L3VwZGF0ZS1idWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBcUQ7QUFDckQsK0NBQTJDO0FBRzNDLDhCQUFzQyxTQUFRLG9CQUFhO0lBQ3pELFlBQVksS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFHLEdBQUcsUUFBUTtRQUNwRCxLQUFLLENBQUMsU0FBUyxLQUFLLHNCQUFzQixHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUFKRCw0REFJQztBQUNELHFDQUE2QyxTQUFRLG9CQUFhO0lBQ2hFO1FBQ0UsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBSkQsMEVBSUM7QUFHRDs7Ozs7O0dBTUc7QUFDSDtJQVVFLFlBQW1CLEtBQWEsRUFBUyxHQUFXLEVBQVMsZUFBdUI7UUFBakUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBUyxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQVI1RSxVQUFLLEdBQWtCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsV0FBTSxHQUFrQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTdCLFNBQUksR0FBaUIsSUFBSSxDQUFDO1FBR3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Y0FDcEMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2NBQzFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxRQUFRLENBQUMsUUFBUSxHQUFHLE9BQU87UUFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztjQUNqRCxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDdkQsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2pCLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzQyxNQUFNLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxzQ0FBc0M7UUFDdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWxFLDhGQUE4RjtRQUM5RiwrRkFBK0Y7UUFDL0YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFFakIsZ0NBQWdDO1FBQ2hDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3QyxxQkFBcUI7UUFDckIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDdEIsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDNUIsQ0FBQztRQUVELDBCQUEwQjtRQUMxQixRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFFckIsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxTQUFrQjtRQUN2QyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2QsTUFBTSxJQUFJLCtCQUErQixFQUFFLENBQUM7WUFDOUMsQ0FBQztZQUVELE1BQU0sQ0FBQztRQUNULENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsTUFBYyxFQUFFLFNBQWtCO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDaEIsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDZCxNQUFNLElBQUksK0JBQStCLEVBQUUsQ0FBQztZQUM5QyxDQUFDO1lBRUQsTUFBTSxDQUFDO1FBQ1QsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFhLEVBQUUsUUFBaUIsRUFBRSxLQUFjO1FBQ3JELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDckIsTUFBTSxJQUFJLCtCQUErQixFQUFFLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7UUFDRCxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ1YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSwrQkFBK0IsRUFBRSxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFhLEVBQUUsT0FBZ0IsRUFBRSxLQUFjO1FBQ3BELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDckIsTUFBTSxJQUFJLCtCQUErQixFQUFFLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDVixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLCtCQUErQixFQUFFLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWMsRUFBRSxLQUFhO1FBQ2hDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9CLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM3QixDQUFDO1FBQ0QsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxDQUFDO1FBQ0QsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM5QixDQUFDO1FBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQWxKRCxzQkFrSkM7QUFHRDs7Ozs7Ozs7O0dBU0c7QUFDSDtJQUdFLFlBQXNCLGdCQUF3QjtRQUF4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHdCQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFhO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RSxDQUFDO0lBQ0gsQ0FBQztJQUVTLE1BQU0sQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekIsNENBQTRDO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDUCxNQUFNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFRLEdBQUcsT0FBTztRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBQ0QsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsTUFBTSxHQUFHLEtBQUs7UUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxNQUFNLEdBQUcsS0FBSztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUNsQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBRTNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqQyxJQUFJLElBQWtCLENBQUM7UUFDdkIsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBM0VELG9DQTJFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IEJhc2VFeGNlcHRpb24gfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgeyBMaW5rZWRMaXN0IH0gZnJvbSAnLi9saW5rZWQtbGlzdCc7XG5cblxuZXhwb3J0IGNsYXNzIEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihpbmRleDogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4ID0gSW5maW5pdHkpIHtcbiAgICBzdXBlcihgSW5kZXggJHtpbmRleH0gb3V0c2lkZSBvZiByYW5nZSBbJHttaW59LCAke21heH1dLmApO1xuICB9XG59XG5leHBvcnQgY2xhc3MgQ29udGVudENhbm5vdEJlUmVtb3ZlZEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgVXNlciB0cmllZCB0byByZW1vdmUgY29udGVudCB0aGF0IHdhcyBtYXJrZWQgZXNzZW50aWFsLmApO1xuICB9XG59XG5cblxuLyoqXG4gKiBBIENodW5rIGRlc2NyaXB0aW9uLCBpbmNsdWRpbmcgbGVmdC9yaWdodCBjb250ZW50IHRoYXQgaGFzIGJlZW4gaW5zZXJ0ZWQuXG4gKiBJZiBfbGVmdC9fcmlnaHQgaXMgbnVsbCwgdGhpcyBtZWFucyB0aGF0IGNvbnRlbnQgd2FzIGRlbGV0ZWQuIElmIHRoZSBfY29udGVudCBpcyBudWxsLFxuICogaXQgbWVhbnMgdGhlIGNvbnRlbnQgaXRzZWxmIHdhcyBkZWxldGVkLlxuICpcbiAqIEBzZWUgVXBkYXRlQnVmZmVyXG4gKi9cbmV4cG9ydCBjbGFzcyBDaHVuayB7XG4gIHByaXZhdGUgX2NvbnRlbnQ6IEJ1ZmZlciB8IG51bGw7XG4gIHByaXZhdGUgX2xlZnQ6IEJ1ZmZlciB8IG51bGwgPSBCdWZmZXIuYWxsb2MoMCk7XG4gIHByaXZhdGUgX3JpZ2h0OiBCdWZmZXIgfCBudWxsID0gQnVmZmVyLmFsbG9jKDApO1xuXG4gIHByaXZhdGUgX2Fzc2VydExlZnQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYXNzZXJ0UmlnaHQgPSBmYWxzZTtcblxuICBuZXh0OiBDaHVuayB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdGFydDogbnVtYmVyLCBwdWJsaWMgZW5kOiBudW1iZXIsIHB1YmxpYyBvcmlnaW5hbENvbnRlbnQ6IEJ1ZmZlcikge1xuICAgIHRoaXMuX2NvbnRlbnQgPSBvcmlnaW5hbENvbnRlbnQuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIH1cblxuICBnZXQgbGVuZ3RoKCkge1xuICAgIHJldHVybiAodGhpcy5fbGVmdCA/IHRoaXMuX2xlZnQubGVuZ3RoIDogMClcbiAgICAgICAgICsgKHRoaXMuX2NvbnRlbnQgPyB0aGlzLl9jb250ZW50Lmxlbmd0aCA6IDApXG4gICAgICAgICArICh0aGlzLl9yaWdodCA/IHRoaXMuX3JpZ2h0Lmxlbmd0aCA6IDApO1xuICB9XG4gIHRvU3RyaW5nKGVuY29kaW5nID0gJ3V0Zi04Jykge1xuICAgIHJldHVybiAodGhpcy5fbGVmdCA/IHRoaXMuX2xlZnQudG9TdHJpbmcoZW5jb2RpbmcpIDogJycpXG4gICAgICAgICArICh0aGlzLl9jb250ZW50ID8gdGhpcy5fY29udGVudC50b1N0cmluZyhlbmNvZGluZykgOiAnJylcbiAgICAgICAgICsgKHRoaXMuX3JpZ2h0ID8gdGhpcy5fcmlnaHQudG9TdHJpbmcoZW5jb2RpbmcpIDogJycpO1xuICB9XG5cbiAgc2xpY2Uoc3RhcnQ6IG51bWJlcikge1xuICAgIGlmIChzdGFydCA8IHRoaXMuc3RhcnQgfHwgc3RhcnQgPiB0aGlzLmVuZCkge1xuICAgICAgdGhyb3cgbmV3IEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbihzdGFydCwgdGhpcy5zdGFydCwgdGhpcy5lbmQpO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBfY29udGVudCB0byB0aGUgbmV3IGluZGljZXMuXG4gICAgY29uc3QgbmV3Q2h1bmsgPSBuZXcgQ2h1bmsoc3RhcnQsIHRoaXMuZW5kLCB0aGlzLm9yaWdpbmFsQ29udGVudCk7XG5cbiAgICAvLyBJZiB0aGlzIGNodW5rIGhhcyBfY29udGVudCwgcmVzbGljZSB0aGUgb3JpZ2luYWwgX2NvbnRlbnQuIFdlIG1vdmUgdGhlIF9yaWdodCBzbyB3ZSBhcmUgbm90XG4gICAgLy8gbG9zaW5nIGFueSBkYXRhIGhlcmUuIElmIHRoaXMgY2h1bmsgaGFzIGJlZW4gZGVsZXRlZCwgdGhlIG5leHQgY2h1bmsgc2hvdWxkIGFsc28gYmUgZGVsZXRlZC5cbiAgICBpZiAodGhpcy5fY29udGVudCkge1xuICAgICAgdGhpcy5fY29udGVudCA9IHRoaXMub3JpZ2luYWxDb250ZW50LnNsaWNlKHRoaXMuc3RhcnQsIHN0YXJ0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Q2h1bmsuX2NvbnRlbnQgPSB0aGlzLl9jb250ZW50O1xuICAgICAgaWYgKHRoaXMuX3JpZ2h0ID09PSBudWxsKSB7XG4gICAgICAgIG5ld0NodW5rLl9sZWZ0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbmQgPSBzdGFydDtcblxuICAgIC8vIE1vdmUgX3JpZ2h0IHRvIHRoZSBuZXcgY2h1bmsuXG4gICAgbmV3Q2h1bmsuX3JpZ2h0ID0gdGhpcy5fcmlnaHQ7XG4gICAgdGhpcy5fcmlnaHQgPSB0aGlzLl9yaWdodCAmJiBCdWZmZXIuYWxsb2MoMCk7XG5cbiAgICAvLyBVcGRhdGUgZXNzZW50aWFscy5cbiAgICBpZiAodGhpcy5fYXNzZXJ0UmlnaHQpIHtcbiAgICAgIG5ld0NodW5rLl9hc3NlcnRSaWdodCA9IHRydWU7XG4gICAgICB0aGlzLl9hc3NlcnRSaWdodCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB0aGUgbGlua2VkIGxpc3QuXG4gICAgbmV3Q2h1bmsubmV4dCA9IHRoaXMubmV4dDtcbiAgICB0aGlzLm5leHQgPSBuZXdDaHVuaztcblxuICAgIHJldHVybiBuZXdDaHVuaztcbiAgfVxuXG4gIGFwcGVuZChidWZmZXI6IEJ1ZmZlciwgZXNzZW50aWFsOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLl9yaWdodCkge1xuICAgICAgaWYgKGVzc2VudGlhbCkge1xuICAgICAgICB0aHJvdyBuZXcgQ29udGVudENhbm5vdEJlUmVtb3ZlZEV4Y2VwdGlvbigpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cm8gPSB0aGlzLl9yaWdodDtcbiAgICB0aGlzLl9yaWdodCA9IEJ1ZmZlci5hbGxvYyhvdXRyby5sZW5ndGggKyBidWZmZXIubGVuZ3RoKTtcbiAgICBvdXRyby5jb3B5KHRoaXMuX3JpZ2h0LCAwKTtcbiAgICBidWZmZXIuY29weSh0aGlzLl9yaWdodCwgb3V0cm8ubGVuZ3RoKTtcblxuICAgIGlmIChlc3NlbnRpYWwpIHtcbiAgICAgIHRoaXMuX2Fzc2VydFJpZ2h0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHJlcGVuZChidWZmZXI6IEJ1ZmZlciwgZXNzZW50aWFsOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLl9sZWZ0KSB7XG4gICAgICBpZiAoZXNzZW50aWFsKSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRybyA9IHRoaXMuX2xlZnQ7XG4gICAgdGhpcy5fbGVmdCA9IEJ1ZmZlci5hbGxvYyhpbnRyby5sZW5ndGggKyBidWZmZXIubGVuZ3RoKTtcbiAgICBpbnRyby5jb3B5KHRoaXMuX2xlZnQsIDApO1xuICAgIGJ1ZmZlci5jb3B5KHRoaXMuX2xlZnQsIGludHJvLmxlbmd0aCk7XG5cbiAgICBpZiAoZXNzZW50aWFsKSB7XG4gICAgICB0aGlzLl9hc3NlcnRMZWZ0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBhc3NlcnQobGVmdDogYm9vbGVhbiwgX2NvbnRlbnQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKSB7XG4gICAgaWYgKGxlZnQpIHtcbiAgICAgIGlmICh0aGlzLl9hc3NlcnRMZWZ0KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyaWdodCkge1xuICAgICAgaWYgKHRoaXMuX2Fzc2VydFJpZ2h0KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlKGxlZnQ6IGJvb2xlYW4sIGNvbnRlbnQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKSB7XG4gICAgaWYgKGxlZnQpIHtcbiAgICAgIGlmICh0aGlzLl9hc3NlcnRMZWZ0KSB7XG4gICAgICAgIHRocm93IG5ldyBDb250ZW50Q2Fubm90QmVSZW1vdmVkRXhjZXB0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9sZWZ0ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAocmlnaHQpIHtcbiAgICAgIGlmICh0aGlzLl9hc3NlcnRSaWdodCkge1xuICAgICAgICB0aHJvdyBuZXcgQ29udGVudENhbm5vdEJlUmVtb3ZlZEV4Y2VwdGlvbigpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcmlnaHQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNvcHkodGFyZ2V0OiBCdWZmZXIsIHN0YXJ0OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fbGVmdCkge1xuICAgICAgdGhpcy5fbGVmdC5jb3B5KHRhcmdldCwgc3RhcnQpO1xuICAgICAgc3RhcnQgKz0gdGhpcy5fbGVmdC5sZW5ndGg7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9jb250ZW50LmNvcHkodGFyZ2V0LCBzdGFydCk7XG4gICAgICBzdGFydCArPSB0aGlzLl9jb250ZW50Lmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JpZ2h0KSB7XG4gICAgICB0aGlzLl9yaWdodC5jb3B5KHRhcmdldCwgc3RhcnQpO1xuICAgICAgc3RhcnQgKz0gdGhpcy5fcmlnaHQubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiBzdGFydDtcbiAgfVxufVxuXG5cbi8qKlxuICogQW4gdXRpbGl0eSBjbGFzcyB0aGF0IGFsbG93cyBidWZmZXJzIHRvIGJlIGluc2VydGVkIHRvIHRoZSBfcmlnaHQgb3IgX2xlZnQsIG9yIGRlbGV0ZWQsIHdoaWxlXG4gKiBrZWVwaW5nIGluZGljZXMgdG8gdGhlIG9yaWdpbmFsIGJ1ZmZlci5cbiAqXG4gKiBUaGUgY29uc3RydWN0b3IgdGFrZXMgYW4gb3JpZ2luYWwgYnVmZmVyLCBhbmQga2VlcHMgaXQgaW50byBhIGxpbmtlZCBsaXN0IG9mIGNodW5rcywgc21hbGxlclxuICogYnVmZmVycyB0aGF0IGtlZXAgdHJhY2sgb2YgX2NvbnRlbnQgaW5zZXJ0ZWQgdG8gdGhlIF9yaWdodCBvciBfbGVmdCBvZiBpdC5cbiAqXG4gKiBTaW5jZSB0aGUgTm9kZSBCdWZmZXIgc3RydWN0dXJlIGlzIG5vbi1kZXN0cnVjdGl2ZSB3aGVuIHNsaWNpbmcsIHdlIHRyeSB0byB1c2Ugc2xpY2luZyB0byBjcmVhdGVcbiAqIG5ldyBjaHVua3MsIGFuZCBhbHdheXMga2VlcCBjaHVua3MgcG9pbnRpbmcgdG8gdGhlIG9yaWdpbmFsIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBVcGRhdGVCdWZmZXIge1xuICBwcm90ZWN0ZWQgX2xpbmtlZExpc3Q6IExpbmtlZExpc3Q8Q2h1bms+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfb3JpZ2luYWxDb250ZW50OiBCdWZmZXIpIHtcbiAgICB0aGlzLl9saW5rZWRMaXN0ID0gbmV3IExpbmtlZExpc3QobmV3IENodW5rKDAsIF9vcmlnaW5hbENvbnRlbnQubGVuZ3RoLCBfb3JpZ2luYWxDb250ZW50KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2Fzc2VydEluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gdGhpcy5fb3JpZ2luYWxDb250ZW50Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbihpbmRleCwgMCwgdGhpcy5fb3JpZ2luYWxDb250ZW50Lmxlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9zbGljZShzdGFydDogbnVtYmVyKTogW0NodW5rLCBDaHVua10ge1xuICAgIHRoaXMuX2Fzc2VydEluZGV4KHN0YXJ0KTtcblxuICAgIC8vIEZpbmQgdGhlIGNodW5rIGJ5IGdvaW5nIHRocm91Z2ggdGhlIGxpc3QuXG4gICAgY29uc3QgaCA9IHRoaXMuX2xpbmtlZExpc3QuZmluZChjaHVuayA9PiBzdGFydCA8PSBjaHVuay5lbmQpO1xuICAgIGlmICghaCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0NodW5rIGNhbm5vdCBiZSBmb3VuZC4nKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhcnQgPT0gaC5lbmQgJiYgaC5uZXh0ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW2gsIGgubmV4dF07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtoLCBoLnNsaWNlKHN0YXJ0KV07XG4gIH1cblxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xpbmtlZExpc3QucmVkdWNlKChhY2MsIGNodW5rKSA9PiBhY2MgKyBjaHVuay5sZW5ndGgsIDApO1xuICB9XG4gIGdldCBvcmlnaW5hbCgpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbENvbnRlbnQ7XG4gIH1cblxuICB0b1N0cmluZyhlbmNvZGluZyA9ICd1dGYtOCcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9saW5rZWRMaXN0LnJlZHVjZSgoYWNjLCBjaHVuaykgPT4gYWNjICsgY2h1bmsudG9TdHJpbmcoZW5jb2RpbmcpLCAnJyk7XG4gIH1cbiAgZ2VuZXJhdGUoKTogQnVmZmVyIHtcbiAgICBjb25zdCByZXN1bHQgPSBCdWZmZXIuYWxsb2NVbnNhZmUodGhpcy5sZW5ndGgpO1xuICAgIGxldCBpID0gMDtcbiAgICB0aGlzLl9saW5rZWRMaXN0LmZvckVhY2goY2h1bmsgPT4ge1xuICAgICAgY2h1bmsuY29weShyZXN1bHQsIGkpO1xuICAgICAgaSArPSBjaHVuay5sZW5ndGg7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgaW5zZXJ0TGVmdChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIsIGFzc2VydCA9IGZhbHNlKSB7XG4gICAgdGhpcy5fc2xpY2UoaW5kZXgpWzBdLmFwcGVuZChjb250ZW50LCBhc3NlcnQpO1xuICB9XG4gIGluc2VydFJpZ2h0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlciwgYXNzZXJ0ID0gZmFsc2UpIHtcbiAgICB0aGlzLl9zbGljZShpbmRleClbMV0ucHJlcGVuZChjb250ZW50LCBhc3NlcnQpO1xuICB9XG5cbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgZW5kID0gaW5kZXggKyBsZW5ndGg7XG5cbiAgICBjb25zdCBmaXJzdCA9IHRoaXMuX3NsaWNlKGluZGV4KVsxXTtcbiAgICBjb25zdCBsYXN0ID0gdGhpcy5fc2xpY2UoZW5kKVsxXTtcblxuICAgIGxldCBjdXJyOiBDaHVuayB8IG51bGw7XG4gICAgZm9yIChjdXJyID0gZmlyc3Q7IGN1cnIgJiYgY3VyciAhPT0gbGFzdDsgY3VyciA9IGN1cnIubmV4dCkge1xuICAgICAgY3Vyci5hc3NlcnQoY3VyciAhPT0gZmlyc3QsIGN1cnIgIT09IGxhc3QsIGN1cnIgPT09IGZpcnN0KTtcbiAgICB9XG4gICAgZm9yIChjdXJyID0gZmlyc3Q7IGN1cnIgJiYgY3VyciAhPT0gbGFzdDsgY3VyciA9IGN1cnIubmV4dCkge1xuICAgICAgY3Vyci5yZW1vdmUoY3VyciAhPT0gZmlyc3QsIGN1cnIgIT09IGxhc3QsIGN1cnIgPT09IGZpcnN0KTtcbiAgICB9XG5cbiAgICBpZiAoY3Vycikge1xuICAgICAgY3Vyci5yZW1vdmUodHJ1ZSwgZmFsc2UsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/tasks/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
export { NodePackageInstallTask } from './node-package/install-task';
|
|
9
|
+
export { NodePackageLinkTask } from './node-package/link-task';
|
|
10
|
+
export { RepositoryInitializerTask } from './repo-init/init-task';
|
package/tasks/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
6
|
+
*
|
|
7
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
8
|
+
* found in the LICENSE file at https://angular.io/license
|
|
9
|
+
*/
|
|
10
|
+
var install_task_1 = require("./node-package/install-task");
|
|
11
|
+
exports.NodePackageInstallTask = install_task_1.NodePackageInstallTask;
|
|
12
|
+
var link_task_1 = require("./node-package/link-task");
|
|
13
|
+
exports.NodePackageLinkTask = link_task_1.NodePackageLinkTask;
|
|
14
|
+
var init_task_1 = require("./repo-init/init-task");
|
|
15
|
+
exports.RepositoryInitializerTask = init_task_1.RepositoryInitializerTask;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvaGFuc2wvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy90YXNrcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7R0FNRztBQUNILDREQUFxRTtBQUE1RCxnREFBQSxzQkFBc0IsQ0FBQTtBQUMvQixzREFBK0Q7QUFBdEQsMENBQUEsbUJBQW1CLENBQUE7QUFDNUIsbURBQWtFO0FBQXpELGdEQUFBLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0IHsgTm9kZVBhY2thZ2VJbnN0YWxsVGFzayB9IGZyb20gJy4vbm9kZS1wYWNrYWdlL2luc3RhbGwtdGFzayc7XG5leHBvcnQgeyBOb2RlUGFja2FnZUxpbmtUYXNrIH0gZnJvbSAnLi9ub2RlLXBhY2thZ2UvbGluay10YXNrJztcbmV4cG9ydCB7IFJlcG9zaXRvcnlJbml0aWFsaXplclRhc2sgfSBmcm9tICcuL3JlcG8taW5pdC9pbml0LXRhc2snO1xuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { TaskExecutorFactory } from '@angular-devkit/schematics';
|
|
9
|
+
import { NodePackageTaskFactoryOptions } from '../node-package/options';
|
|
10
|
+
import { RepositoryInitializerTaskFactoryOptions } from '../repo-init/options';
|
|
11
|
+
export declare class BuiltinTaskExecutor {
|
|
12
|
+
static readonly NodePackage: TaskExecutorFactory<NodePackageTaskFactoryOptions>;
|
|
13
|
+
static readonly RepositoryInitializer: TaskExecutorFactory<RepositoryInitializerTaskFactoryOptions>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const options_1 = require("../node-package/options");
|
|
4
|
+
const options_2 = require("../repo-init/options");
|
|
5
|
+
class BuiltinTaskExecutor {
|
|
6
|
+
}
|
|
7
|
+
BuiltinTaskExecutor.NodePackage = {
|
|
8
|
+
name: options_1.NodePackageName,
|
|
9
|
+
create: (options) => Promise.resolve().then(() => require('../node-package/executor')).then(mod => mod.default(options)),
|
|
10
|
+
};
|
|
11
|
+
BuiltinTaskExecutor.RepositoryInitializer = {
|
|
12
|
+
name: options_2.RepositoryInitializerName,
|
|
13
|
+
create: (options) => Promise.resolve().then(() => require('../repo-init/executor')).then(mod => mod.default(options)),
|
|
14
|
+
};
|
|
15
|
+
exports.BuiltinTaskExecutor = BuiltinTaskExecutor;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvaGFuc2wvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy90YXNrcy9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEscURBQXlGO0FBQ3pGLGtEQUcrQjtBQUUvQjs7QUFDa0IsK0JBQVcsR0FBdUQ7SUFDaEYsSUFBSSxFQUFFLHlCQUFlO0lBQ3JCLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMscUNBQU8sMEJBQTBCLEdBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztDQUMxRixDQUFDO0FBQ2MseUNBQXFCLEdBQzRCO0lBQy9ELElBQUksRUFBRSxtQ0FBeUI7SUFDL0IsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxxQ0FBTyx1QkFBdUIsR0FBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQ3ZGLENBQUM7QUFUSixrREFVQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7IFRhc2tFeGVjdXRvckZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBOb2RlUGFja2FnZU5hbWUsIE5vZGVQYWNrYWdlVGFza0ZhY3RvcnlPcHRpb25zIH0gZnJvbSAnLi4vbm9kZS1wYWNrYWdlL29wdGlvbnMnO1xuaW1wb3J0IHtcbiAgUmVwb3NpdG9yeUluaXRpYWxpemVyTmFtZSxcbiAgUmVwb3NpdG9yeUluaXRpYWxpemVyVGFza0ZhY3RvcnlPcHRpb25zLFxuIH0gZnJvbSAnLi4vcmVwby1pbml0L29wdGlvbnMnO1xuXG5leHBvcnQgY2xhc3MgQnVpbHRpblRhc2tFeGVjdXRvciB7XG4gIHN0YXRpYyByZWFkb25seSBOb2RlUGFja2FnZTogVGFza0V4ZWN1dG9yRmFjdG9yeTxOb2RlUGFja2FnZVRhc2tGYWN0b3J5T3B0aW9ucz4gPSB7XG4gICAgbmFtZTogTm9kZVBhY2thZ2VOYW1lLFxuICAgIGNyZWF0ZTogKG9wdGlvbnMpID0+IGltcG9ydCgnLi4vbm9kZS1wYWNrYWdlL2V4ZWN1dG9yJykudGhlbihtb2QgPT4gbW9kLmRlZmF1bHQob3B0aW9ucykpLFxuICB9O1xuICBzdGF0aWMgcmVhZG9ubHkgUmVwb3NpdG9yeUluaXRpYWxpemVyOlxuICAgIFRhc2tFeGVjdXRvckZhY3Rvcnk8UmVwb3NpdG9yeUluaXRpYWxpemVyVGFza0ZhY3RvcnlPcHRpb25zPiA9IHtcbiAgICBuYW1lOiBSZXBvc2l0b3J5SW5pdGlhbGl6ZXJOYW1lLFxuICAgIGNyZWF0ZTogKG9wdGlvbnMpID0+IGltcG9ydCgnLi4vcmVwby1pbml0L2V4ZWN1dG9yJykudGhlbihtb2QgPT4gbW9kLmRlZmF1bHQob3B0aW9ucykpLFxuICB9O1xufVxuIl19
|