@datagrok-libraries/utils 1.18.0 → 1.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/computation-view.js +3 -3
package/package.json
CHANGED
package/src/computation-view.js
CHANGED
|
@@ -169,12 +169,12 @@ export class ComputationView extends FunctionView {
|
|
|
169
169
|
return __awaiter(this, void 0, void 0, function* () {
|
|
170
170
|
const pack = (yield grok.dapi.packages.list()).find((pack) => { var _a; return pack.id === ((_a = this.func) === null || _a === void 0 ? void 0 : _a.package.id); });
|
|
171
171
|
const reportBugUrl = (yield (pack === null || pack === void 0 ? void 0 : pack.getProperties())).REPORT_BUG_URL;
|
|
172
|
-
if (reportBugUrl)
|
|
172
|
+
if (reportBugUrl && !this.reportBug)
|
|
173
173
|
this.reportBug = () => __awaiter(this, void 0, void 0, function* () { window.open(reportBugUrl, '_blank'); });
|
|
174
174
|
const reqFeatureUrl = (yield (pack === null || pack === void 0 ? void 0 : pack.getProperties())).REQUEST_FEATURE_URL;
|
|
175
|
-
if (reqFeatureUrl)
|
|
175
|
+
if (reqFeatureUrl && !this.requestFeature)
|
|
176
176
|
this.requestFeature = () => __awaiter(this, void 0, void 0, function* () { window.open(reqFeatureUrl, '_blank'); });
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbXB1dGF0aW9uLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsZ0NBQWdDO0FBQ2hDLDRCQUE0QjtBQUM1QixPQUFPLEtBQUssSUFBSSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekM7Ozs7Ozs7Ozs7Ozs7O0tBY0s7QUFDTCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBQy9DOzs7TUFHRTtJQUNGLFlBQVksUUFBaUI7O1FBQzNCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBNENWOztVQUVFO1FBQ0YsYUFBUSxHQUErRCxJQUFJLENBQUM7UUFFNUU7O1VBRUU7UUFDRixpQkFBWSxHQUEyRCxJQUFJLENBQUM7UUFFNUU7O1VBRUU7UUFDRixZQUFPLEdBQWlDLElBQUksQ0FBQztRQUU3Qzs7VUFFRTtRQUNGLGNBQVMsR0FBaUMsSUFBSSxDQUFDO1FBRS9DOztVQUVFO1FBQ0YsbUJBQWMsR0FBaUMsSUFBSSxDQUFDO1FBRXBEOztVQUVFO1FBQ0YsYUFBUSxHQUFtQyxHQUFTLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEdBQUcsQ0FB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LElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBQyxPQUFBLElBQUksQ0FBQyxFQUFFLE1BQUssTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFBLENBQUEsRUFBQSxDQUFDLENBQUM7WUFDakcsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGFBQWEsRUFBRSxDQUFRLENBQUEsQ0FBQyxjQUFjLENBQUM7WUFDekUsSUFBSSxZQUFZO2dCQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBUyxFQUFFLGdEQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUM7WUFFeEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFNLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGFBQWEsRUFBRSxDQUFRLENBQUEsQ0FBQyxtQkFBbUIsQ0FBQztZQUMvRSxJQUFJLGFBQWE7Z0JBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFTLEVBQUUsZ0RBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUNoRixDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHZhbGlkLWpzZG9jICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0IHtGdW5jdGlvblZpZXd9IGZyb20gJy4vZnVuY3Rpb24tdmlldyc7XG5pbXBvcnQgJy4uL2Nzcy9jb21wdXRhdGlvbi12aWV3LmNzcyc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHtoaXN0b3J5VXRpbHN9IGZyb20gJy4vaGlzdG9yeS11dGlscyc7XG5cbmNvbnN0IHVybCA9IG5ldyBVUkwoZ3Jvay5zaGVsbC5zdGFydFVyaSk7XG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGhhbmRsaW5nIENvbXB1dGUgbW9kZWxzIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2RhdGFncm9rLWFpL3B1YmxpYy9ibG9iL21hc3Rlci9oZWxwL2NvbXB1dGUvY29tcHV0ZS5tZCkuXG4gKiBJbiBtb3N0IGNhc2VzLCB0aGUgY29tcHV0YXRpb24gaXMgYSBzaW1wbGUge0BsaW5rIEZ1bmN9XG4gKiBFeHRlbmQgaXQgaW4gY2FzZXMgd2hlcmUgYSBiZWhhdmlvciBvciBVSSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB7QGxpbmsgRnVuY3Rpb25WaWV3fSBpcyBuZWVkZWQuXG4gKlxuICogSXQgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5IG91dC1vZi10aGUtYm94LCB3aGVyZSBlYWNoIHNlY3Rpb24gY291bGQgYmUgY3VzdG9taXplZDpcbiAqIC0gYSBzdHJ1Y3R1cmVkIHdheSB0byByZXByZXNlbnQgaW5wdXQgYW5kIG91dHB1dCBwYXJhbWV0ZXJzOiB7QGxpbmsgcGFyYW1ldGVyc31cbiAqIC0gZ2VuZXJpYyB3YXkgdG8gZ2VuZXJhdGUgVUkgZm9yIGlucHV0cywgb3V0cHV0cywgYW5kIGludGVyYWN0aXZpdHkgKHJ1bm5pbmcgdGhlIG1vZGVsLCBldGMpXG4gKiAgIC0gcGVyc2lzdGluZyBoaXN0b3JpY2FsIHJlc3VsdHMgdG8gdGhlIGRiICh2aWEge0BsaW5rIHBhcmFtZXRlcnN9KVxuICogLSBleHBvcnQgKHRvIEV4Y2VsIGFuZCBQREYpOiB7QGxpbmsgZXhwb3J0fVxuICogLSBlYXN5IGxvYWRpbmcgb2YgaGlzdG9yaWNhbCBydW5zXG4gKiAtIHJvdXRpbmdcbiAqIC0gZW50ZXJpbmcgdGhlIHJlYWwsIG1lYXN1cmVkIChhcyBvcHBvc2VkIHRvIHByZWRpY3RlZCkgdmFsdWVzIG1hbnVhbGx5XG4gKiAtIG5vdGlmaWNhdGlvbnMgZm9yIGNoYW5naW5nIGlucHV0cywgY29tcGxldGlvbiBvZiBjb21wdXRhdGlvbnMsIGV0Yzoge0BsaW5rIG9uSW5wdXRDaGFuZ2VkfVxuICogKi9cbmV4cG9ydCBjbGFzcyBDb21wdXRhdGlvblZpZXcgZXh0ZW5kcyBGdW5jdGlvblZpZXcge1xuICAvKiogRmluZCB0aGUgZnVuY3Rpb24gYnkgZnVsbHkgc3BlY2lmaWVkIG5hbWUsIGxpbmsgaXQgdG8gdGhlIHZpZXcgYW5kIGNvbnN0cnVjdHMgdGhlIHZpZXcuXG4gICAgKiBJZiBmdW5jdGlvbiBuYW1lIGlzIG5vdCBzcGVjaWZpZWQsIGNhbGxzIHtAbGluayBpbml0fSBhbmQge0BsaW5rIGJ1aWxkfSB3aXRob3V0IEZ1bmNDYWxsIGxpbmthZ2UuXG4gICAgKiBAc3RhYmlsaXR5IFN0YWJsZVxuICAqL1xuICBjb25zdHJ1Y3RvcihmdW5jTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHJ1bklkID0gdXJsLnNlYXJjaFBhcmFtcy5nZXQoJ2lkJyk7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMucGFyZW50Q2FsbCA9IGdyb2suZnVuY3Rpb25zLmdldEN1cnJlbnRDYWxsKCk7XG4gICAgdGhpcy5wYXJlbnRWaWV3ID0gZ3Jvay5mdW5jdGlvbnMuZ2V0Q3VycmVudENhbGwoKS5wYXJlbnRDYWxsLmF1eFsndmlldyddO1xuICAgIHRoaXMuYmFzZVBhdGggPSBgLyR7Z3Jvay5mdW5jdGlvbnMuZ2V0Q3VycmVudENhbGwoKT8uZnVuYy5uYW1lfWA7XG5cbiAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy5yb290LCB0cnVlKTtcbiAgICBpZiAocnVuSWQpIHtcbiAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmluaXQoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5nZXRQYWNrYWdlVXJscygpO1xuICAgICAgICBjb25zdCB1cmxSdW4gPSBhd2FpdCBoaXN0b3J5VXRpbHMubG9hZFJ1bihydW5JZCk7XG4gICAgICAgIHRoaXMubGlua0Z1bmNjYWxsKHVybFJ1bik7XG4gICAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkJlZm9yZUxvYWRSdW4oKTtcbiAgICAgICAgdGhpcy5saW5rRnVuY2NhbGwodXJsUnVuKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkFmdGVyTG9hZFJ1bih1cmxSdW4pO1xuICAgICAgICB0aGlzLnNldFJ1blZpZXdSZWFkb25seSgpO1xuICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy5yb290LCBmYWxzZSk7XG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuZGVsZXRlKCdpZCcpO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmdW5jTmFtZSkge1xuICAgICAgICAoZ3Jvay5mdW5jdGlvbnMuZXZhbChmdW5jTmFtZSkgYXMgUHJvbWlzZTxERy5GdW5jPikudGhlbihhc3luYyAoZnVuYzogREcuRnVuYykgPT4ge1xuICAgICAgICAgIGNvbnN0IGZ1bmNjYWxsID0gZnVuYy5wcmVwYXJlKHt9KTtcbiAgICAgICAgICB0aGlzLmxpbmtGdW5jY2FsbChmdW5jY2FsbCk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5pbml0KCk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5nZXRQYWNrYWdlVXJscygpO1xuICAgICAgICAgIHRoaXMuYnVpbGQoKTtcbiAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMucm9vdCwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW5pdCgpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UGFja2FnZVVybHMoKTtcbiAgICAgICAgICB0aGlzLmJ1aWxkKCk7XG4gICAgICAgICAgdGhpcy5idWlsZFJpYmJvblBhbmVscygpO1xuICAgICAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnJvb3QsIGZhbHNlKTtcbiAgICAgICAgfSwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIE92ZXJyaWRlIHRvIGN1c3RvbWl6ZSBnZXR0aW5nIG1vY2tzXG4gICAgKiBAc3RhYmlsaXR5IEV4cGVyaW1lbnRhbFxuICAqL1xuICBnZXRNb2NrczogKHttb2NrTmFtZTogc3RyaW5nLCBhY3Rpb246ICgpID0+IFByb21pc2U8dm9pZD59W10pIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE92ZXJyaWRlIHRvIGN1c3RvbWl6ZSBnZXR0aW5nIHRlbXBsYXRlc1xuICAgICogQHN0YWJpbGl0eSBFeHBlcmltZW50YWxcbiAgKi9cbiAgZ2V0VGVtcGxhdGVzOiAoe25hbWU6IHN0cmluZywgYWN0aW9uOiAoKSA9PiBQcm9taXNlPHZvaWQ+fVtdKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPdmVycmlkZSB0byBjdXN0b21pemUgZ2V0dGluZyBoZWxwIGZlYXR1cmVcbiAgICAqIEBzdGFiaWxpdHkgU3RhYmxlXG4gICovXG4gIGdldEhlbHA6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPdmVycmlkZSB0byBjdXN0b21pemUgYnVnIHJlcG9ydGluZyBmZWF0dXJlXG4gICAgKiBAc3RhYmlsaXR5IFN0YWJsZVxuICAqL1xuICByZXBvcnRCdWc6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPdmVycmlkZSB0byBjdXN0b21pemUgZmVhdHVyZSByZXF1ZXN0IGZlYXR1cmVcbiAgICAqIEBzdGFiaWxpdHkgU3RhYmxlXG4gICovXG4gIHJlcXVlc3RGZWF0dXJlOiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3ZlcnJpZGUgdG8gY3VzdG9taXplIFwiYWJvdXRcIiBpbmZvIG9idGFpbmluZyBmZWF0dXJlLlxuICAgICogQHN0YWJpbGl0eSBFeHBlcmltZW50YWxcbiAgKi9cbiAgZ2V0QWJvdXQ6ICgoKSA9PiBQcm9taXNlPHN0cmluZz4pIHwgbnVsbCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwYWNrID0gKGF3YWl0IGdyb2suZGFwaS5wYWNrYWdlcy5saXN0KCkpLmZpbmQoKHBhY2spID0+IHBhY2suaWQgPT09IHRoaXMuZnVuYz8ucGFja2FnZS5pZCk7XG4gICAgcmV0dXJuIHBhY2sgPyBgJHtwYWNrLmZyaWVuZGx5TmFtZX0gdi4ke3BhY2sudmVyc2lvbn0uXFxuTGFzdCB1cGRhdGVkIG9uICR7ZGF5anMocGFjay51cGRhdGVkT24pLmZvcm1hdCgnWVlZWSBNTU0gRCwgSEg6bW0nKX1gOiBgTm8gcGFja2FnZSBpbmZvIHdhcyBmb3VuZGA7XG4gIH07XG5cbiAgLyoqXG4gICAqIExvb2tzIGZvciB7QGxpbmsgcmVwb3J0QnVnfSwge0BsaW5rIGdldEhlbHB9IGFuZCB7QGxpbmsgZXhwb3J0Q29uZmlnfSBtZW1iZXJzIGFuZCBjcmVhdGVzIG1vZGVsIG1lbnVzXG4gICAqIEBzdGFiaWxpdHkgU3RhYmxlXG4gICovXG4gIG92ZXJyaWRlIGJ1aWxkUmliYm9uTWVudSgpIHtcbiAgICBzdXBlci5idWlsZFJpYmJvbk1lbnUoKTtcblxuICAgIGlmICghdGhpcy5leHBvcnRDb25maWcgJiYgIXRoaXMucmVwb3J0QnVnICYmICF0aGlzLnJlcXVlc3RGZWF0dXJlICYmICF0aGlzLmdldEhlbHAgJiYgIXRoaXMuZ2V0TW9ja3MgJiYgIXRoaXMuZ2V0VGVtcGxhdGVzKSByZXR1cm47XG5cbiAgICBjb25zdCByaWJib25NZW51ID0gdGhpcy5yaWJib25NZW51Lmdyb3VwKCdNb2RlbCcpO1xuXG4gICAgaWYgKHRoaXMuZ2V0TW9ja3MgJiYgdGhpcy5nZXRNb2Nrcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5nZXRNb2Nrcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmliYm9uTWVudS5pdGVtKCdJbnB1dCBkYXRhIG1vY2snLCB0aGlzLmdldE1vY2tzWzBdLmFjdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkYXRhR3JvdXAgPSByaWJib25NZW51Lmdyb3VwKCdJbnB1dCBkYXRhIG1vY2tzJyk7XG4gICAgICAgIHRoaXMuZ2V0TW9ja3MuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgZGF0YUdyb3VwLml0ZW0odmFsLm1vY2tOYW1lLCB2YWwuYWN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJpYmJvbk1lbnUuZW5kR3JvdXAoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5nZXRUZW1wbGF0ZXMgJiYgdGhpcy5nZXRUZW1wbGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuZ2V0VGVtcGxhdGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByaWJib25NZW51Lml0ZW0oJ0lucHV0IGRhdGEgdGVtcGxhdGUnLCB0aGlzLmdldFRlbXBsYXRlc1swXS5hY3Rpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGF0YUdyb3VwID0gcmliYm9uTWVudS5ncm91cCgnSW5wdXQgZGF0YSB0ZW1wbGF0ZXMnKTtcbiAgICAgICAgdGhpcy5nZXRUZW1wbGF0ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgZGF0YUdyb3VwLml0ZW0odmFsLm5hbWUsIHZhbC5hY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmliYm9uTWVudS5lbmRHcm91cCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmV4cG9ydENvbmZpZyAmJiB0aGlzLmV4cG9ydENvbmZpZy5zdXBwb3J0ZWRGb3JtYXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJpYmJvbk1lbnVcbiAgICAgICAgLmdyb3VwKCdFeHBvcnQnKVxuICAgICAgICAuaXRlbXModGhpcy5leHBvcnRDb25maWcuc3VwcG9ydGVkRm9ybWF0cywgYXN5bmMgKGZvcm1hdDogc3RyaW5nKSA9PiBERy5VdGlscy5kb3dubG9hZCh0aGlzLmV4cG9ydENvbmZpZyEuZmlsZW5hbWUoZm9ybWF0KSwgYXdhaXQgdGhpcy5leHBvcnRDb25maWchLmV4cG9ydChmb3JtYXQpKSlcbiAgICAgICAgLmVuZEdyb3VwKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVwb3J0QnVnKVxuICAgICAgcmliYm9uTWVudS5pdGVtKCdSZXBvcnQgYSBidWcnLCAoKSA9PiB0aGlzLnJlcG9ydEJ1ZyEoKSk7XG5cbiAgICBpZiAodGhpcy5yZXF1ZXN0RmVhdHVyZSlcbiAgICAgIHJpYmJvbk1lbnUuaXRlbSgnUmVxdWVzdCBhIGZlYXR1cmUnLCAoKSA9PiB0aGlzLnJlcXVlc3RGZWF0dXJlISgpKTtcblxuICAgIGlmICh0aGlzLmdldEhlbHApXG4gICAgICByaWJib25NZW51Lml0ZW0oJ0hlbHAnLCAoKSA9PiB0aGlzLmdldEhlbHAhKCkpO1xuXG4gICAgaWYgKHRoaXMuZ2V0QWJvdXQpIHtcbiAgICAgIHJpYmJvbk1lbnUuaXRlbSgnQWJvdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpYWxvZyA9IHVpLmRpYWxvZygnQ3VycmVudCB2ZXJzaW9uJyk7XG4gICAgICAgIChhd2FpdCB0aGlzLmdldEFib3V0ISgpKS5zcGxpdCgnXFxuJykuZm9yRWFjaCgobGluZSkgPT4gZGlhbG9nLmFkZCh1aS5sYWJlbChsaW5lKSkpO1xuICAgICAgICBkaWFsb2cub25PSygoKSA9PiB7fSk7XG4gICAgICAgIGRpYWxvZy5nZXRCdXR0b24oJ0NBTkNFTCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIGRpYWxvZy5zaG93KHtjZW50ZXI6IHRydWV9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UGFja2FnZVVybHMoKSB7XG4gICAgY29uc3QgcGFjayA9IChhd2FpdCBncm9rLmRhcGkucGFja2FnZXMubGlzdCgpKS5maW5kKChwYWNrKSA9PiBwYWNrLmlkID09PSB0aGlzLmZ1bmM/LnBhY2thZ2UuaWQpO1xuICAgIGNvbnN0IHJlcG9ydEJ1Z1VybCA9IChhd2FpdCBwYWNrPy5nZXRQcm9wZXJ0aWVzKCkgYXMgYW55KS5SRVBPUlRfQlVHX1VSTDtcbiAgICBpZiAocmVwb3J0QnVnVXJsKVxuICAgICAgdGhpcy5yZXBvcnRCdWcgPSBhc3luYyAoKSA9PiB7IHdpbmRvdy5vcGVuKHJlcG9ydEJ1Z1VybCwgJ19ibGFuaycpOyB9O1xuXG4gICAgY29uc3QgcmVxRmVhdHVyZVVybCA9IChhd2FpdCBwYWNrPy5nZXRQcm9wZXJ0aWVzKCkgYXMgYW55KS5SRVFVRVNUX0ZFQVRVUkVfVVJMO1xuICAgIGlmIChyZXFGZWF0dXJlVXJsKVxuICAgICAgdGhpcy5yZXF1ZXN0RmVhdHVyZSA9IGFzeW5jICgpID0+IHsgd2luZG93Lm9wZW4ocmVxRmVhdHVyZVVybCwgJ19ibGFuaycpOyB9O1xuICB9XG59XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbXB1dGF0aW9uLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsZ0NBQWdDO0FBQ2hDLDRCQUE0QjtBQUM1QixPQUFPLEtBQUssSUFBSSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekM7Ozs7Ozs7Ozs7Ozs7O0tBY0s7QUFDTCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBQy9DOzs7TUFHRTtJQUNGLFlBQVksUUFBaUI7O1FBQzNCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLEtBQUssRUFBRSxDQUFDO1FBNENWOztVQUVFO1FBQ0YsYUFBUSxHQUErRCxJQUFJLENBQUM7UUFFNUU7O1VBRUU7UUFDRixpQkFBWSxHQUEyRCxJQUFJLENBQUM7UUFFNUU7O1VBRUU7UUFDRixZQUFPLEdBQWlDLElBQUksQ0FBQztRQUU3Qzs7VUFFRTtRQUNGLGNBQVMsR0FBaUMsSUFBSSxDQUFDO1FBRS9DOztVQUVFO1FBQ0YsbUJBQWMsR0FBaUMsSUFBSSxDQUFDO1FBRXBEOztVQUVFO1FBQ0YsYUFBUSxHQUFtQyxHQUFTLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBQyxPQUFBLElBQUksQ0FBQyxFQUFFLE1BQUssTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFBLENBQUEsRUFBQSxDQUFDLENBQUM7WUFDakcsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksTUFBTSxJQUFJLENBQUMsT0FBTyxzQkFBc0IsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztRQUM3SixDQUFDLENBQUEsQ0FBQztRQXpFQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsMENBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFO1lBQ1QsVUFBVSxDQUFDLEdBQVMsRUFBRTtnQkFDcEIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM1QixNQUFNLE1BQU0sR0FBRyxNQUFNLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLElBQUksUUFBUSxFQUFFO2dCQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBTyxJQUFhLEVBQUUsRUFBRTtvQkFDL0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDNUIsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2xCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsQ0FBQyxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO29CQUNkLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLFVBQVUsQ0FBQyxHQUFTLEVBQUU7b0JBQ3BCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNsQixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNiLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29CQUN6QixFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDMUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDUDtTQUNGO0lBQ0gsQ0FBQztJQW1DRDs7O01BR0U7SUFDTyxlQUFlO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFbkksTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDOUIsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdEO2lCQUFNO2dCQUNMLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3ZCO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNsQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDckU7aUJBQU07Z0JBQ0wsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNoQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsQ0FBQztnQkFDSCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDdkI7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEUsVUFBVTtpQkFDUCxLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUNmLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQU8sTUFBYyxFQUFFLEVBQUUsZ0RBQUMsT0FBQSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsR0FBQSxDQUFDO2lCQUNwSyxRQUFRLEVBQUUsQ0FBQztTQUNmO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUztZQUNoQixVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBVSxFQUFFLENBQUMsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQ3JCLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWUsRUFBRSxDQUFDLENBQUM7UUFFckUsSUFBSSxJQUFJLENBQUMsT0FBTztZQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFTLEVBQUU7Z0JBQ2xDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUEsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRWEsY0FBYzs7WUFDMUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBQyxPQUFBLElBQUksQ0FBQyxFQUFFLE1BQUssTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFBLENBQUEsRUFBQSxDQUFDLENBQUM7WUFDakcsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGFBQWEsRUFBRSxDQUFRLENBQUEsQ0FBQyxjQUFjLENBQUM7WUFDekUsSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFTLEVBQUUsZ0RBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUV4RSxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsYUFBYSxFQUFFLENBQVEsQ0FBQSxDQUFDLG1CQUFtQixDQUFDO1lBQy9FLElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7Z0JBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBUyxFQUFFLGdEQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDaEYsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB2YWxpZC1qc2RvYyAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7RnVuY3Rpb25WaWV3fSBmcm9tICcuL2Z1bmN0aW9uLXZpZXcnO1xuaW1wb3J0ICcuLi9jc3MvY29tcHV0YXRpb24tdmlldy5jc3MnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7aGlzdG9yeVV0aWxzfSBmcm9tICcuL2hpc3RvcnktdXRpbHMnO1xuXG5jb25zdCB1cmwgPSBuZXcgVVJMKGdyb2suc2hlbGwuc3RhcnRVcmkpO1xuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBoYW5kbGluZyBDb21wdXRlIG1vZGVscyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhZ3Jvay1haS9wdWJsaWMvYmxvYi9tYXN0ZXIvaGVscC9jb21wdXRlL2NvbXB1dGUubWQpLlxuICogSW4gbW9zdCBjYXNlcywgdGhlIGNvbXB1dGF0aW9uIGlzIGEgc2ltcGxlIHtAbGluayBGdW5jfVxuICogRXh0ZW5kIGl0IGluIGNhc2VzIHdoZXJlIGEgYmVoYXZpb3Igb3IgVUkgbm90IHN1cHBvcnRlZCBieSB0aGUge0BsaW5rIEZ1bmN0aW9uVmlld30gaXMgbmVlZGVkLlxuICpcbiAqIEl0IHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25hbGl0eSBvdXQtb2YtdGhlLWJveCwgd2hlcmUgZWFjaCBzZWN0aW9uIGNvdWxkIGJlIGN1c3RvbWl6ZWQ6XG4gKiAtIGEgc3RydWN0dXJlZCB3YXkgdG8gcmVwcmVzZW50IGlucHV0IGFuZCBvdXRwdXQgcGFyYW1ldGVyczoge0BsaW5rIHBhcmFtZXRlcnN9XG4gKiAtIGdlbmVyaWMgd2F5IHRvIGdlbmVyYXRlIFVJIGZvciBpbnB1dHMsIG91dHB1dHMsIGFuZCBpbnRlcmFjdGl2aXR5IChydW5uaW5nIHRoZSBtb2RlbCwgZXRjKVxuICogICAtIHBlcnNpc3RpbmcgaGlzdG9yaWNhbCByZXN1bHRzIHRvIHRoZSBkYiAodmlhIHtAbGluayBwYXJhbWV0ZXJzfSlcbiAqIC0gZXhwb3J0ICh0byBFeGNlbCBhbmQgUERGKToge0BsaW5rIGV4cG9ydH1cbiAqIC0gZWFzeSBsb2FkaW5nIG9mIGhpc3RvcmljYWwgcnVuc1xuICogLSByb3V0aW5nXG4gKiAtIGVudGVyaW5nIHRoZSByZWFsLCBtZWFzdXJlZCAoYXMgb3Bwb3NlZCB0byBwcmVkaWN0ZWQpIHZhbHVlcyBtYW51YWxseVxuICogLSBub3RpZmljYXRpb25zIGZvciBjaGFuZ2luZyBpbnB1dHMsIGNvbXBsZXRpb24gb2YgY29tcHV0YXRpb25zLCBldGM6IHtAbGluayBvbklucHV0Q2hhbmdlZH1cbiAqICovXG5leHBvcnQgY2xhc3MgQ29tcHV0YXRpb25WaWV3IGV4dGVuZHMgRnVuY3Rpb25WaWV3IHtcbiAgLyoqIEZpbmQgdGhlIGZ1bmN0aW9uIGJ5IGZ1bGx5IHNwZWNpZmllZCBuYW1lLCBsaW5rIGl0IHRvIHRoZSB2aWV3IGFuZCBjb25zdHJ1Y3RzIHRoZSB2aWV3LlxuICAgICogSWYgZnVuY3Rpb24gbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBjYWxscyB7QGxpbmsgaW5pdH0gYW5kIHtAbGluayBidWlsZH0gd2l0aG91dCBGdW5jQ2FsbCBsaW5rYWdlLlxuICAgICogQHN0YWJpbGl0eSBTdGFibGVcbiAgKi9cbiAgY29uc3RydWN0b3IoZnVuY05hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBydW5JZCA9IHVybC5zZWFyY2hQYXJhbXMuZ2V0KCdpZCcpO1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnBhcmVudENhbGwgPSBncm9rLmZ1bmN0aW9ucy5nZXRDdXJyZW50Q2FsbCgpO1xuICAgIHRoaXMucGFyZW50VmlldyA9IGdyb2suZnVuY3Rpb25zLmdldEN1cnJlbnRDYWxsKCkucGFyZW50Q2FsbC5hdXhbJ3ZpZXcnXTtcbiAgICB0aGlzLmJhc2VQYXRoID0gYC8ke2dyb2suZnVuY3Rpb25zLmdldEN1cnJlbnRDYWxsKCk/LmZ1bmMubmFtZX1gO1xuXG4gICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMucm9vdCwgdHJ1ZSk7XG4gICAgaWYgKHJ1bklkKSB7XG4gICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5pbml0KCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0UGFja2FnZVVybHMoKTtcbiAgICAgICAgY29uc3QgdXJsUnVuID0gYXdhaXQgaGlzdG9yeVV0aWxzLmxvYWRSdW4ocnVuSWQpO1xuICAgICAgICB0aGlzLmxpbmtGdW5jY2FsbCh1cmxSdW4pO1xuICAgICAgICB0aGlzLmJ1aWxkKCk7XG4gICAgICAgIGF3YWl0IHRoaXMub25CZWZvcmVMb2FkUnVuKCk7XG4gICAgICAgIHRoaXMubGlua0Z1bmNjYWxsKHVybFJ1bik7XG4gICAgICAgIGF3YWl0IHRoaXMub25BZnRlckxvYWRSdW4odXJsUnVuKTtcbiAgICAgICAgdGhpcy5zZXRSdW5WaWV3UmVhZG9ubHkoKTtcbiAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHRoaXMucm9vdCwgZmFsc2UpO1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZSgnaWQnKTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZnVuY05hbWUpIHtcbiAgICAgICAgKGdyb2suZnVuY3Rpb25zLmV2YWwoZnVuY05hbWUpIGFzIFByb21pc2U8REcuRnVuYz4pLnRoZW4oYXN5bmMgKGZ1bmM6IERHLkZ1bmMpID0+IHtcbiAgICAgICAgICBjb25zdCBmdW5jY2FsbCA9IGZ1bmMucHJlcGFyZSh7fSk7XG4gICAgICAgICAgdGhpcy5saW5rRnVuY2NhbGwoZnVuY2NhbGwpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW5pdCgpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UGFja2FnZVVybHMoKTtcbiAgICAgICAgICB0aGlzLmJ1aWxkKCk7XG4gICAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIHVpLnNldFVwZGF0ZUluZGljYXRvcih0aGlzLnJvb3QsIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmluaXQoKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFBhY2thZ2VVcmxzKCk7XG4gICAgICAgICAgdGhpcy5idWlsZCgpO1xuICAgICAgICAgIHRoaXMuYnVpbGRSaWJib25QYW5lbHMoKTtcbiAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3IodGhpcy5yb290LCBmYWxzZSk7XG4gICAgICAgIH0sIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBPdmVycmlkZSB0byBjdXN0b21pemUgZ2V0dGluZyBtb2Nrc1xuICAgICogQHN0YWJpbGl0eSBFeHBlcmltZW50YWxcbiAgKi9cbiAgZ2V0TW9ja3M6ICh7bW9ja05hbWU6IHN0cmluZywgYWN0aW9uOiAoKSA9PiBQcm9taXNlPHZvaWQ+fVtdKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPdmVycmlkZSB0byBjdXN0b21pemUgZ2V0dGluZyB0ZW1wbGF0ZXNcbiAgICAqIEBzdGFiaWxpdHkgRXhwZXJpbWVudGFsXG4gICovXG4gIGdldFRlbXBsYXRlczogKHtuYW1lOiBzdHJpbmcsIGFjdGlvbjogKCkgPT4gUHJvbWlzZTx2b2lkPn1bXSkgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3ZlcnJpZGUgdG8gY3VzdG9taXplIGdldHRpbmcgaGVscCBmZWF0dXJlXG4gICAgKiBAc3RhYmlsaXR5IFN0YWJsZVxuICAqL1xuICBnZXRIZWxwOiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3ZlcnJpZGUgdG8gY3VzdG9taXplIGJ1ZyByZXBvcnRpbmcgZmVhdHVyZVxuICAgICogQHN0YWJpbGl0eSBTdGFibGVcbiAgKi9cbiAgcmVwb3J0QnVnOiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3ZlcnJpZGUgdG8gY3VzdG9taXplIGZlYXR1cmUgcmVxdWVzdCBmZWF0dXJlXG4gICAgKiBAc3RhYmlsaXR5IFN0YWJsZVxuICAqL1xuICByZXF1ZXN0RmVhdHVyZTogKCgpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE92ZXJyaWRlIHRvIGN1c3RvbWl6ZSBcImFib3V0XCIgaW5mbyBvYnRhaW5pbmcgZmVhdHVyZS5cbiAgICAqIEBzdGFiaWxpdHkgRXhwZXJpbWVudGFsXG4gICovXG4gIGdldEFib3V0OiAoKCkgPT4gUHJvbWlzZTxzdHJpbmc+KSB8IG51bGwgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGFjayA9IChhd2FpdCBncm9rLmRhcGkucGFja2FnZXMubGlzdCgpKS5maW5kKChwYWNrKSA9PiBwYWNrLmlkID09PSB0aGlzLmZ1bmM/LnBhY2thZ2UuaWQpO1xuICAgIHJldHVybiBwYWNrID8gYCR7cGFjay5mcmllbmRseU5hbWV9IHYuJHtwYWNrLnZlcnNpb259Llxcbkxhc3QgdXBkYXRlZCBvbiAke2RheWpzKHBhY2sudXBkYXRlZE9uKS5mb3JtYXQoJ1lZWVkgTU1NIEQsIEhIOm1tJyl9YDogYE5vIHBhY2thZ2UgaW5mbyB3YXMgZm91bmRgO1xuICB9O1xuXG4gIC8qKlxuICAgKiBMb29rcyBmb3Ige0BsaW5rIHJlcG9ydEJ1Z30sIHtAbGluayBnZXRIZWxwfSBhbmQge0BsaW5rIGV4cG9ydENvbmZpZ30gbWVtYmVycyBhbmQgY3JlYXRlcyBtb2RlbCBtZW51c1xuICAgKiBAc3RhYmlsaXR5IFN0YWJsZVxuICAqL1xuICBvdmVycmlkZSBidWlsZFJpYmJvbk1lbnUoKSB7XG4gICAgc3VwZXIuYnVpbGRSaWJib25NZW51KCk7XG5cbiAgICBpZiAoIXRoaXMuZXhwb3J0Q29uZmlnICYmICF0aGlzLnJlcG9ydEJ1ZyAmJiAhdGhpcy5yZXF1ZXN0RmVhdHVyZSAmJiAhdGhpcy5nZXRIZWxwICYmICF0aGlzLmdldE1vY2tzICYmICF0aGlzLmdldFRlbXBsYXRlcykgcmV0dXJuO1xuXG4gICAgY29uc3QgcmliYm9uTWVudSA9IHRoaXMucmliYm9uTWVudS5ncm91cCgnTW9kZWwnKTtcblxuICAgIGlmICh0aGlzLmdldE1vY2tzICYmIHRoaXMuZ2V0TW9ja3MubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuZ2V0TW9ja3MubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJpYmJvbk1lbnUuaXRlbSgnSW5wdXQgZGF0YSBtb2NrJywgdGhpcy5nZXRNb2Nrc1swXS5hY3Rpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGF0YUdyb3VwID0gcmliYm9uTWVudS5ncm91cCgnSW5wdXQgZGF0YSBtb2NrcycpO1xuICAgICAgICB0aGlzLmdldE1vY2tzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGRhdGFHcm91cC5pdGVtKHZhbC5tb2NrTmFtZSwgdmFsLmFjdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgICByaWJib25NZW51LmVuZEdyb3VwKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ2V0VGVtcGxhdGVzICYmIHRoaXMuZ2V0VGVtcGxhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0aGlzLmdldFRlbXBsYXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmliYm9uTWVudS5pdGVtKCdJbnB1dCBkYXRhIHRlbXBsYXRlJywgdGhpcy5nZXRUZW1wbGF0ZXNbMF0uYWN0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGFHcm91cCA9IHJpYmJvbk1lbnUuZ3JvdXAoJ0lucHV0IGRhdGEgdGVtcGxhdGVzJyk7XG4gICAgICAgIHRoaXMuZ2V0VGVtcGxhdGVzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICAgIGRhdGFHcm91cC5pdGVtKHZhbC5uYW1lLCB2YWwuYWN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJpYmJvbk1lbnUuZW5kR3JvdXAoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5leHBvcnRDb25maWcgJiYgdGhpcy5leHBvcnRDb25maWcuc3VwcG9ydGVkRm9ybWF0cy5sZW5ndGggPiAwKSB7XG4gICAgICByaWJib25NZW51XG4gICAgICAgIC5ncm91cCgnRXhwb3J0JylcbiAgICAgICAgLml0ZW1zKHRoaXMuZXhwb3J0Q29uZmlnLnN1cHBvcnRlZEZvcm1hdHMsIGFzeW5jIChmb3JtYXQ6IHN0cmluZykgPT4gREcuVXRpbHMuZG93bmxvYWQodGhpcy5leHBvcnRDb25maWchLmZpbGVuYW1lKGZvcm1hdCksIGF3YWl0IHRoaXMuZXhwb3J0Q29uZmlnIS5leHBvcnQoZm9ybWF0KSkpXG4gICAgICAgIC5lbmRHcm91cCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlcG9ydEJ1ZylcbiAgICAgIHJpYmJvbk1lbnUuaXRlbSgnUmVwb3J0IGEgYnVnJywgKCkgPT4gdGhpcy5yZXBvcnRCdWchKCkpO1xuXG4gICAgaWYgKHRoaXMucmVxdWVzdEZlYXR1cmUpXG4gICAgICByaWJib25NZW51Lml0ZW0oJ1JlcXVlc3QgYSBmZWF0dXJlJywgKCkgPT4gdGhpcy5yZXF1ZXN0RmVhdHVyZSEoKSk7XG5cbiAgICBpZiAodGhpcy5nZXRIZWxwKVxuICAgICAgcmliYm9uTWVudS5pdGVtKCdIZWxwJywgKCkgPT4gdGhpcy5nZXRIZWxwISgpKTtcblxuICAgIGlmICh0aGlzLmdldEFib3V0KSB7XG4gICAgICByaWJib25NZW51Lml0ZW0oJ0Fib3V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBkaWFsb2cgPSB1aS5kaWFsb2coJ0N1cnJlbnQgdmVyc2lvbicpO1xuICAgICAgICAoYXdhaXQgdGhpcy5nZXRBYm91dCEoKSkuc3BsaXQoJ1xcbicpLmZvckVhY2goKGxpbmUpID0+IGRpYWxvZy5hZGQodWkubGFiZWwobGluZSkpKTtcbiAgICAgICAgZGlhbG9nLm9uT0soKCkgPT4ge30pO1xuICAgICAgICBkaWFsb2cuZ2V0QnV0dG9uKCdDQU5DRUwnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICBkaWFsb2cuc2hvdyh7Y2VudGVyOiB0cnVlfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFBhY2thZ2VVcmxzKCkge1xuICAgIGNvbnN0IHBhY2sgPSAoYXdhaXQgZ3Jvay5kYXBpLnBhY2thZ2VzLmxpc3QoKSkuZmluZCgocGFjaykgPT4gcGFjay5pZCA9PT0gdGhpcy5mdW5jPy5wYWNrYWdlLmlkKTtcbiAgICBjb25zdCByZXBvcnRCdWdVcmwgPSAoYXdhaXQgcGFjaz8uZ2V0UHJvcGVydGllcygpIGFzIGFueSkuUkVQT1JUX0JVR19VUkw7XG4gICAgaWYgKHJlcG9ydEJ1Z1VybCAmJiAhdGhpcy5yZXBvcnRCdWcpXG4gICAgICB0aGlzLnJlcG9ydEJ1ZyA9IGFzeW5jICgpID0+IHsgd2luZG93Lm9wZW4ocmVwb3J0QnVnVXJsLCAnX2JsYW5rJyk7IH07XG5cbiAgICBjb25zdCByZXFGZWF0dXJlVXJsID0gKGF3YWl0IHBhY2s/LmdldFByb3BlcnRpZXMoKSBhcyBhbnkpLlJFUVVFU1RfRkVBVFVSRV9VUkw7XG4gICAgaWYgKHJlcUZlYXR1cmVVcmwgJiYgIXRoaXMucmVxdWVzdEZlYXR1cmUpXG4gICAgICB0aGlzLnJlcXVlc3RGZWF0dXJlID0gYXN5bmMgKCkgPT4geyB3aW5kb3cub3BlbihyZXFGZWF0dXJlVXJsLCAnX2JsYW5rJyk7IH07XG4gIH1cbn1cbiJdfQ==
|