nsc-react-component 1.1.17 → 1.2.0
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/lib/chart/index.d.ts +1 -1
- package/lib/chart/index.js +6 -4
- package/package.json +1 -1
package/lib/chart/index.d.ts
CHANGED
package/lib/chart/index.js
CHANGED
|
@@ -308,11 +308,13 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
308
308
|
var myChart = this.myChart = echarts.init(this.chartRef.current); //初始化echarts,通过ref属性获取dom
|
|
309
309
|
|
|
310
310
|
myChart.clear();
|
|
311
|
+
myChart.off("click");
|
|
311
312
|
myChart.setOption(newOption);
|
|
312
313
|
myChart.on("click", function (params) {
|
|
313
|
-
myChart
|
|
314
|
-
|
|
315
|
-
|
|
314
|
+
OnClick && OnClick(params, myChart);
|
|
315
|
+
});
|
|
316
|
+
myChart.getZr().on("click", function (params) {
|
|
317
|
+
OnClick && OnClick(params, myChart);
|
|
316
318
|
});
|
|
317
319
|
window.addEventListener("resize", this.handleChartResize.bind(this));
|
|
318
320
|
}
|
|
@@ -344,4 +346,4 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
344
346
|
}(PureComponent);
|
|
345
347
|
|
|
346
348
|
export default NscChart;
|
|
347
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJkYXRhIiwic3RvcmUiLCJjaGlsZHJlbiIsIm9wdGlvbnMiLCJvcHRpb24iLCJhdXRvTG9hZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJzdG9yZXMiLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJpc0ZpcnN0IiwiaW5pdCIsImRhdGFDaGFuZ2VkIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwidiIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFydFJlc2l6ZSIsImJpbmQiLCJ0ZXN0Iiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiZGF0YXMiLCJkYXRhTWFwIiwicmVzdWx0IiwiaXNTdHJpbmciLCJpc1JlcGxhY2UiLCJyZXBsYWNlIiwibWFwIiwiaXRlbSIsInZhbHVlIiwiZGF0YUNvbnZlcnNpb24iLCJ0ZW1wT2JqIiwia2V5IiwicHVzaCIsIm9iaiIsIk9uQ2xpY2siLCJzdGF0ZSIsIm5ld0RhdGFzIiwibmV3T3B0aW9uIiwieEF4aXMiLCJvYmplY3RDb252ZXJzaW9uIiwieUF4aXMiLCJzZXJpZXMiLCJteUNoYXJ0IiwiY2hhcnRSZWYiLCJjdXJyZW50IiwiY2xlYXIiLCJzZXRPcHRpb24iLCJvbiIsInBhcmFtcyIsIm9mZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZXNpemUiLCJ3aWR0aCIsImhlaWdo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QUFLLFFBQUEsS0FBSyxFQUFFQyxRQUFaO0FBQXNCLFFBQUEsR0FBRyxFQUFFLEtBQUtYO0FBQWhDLFFBQVA7QUFDRDs7OztFQXJOb0J0RSxhOztBQXdOdkIsZUFBZU8sUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCAqIGFzIGVjaGFydHMgZnJvbSBcImVjaGFydHNcIjtcclxuaW1wb3J0IHsgRUNoYXJ0cyB9IGZyb20gXCJlY2hhcnRzL2xpYi9lY2hhcnRzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBweDJ2dyB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc09iamVjdCB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbnRlcmZhY2UgQ2hhcnRQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIG9wdGlvbjogYW55O1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+IHwgT2JqZWN0O1xyXG4gIHdpZHRoOiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo5a695bqmXHJcbiAgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo6ZW/5bqmXHJcbiAgYXV0b0xvYWQ/OiBib29sZWFuOyAvL+aVsOaNruaUueWPmO+8jOiHquWKqOWIt+aWsOWbvuihqCzpu5jorqR0cnVlXHJcbiAgT25DbGljaz86IChwYXJhbXM6IGFueSkgPT4gdm9pZDsgLy/lm77ooajngrnlh7vkuovku7ZcclxufVxyXG5cclxuLy9kYXRh56S65L6LXHJcbi8qKlxyXG4g5pWw57uE77yaXHJcbiBkYXRhPVt7bmFtZTonMeaciCcsdmFsdWU6MjB9LHtuYW1lOicy5pyIJyx2YWx1ZToxMH0se25hbWU6JzPmnIgnLHZhbHVlOjI1fV1cclxuIOWvueixoVxyXG4gZGF0YT17bmFtZTpbJzHmnIgnLCcy5pyIJywnM+aciCddLHZhbHVlOlsyMCwzMCw0MF19XHJcbiAqL1xyXG5jbGFzcyBOc2NDaGFydCBleHRlbmRzIFB1cmVDb21wb25lbnQ8Q2hhcnRQcm9wcz4ge1xyXG4gIGNoYXJ0UmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG4gIG15Q2hhcnQ6IEVDaGFydHMgfCBudWxsID0gbnVsbDtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBudWxsLFxyXG4gIH07XHJcbiAgaXNGaXJzdCA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbjogb3B0aW9ucyxcclxuICAgICAgYXV0b0xvYWQgPSB0cnVlLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB1cmwsIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgWRhdGHjgIFvcHRpb27kuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoX3RoaXMuaXNGaXJzdCAmJiBhdXRvTG9hZCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaXNGaXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYXV0b0xvYWQpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmluaXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh1cmwgJiYgZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGF1dG9Mb2FkID0gdHJ1ZSwgc3RvcmUsIG9wdGlvbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChkYXRhICYmIGF1dG9Mb2FkKSB7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfSBlbHNlIGlmICghZGF0YSAmJiAhc3RvcmU/LnVybCAmJiBvcHRpb24pIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PENoYXJ0UHJvcHM+LFxyXG4gICAgcHJldlN0YXRlOiBSZWFkb25seTx7fT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBhdXRvTG9hZCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoYXV0b0xvYWQpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHByZXZQcm9wcy5kYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5kYXRhKSkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHByZXZQcm9wcy5vcHRpb24pICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLm9wdGlvbilcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlU2V0Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgaXNTdHJpbmcodikge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiO1xyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlQ2hhcnRSZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBpc1JlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIC9eey4qfSQvZ2kudGVzdCh2KTtcclxuICB9XHJcbiAgcmVwbGFjZSh2KSB7XHJcbiAgICByZXR1cm4gdi5zdWJzdHJpbmcoMSwgdi5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIGRhdGFDb252ZXJzaW9uKGRhdGEsIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuaXNTdHJpbmcoZGF0YSkgJiYgdGhpcy5pc1JlcGxhY2UoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBkYXRhTWFwW3RoaXMucmVwbGFjZShkYXRhKV07XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdiA9IGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICBpZiAodiAmJiB0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gdGhpcy5kYXRhQ29udmVyc2lvbih2LCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YTtcclxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdChkYXRhKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IFtdO1xyXG4gICAgICAgIGlmIChpc0FycmF5KGRhdGFzKSkge1xyXG4gICAgICAgICAgZGF0YXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciB0ZW1wT2JqID0ge307XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHYgPSBpdGVtW2tleV07XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaXNSZXBsYWNlKHYpKSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSBpdGVtW3RoaXMucmVwbGFjZSh2KV07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRlbXBPYmpba2V5XSA9IHY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRlbXBPYmopO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBvYmplY3RDb252ZXJzaW9uKG9iaiwgZGF0YXMsIGRhdGFNYXApIHtcclxuICAgIGxldCB0ZW1wT2JqOiBhbnk7XHJcbiAgICBpZiAob2JqKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gWy4uLm9ial07XHJcbiAgICAgICAgdGVtcE9iai5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmIChpdGVtLmRhdGEpIHtcclxuICAgICAgICAgICAgaXRlbS5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbihpdGVtLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU3RyaW5nKG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gb2JqO1xyXG4gICAgICAgIHRlbXBPYmouZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odGVtcE9iaiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0geyAuLi5vYmogfTtcclxuICAgICAgICB0ZW1wT2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHRlbXBPYmouZGF0YSwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGVtcE9iajtcclxuICB9XHJcbiAgaW5pdCgpIHtcclxuICAgIGNvbnN0IHsgb3B0aW9uLCBkYXRhLCBPbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IGRhdGFNYXA6IGFueSA9IHt9O1xyXG4gICAgY29uc3QgbmV3RGF0YXMgPSBkYXRhIHx8IGRhdGFTb3VyY2U7XHJcbiAgICBsZXQgbmV3T3B0aW9uOiBhbnkgPSB7IC4uLm9wdGlvbiB9O1xyXG4gICAgaWYgKGlzQXJyYXkobmV3RGF0YXMpKSB7XHJcbiAgICAgIG5ld0RhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICBpZiAoZGF0YU1hcFtrZXldID09IG51bGwpIHtcclxuICAgICAgICAgICAgZGF0YU1hcFtrZXldID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkYXRhTWFwW2tleV0ucHVzaChpdGVtW2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG5ld0RhdGFzKSkge1xyXG4gICAgICBkYXRhTWFwID0gbmV3RGF0YXM7XHJcbiAgICB9XHJcbiAgICBuZXdPcHRpb24ueEF4aXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24obmV3T3B0aW9uLnhBeGlzLCBuZXdEYXRhcywgZGF0YU1hcCk7XHJcbiAgICBuZXdPcHRpb24ueUF4aXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24obmV3T3B0aW9uLnlBeGlzLCBuZXdEYXRhcywgZGF0YU1hcCk7XHJcbiAgICBuZXdPcHRpb24uc2VyaWVzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKFxyXG4gICAgICBuZXdPcHRpb24uc2VyaWVzLFxyXG4gICAgICBuZXdEYXRhcyxcclxuICAgICAgZGF0YU1hcFxyXG4gICAgKTtcclxuICAgIGNvbnN0IG15Q2hhcnQgPSAodGhpcy5teUNoYXJ0ID0gZWNoYXJ0cy5pbml0KFxyXG4gICAgICB0aGlzLmNoYXJ0UmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnRcclxuICAgICkpOyAvL+WIneWni+WMlmVjaGFydHPvvIzpgJrov4dyZWblsZ7mgKfojrflj5Zkb21cclxuICAgIG15Q2hhcnQuY2xlYXIoKTtcclxuICAgIG15Q2hhcnQuc2V0T3B0aW9uKG5ld09wdGlvbik7XHJcbiAgICBteUNoYXJ0Lm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKHBhcmFtcykge1xyXG4gICAgICBteUNoYXJ0Lm9mZihcImNsaWNrXCIpOyAvLyDov5nph4zlvojph43opoEg77yM6Ziy5q2i6YeN5aSN54K55Ye75LqL5Lu277yB77yB77yBXHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMpO1xyXG4gICAgfSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZUNoYXJ0UmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhcnRSZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5teUNoYXJ0KSB7XHJcbiAgICAgIHRoaXMubXlDaGFydC5yZXNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGJveFN0eWxlID0ge1xyXG4gICAgICB3aWR0aDogdHlwZW9mIHdpZHRoID09IFwibnVtYmVyXCIgPyBweDJ2dyh3aWR0aCkgOiB3aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0eXBlb2YgaGVpZ2h0ID09IFwibnVtYmVyXCIgPyBweDJ2dyhoZWlnaHQpIDogaGVpZ2h0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiA8ZGl2IHN0eWxlPXtib3hTdHlsZX0gcmVmPXt0aGlzLmNoYXJ0UmVmfT48L2Rpdj47XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOc2NDaGFydDtcclxuIl19
|
|
349
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJkYXRhIiwic3RvcmUiLCJjaGlsZHJlbiIsIm9wdGlvbnMiLCJvcHRpb24iLCJhdXRvTG9hZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJzdG9yZXMiLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJpc0ZpcnN0IiwiaW5pdCIsImRhdGFDaGFuZ2VkIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwidiIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFydFJlc2l6ZSIsImJpbmQiLCJ0ZXN0Iiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiZGF0YXMiLCJkYXRhTWFwIiwicmVzdWx0IiwiaXNTdHJpbmciLCJpc1JlcGxhY2UiLCJyZXBsYWNlIiwibWFwIiwiaXRlbSIsInZhbHVlIiwiZGF0YUNvbnZlcnNpb24iLCJ0ZW1wT2JqIiwia2V5IiwicHVzaCIsIm9iaiIsIk9uQ2xpY2siLCJzdGF0ZSIsIm5ld0RhdGFzIiwibmV3T3B0aW9uIiwieEF4aXMiLCJvYmplY3RDb252ZXJzaW9uIiwieUF4aXMiLCJzZXJpZXMiLCJteUNoYXJ0IiwiY2hhcnRSZWYiLCJjdXJyZW50IiwiY2xlYXIiLCJvZmYiLCJzZXRPcHRpb24iLCJvbiIsInBhcmFtcyIsImdldFpyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlc2l6ZSIsIndpZHRo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MkI1RSxLQUFLLENBQUM0RSxLQUFELENBQWhDLEdBQTBDQSxLQURsQztBQUVmQyxRQUFBQSxNQUFNLEVBQUUsT0FBT0EsTUFBUCxJQUFpQixRQUFqQixHQUE0QjdFLEtBQUssQ0FBQzZFLE1BQUQsQ0FBakMsR0FBNENBO0FBRnJDLE9BQWpCO0FBSUEsMEJBQU87QUFBSyxRQUFBLEtBQUssRUFBRUMsUUFBWjtBQUFzQixRQUFBLEdBQUcsRUFBRSxLQUFLWjtBQUFoQyxRQUFQO0FBQ0Q7Ozs7RUF6Tm9CdEUsYTs7QUE0TnZCLGVBQWVPLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gXCJlY2hhcnRzXCI7XHJcbmltcG9ydCB7IEVDaGFydHMgfSBmcm9tIFwiZWNoYXJ0cy9saWIvZWNoYXJ0c1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IHsgcHgydncgfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW50ZXJmYWNlIENoYXJ0UHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBvcHRpb246IGFueTtcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PiB8IE9iamVjdDtcclxuICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOWuveW6plxyXG4gIGhlaWdodDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOmVv+W6plxyXG4gIGF1dG9Mb2FkPzogYm9vbGVhbjsgLy/mlbDmja7mlLnlj5jvvIzoh6rliqjliLfmlrDlm77ooags6buY6K6kdHJ1ZVxyXG4gIE9uQ2xpY2s/OiAocGFyYW1zOiBhbnksIGU/OiBhbnkpID0+IHZvaWQ7IC8v5Zu+6KGo54K55Ye75LqL5Lu2XHJcbn1cclxuXHJcbi8vZGF0YeekuuS+i1xyXG4vKipcclxuIOaVsOe7hO+8mlxyXG4gZGF0YT1be25hbWU6JzHmnIgnLHZhbHVlOjIwfSx7bmFtZTonMuaciCcsdmFsdWU6MTB9LHtuYW1lOicz5pyIJyx2YWx1ZToyNX1dXHJcbiDlr7nosaFcclxuIGRhdGE9e25hbWU6Wycx5pyIJywnMuaciCcsJzPmnIgnXSx2YWx1ZTpbMjAsMzAsNDBdfVxyXG4gKi9cclxuY2xhc3MgTnNjQ2hhcnQgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PENoYXJ0UHJvcHM+IHtcclxuICBjaGFydFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuICBteUNoYXJ0OiBFQ2hhcnRzIHwgbnVsbCA9IG51bGw7XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogbnVsbCxcclxuICB9O1xyXG4gIGlzRmlyc3QgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb246IG9wdGlvbnMsXHJcbiAgICAgIGF1dG9Mb2FkID0gdHJ1ZSxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgLi4uc3RvcmVzIH0gPSBzdG9yZTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIFkYXRh44CBb3B0aW9u5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKF90aGlzLmlzRmlyc3QgJiYgYXV0b0xvYWQpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmluaXQoKTtcclxuICAgICAgICAgICAgICAgIF90aGlzLmlzRmlyc3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGF1dG9Mb2FkKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5pbml0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodXJsICYmIGRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBhdXRvTG9hZCA9IHRydWUsIHN0b3JlLCBvcHRpb24gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZGF0YSAmJiBhdXRvTG9hZCkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH0gZWxzZSBpZiAoIWRhdGEgJiYgIXN0b3JlPy51cmwgJiYgb3B0aW9uKSB7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKFxyXG4gICAgcHJldlByb3BzOiBSZWFkb25seTxDaGFydFByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8e30+LFxyXG4gICAgc25hcHNob3Q/OiBhbnlcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYXV0b0xvYWQgPSB0cnVlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGF1dG9Mb2FkKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShwcmV2UHJvcHMuZGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZGF0YSkpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShwcmV2UHJvcHMub3B0aW9uKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5vcHRpb24pXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZVNldENoYXJ0KCkge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG4gIGlzU3RyaW5nKHYpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIjtcclxuICB9XHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZUNoYXJ0UmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgaXNSZXBsYWNlKHYpIHtcclxuICAgIHJldHVybiAvXnsuKn0kL2dpLnRlc3Qodik7XHJcbiAgfVxyXG4gIHJlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIHYuc3Vic3RyaW5nKDEsIHYubGVuZ3RoIC0gMSk7XHJcbiAgfVxyXG5cclxuICBkYXRhQ29udmVyc2lvbihkYXRhLCBkYXRhcywgZGF0YU1hcCkge1xyXG4gICAgbGV0IHJlc3VsdDtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzU3RyaW5nKGRhdGEpICYmIHRoaXMuaXNSZXBsYWNlKGRhdGEpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YU1hcFt0aGlzLnJlcGxhY2UoZGF0YSldO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHYgPSBpdGVtLnZhbHVlO1xyXG4gICAgICAgICAgaWYgKHYgJiYgdGhpcy5pc1JlcGxhY2UodikpIHtcclxuICAgICAgICAgICAgaXRlbS52YWx1ZSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdCA9IGRhdGE7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBbXTtcclxuICAgICAgICBpZiAoaXNBcnJheShkYXRhcykpIHtcclxuICAgICAgICAgIGRhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgdGVtcE9iaiA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgICAgICAgIGxldCB2ID0gaXRlbVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICAgICAgdGVtcE9ialtrZXldID0gaXRlbVt0aGlzLnJlcGxhY2UodildO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSB2O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh0ZW1wT2JqKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgb2JqZWN0Q29udmVyc2lvbihvYmosIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBsZXQgdGVtcE9iajogYW55O1xyXG4gICAgaWYgKG9iaikge1xyXG4gICAgICBpZiAoaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgdGVtcE9iaiA9IFsuLi5vYmpdO1xyXG4gICAgICAgIHRlbXBPYmoubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbS5kYXRhKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24oaXRlbS5kYXRhLCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1N0cmluZyhvYmopKSB7XHJcbiAgICAgICAgdGVtcE9iaiA9IG9iajtcclxuICAgICAgICB0ZW1wT2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHRlbXBPYmosIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdChvYmopKSB7XHJcbiAgICAgICAgdGVtcE9iaiA9IHsgLi4ub2JqIH07XHJcbiAgICAgICAgdGVtcE9iai5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbih0ZW1wT2JqLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRlbXBPYmo7XHJcbiAgfVxyXG4gIGluaXQoKSB7XHJcbiAgICBjb25zdCB7IG9wdGlvbiwgZGF0YSwgT25DbGljayB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBkYXRhTWFwOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IG5ld0RhdGFzID0gZGF0YSB8fCBkYXRhU291cmNlO1xyXG4gICAgbGV0IG5ld09wdGlvbjogYW55ID0geyAuLi5vcHRpb24gfTtcclxuICAgIGlmIChpc0FycmF5KG5ld0RhdGFzKSkge1xyXG4gICAgICBuZXdEYXRhcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgICAgaWYgKGRhdGFNYXBba2V5XSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGRhdGFNYXBba2V5XSA9IFtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGF0YU1hcFtrZXldLnB1c2goaXRlbVtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChpc09iamVjdChuZXdEYXRhcykpIHtcclxuICAgICAgZGF0YU1hcCA9IG5ld0RhdGFzO1xyXG4gICAgfVxyXG4gICAgbmV3T3B0aW9uLnhBeGlzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKG5ld09wdGlvbi54QXhpcywgbmV3RGF0YXMsIGRhdGFNYXApO1xyXG4gICAgbmV3T3B0aW9uLnlBeGlzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKG5ld09wdGlvbi55QXhpcywgbmV3RGF0YXMsIGRhdGFNYXApO1xyXG4gICAgbmV3T3B0aW9uLnNlcmllcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihcclxuICAgICAgbmV3T3B0aW9uLnNlcmllcyxcclxuICAgICAgbmV3RGF0YXMsXHJcbiAgICAgIGRhdGFNYXBcclxuICAgICk7XHJcbiAgICBjb25zdCBteUNoYXJ0ID0gKHRoaXMubXlDaGFydCA9IGVjaGFydHMuaW5pdChcclxuICAgICAgdGhpcy5jaGFydFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50XHJcbiAgICApKTsgLy/liJ3lp4vljJZlY2hhcnRz77yM6YCa6L+HcmVm5bGe5oCn6I635Y+WZG9tXHJcbiAgICBteUNoYXJ0LmNsZWFyKCk7XHJcbiAgICBteUNoYXJ0Lm9mZihcImNsaWNrXCIpO1xyXG4gICAgbXlDaGFydC5zZXRPcHRpb24obmV3T3B0aW9uKTtcclxuICAgIG15Q2hhcnQub24oXCJjbGlja1wiLCBmdW5jdGlvbiAocGFyYW1zKSB7XHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMsIG15Q2hhcnQpO1xyXG4gICAgfSk7XHJcbiAgICBteUNoYXJ0LmdldFpyKCkub24oXCJjbGlja1wiLCAocGFyYW1zKSA9PiB7XHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMsIG15Q2hhcnQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0UmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMubXlDaGFydCkge1xyXG4gICAgICB0aGlzLm15Q2hhcnQucmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBib3hTdHlsZSA9IHtcclxuICAgICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PSBcIm51bWJlclwiID8gcHgydncod2lkdGgpIDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PSBcIm51bWJlclwiID8gcHgydncoaGVpZ2h0KSA6IGhlaWdodCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gPGRpdiBzdHlsZT17Ym94U3R5bGV9IHJlZj17dGhpcy5jaGFydFJlZn0+PC9kaXY+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjQ2hhcnQ7XHJcbiJdfQ==
|