nsc-react-component 1.1.15 → 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/lib/select/index.d.ts +1 -0
- package/lib/select/index.js +20 -15
- 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==
|
package/lib/select/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ interface ISelectProps extends SelectProps<any> {
|
|
|
7
7
|
labelField?: string;
|
|
8
8
|
valueField?: string;
|
|
9
9
|
defaultStyle?: boolean;
|
|
10
|
+
showGroup?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export default class NSCSelect extends PureComponent<ISelectProps> {
|
|
12
13
|
static Option: import("rc-select/lib/Option").OptionFC;
|
package/lib/select/index.js
CHANGED
|
@@ -3,7 +3,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
3
3
|
import "antd/es/select/style/css";
|
|
4
4
|
import _Select from "antd/es/select";
|
|
5
5
|
var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey"],
|
|
6
|
-
_excluded2 = ["children", "store", "data", "onChange", "options", "labelField", "valueField", "defaultStyle"];
|
|
6
|
+
_excluded2 = ["children", "store", "data", "onChange", "options", "labelField", "valueField", "defaultStyle", "showGroup"];
|
|
7
7
|
|
|
8
8
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
9
9
|
|
|
@@ -181,7 +181,10 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
181
181
|
value: function renderChildren() {
|
|
182
182
|
var _this3 = this;
|
|
183
183
|
|
|
184
|
-
var
|
|
184
|
+
var _this$props3 = this.props,
|
|
185
|
+
children = _this$props3.children,
|
|
186
|
+
_this$props3$showGrou = _this$props3.showGroup,
|
|
187
|
+
showGroup = _this$props3$showGrou === void 0 ? true : _this$props3$showGrou;
|
|
185
188
|
var dataSource = this.state.dataSource;
|
|
186
189
|
|
|
187
190
|
if (children) {
|
|
@@ -192,7 +195,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
192
195
|
dataSource.forEach(function (item) {
|
|
193
196
|
var label = item.groupName;
|
|
194
197
|
|
|
195
|
-
if (label) {
|
|
198
|
+
if (label && showGroup) {
|
|
196
199
|
if (!optGroupData[label]) optGroupData[label] = [];
|
|
197
200
|
optGroupData[label].push(item);
|
|
198
201
|
} else {
|
|
@@ -224,17 +227,19 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
224
227
|
}, {
|
|
225
228
|
key: "render",
|
|
226
229
|
value: function render() {
|
|
227
|
-
var _this$
|
|
228
|
-
children = _this$
|
|
229
|
-
store = _this$
|
|
230
|
-
data = _this$
|
|
231
|
-
onChange = _this$
|
|
232
|
-
options = _this$
|
|
233
|
-
labelField = _this$
|
|
234
|
-
valueField = _this$
|
|
235
|
-
_this$
|
|
236
|
-
defaultStyle = _this$
|
|
237
|
-
|
|
230
|
+
var _this$props4 = this.props,
|
|
231
|
+
children = _this$props4.children,
|
|
232
|
+
store = _this$props4.store,
|
|
233
|
+
data = _this$props4.data,
|
|
234
|
+
onChange = _this$props4.onChange,
|
|
235
|
+
options = _this$props4.options,
|
|
236
|
+
labelField = _this$props4.labelField,
|
|
237
|
+
valueField = _this$props4.valueField,
|
|
238
|
+
_this$props4$defaultS = _this$props4.defaultStyle,
|
|
239
|
+
defaultStyle = _this$props4$defaultS === void 0 ? true : _this$props4$defaultS,
|
|
240
|
+
_this$props4$showGrou = _this$props4.showGroup,
|
|
241
|
+
showGroup = _this$props4$showGrou === void 0 ? true : _this$props4$showGrou,
|
|
242
|
+
params = _objectWithoutProperties(_this$props4, _excluded2);
|
|
238
243
|
|
|
239
244
|
var props = {
|
|
240
245
|
showSearch: true,
|
|
@@ -285,4 +290,4 @@ _defineProperty(NSCSelect, "Option", Option);
|
|
|
285
290
|
_defineProperty(NSCSelect, "OptGroup", OptGroup);
|
|
286
291
|
|
|
287
292
|
export { NSCSelect as default };
|
|
288
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiTlNDU2VsZWN0IiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YSIsInN0b3JlIiwiY2hpbGRyZW4iLCJvcHRpb25zIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJzdG9yZXMiLCJ2aWV3VXJsIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwib3B0aW9uRGF0YSIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwibWFwIiwiaXRlbSIsImtleSIsImlkIiwiZGlzYWJsZWQiLCJvcHRHcm91cERhdGEiLCJmb3JFYWNoIiwibGFiZWwiLCJncm91cE5hbWUiLCJwdXNoIiwib3B0aW9uIiwicmVuZGVyT3B0aW9uIiwib3B0R3JvdXAiLCJPYmplY3QiLCJrZXlzIiwidmFsdWUiLCJvbkNoYW5nZSIsInNlbGVjdFZhbHVlIiwiZGVmYXVsdFN0eWxlIiwicGFyYW1zIiwic2hvd1NlYXJjaCIsIm9wdGlvbkZpbHRlclByb3AiLCJwbGFjZWhvbGRlciIsImFsbG93Q2xlYXIiLCJiaW5kIiwicmVuZGVyQ2hpbGRyZW4iLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJuZXdEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0Es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Q3VELFNBQWpDLENBQXVCdkQsS0FBdkI7O0FBQ0EsVUFBSUQsSUFBSSxJQUFJRyxPQUFaLEVBQXFCO0FBQ25CLFlBQU11RCxPQUFPLEdBQUcxRCxJQUFJLEdBQUdBLElBQUgsR0FBVUcsT0FBOUI7O0FBQ0EsWUFBSXdELElBQUksQ0FBQ0MsU0FBTCxDQUFlN0QsVUFBZixNQUErQjRELElBQUksQ0FBQ0MsU0FBTCxDQUFlRixPQUFmLENBQW5DLEVBQTREO0FBQzFELGlCQUFPO0FBQ0wzRCxZQUFBQSxVQUFVLEVBQUUyRDtBQURQLFdBQVA7QUFHRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBbkJvQ3BFLGE7O2dCQUFsQk8sUyxZQUNIRixNOztnQkFER0UsUyxjQUVERCxROztTQUZDQyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RQcm9wcz4ge1xyXG4gIHN0YXRpYyBPcHRpb24gPSBPcHRpb247XHJcbiAgc3RhdGljIE9wdEdyb3VwID0gT3B0R3JvdXA7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gcHJldlN0YXRlO1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBzdG9yZSB9ID0gbmV4dFByb3BzO1xyXG4gICAgaWYgKGRhdGEgfHwgb3B0aW9ucykge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7IGRhdGEsIHN0b3JlID0ge30sIGNoaWxkcmVuLCBvcHRpb25zIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIC4uLnN0b3Jlc1xyXG4gICAgfSA9IHN0b3JlO1xyXG4gICAgbGV0IHsgdmlld1VybCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh44CBb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5kYXRhU291cmNlO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IGtleSA9IGl0ZW0uaWRcclxuICAgICAgICA/IGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCJcclxuICAgICAgICAgID8gaXRlbS5pZFxyXG4gICAgICAgICAgOiBpdGVtW3ZhbHVlRmllbGRdXHJcbiAgICAgICAgOiBpdGVtW3ZhbHVlRmllbGRdO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxPcHRpb25cclxuICAgICAgICAgIGtleT17a2V5fVxyXG4gICAgICAgICAgdmFsdWU9e2l0ZW1bdmFsdWVGaWVsZF19XHJcbiAgICAgICAgICBsYWJlbD17aXRlbVtsYWJlbEZpZWxkXX1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtW2xhYmVsRmllbGRdfVxyXG4gICAgICAgIDwvT3B0aW9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlckNoaWxkcmVuKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9wdEdyb3VwRGF0YSA9IHt9LFxyXG4gICAgICAgIG9wdGlvbkRhdGEgPSBbXTtcclxuICAgICAgZGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgbGV0IGxhYmVsID0gaXRlbS5ncm91cE5hbWU7XHJcbiAgICAgICAgaWYgKGxhYmVsKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zY19zZWxlY3RcIl19PlxyXG4gICAgICAgICAgPFNlbGVjdCB7Li4ucHJvcHN9IHsuLi5wYXJhbXN9IG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3Qgey4uLnByb3BzfSB7Li4ucGFyYW1zfSBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfT5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiTlNDU2VsZWN0IiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YSIsInN0b3JlIiwiY2hpbGRyZW4iLCJvcHRpb25zIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJzdG9yZXMiLCJ2aWV3VXJsIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwib3B0aW9uRGF0YSIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwibWFwIiwiaXRlbSIsImtleSIsImlkIiwiZGlzYWJsZWQiLCJzaG93R3JvdXAiLCJvcHRHcm91cERhdGEiLCJmb3JFYWNoIiwibGFiZWwiLCJncm91cE5hbWUiLCJwdXNoIiwib3B0aW9uIiwicmVuZGVyT3B0aW9uIiwib3B0R3JvdXAiLCJPYmplY3QiLCJrZXlzIiwidmFsdWUiLCJvbkNoYW5nZSIsInNlbGVjdFZhbHVlIiwiZGVmYXVsdFN0eWxlIiwicGFyYW1zIiwic2hvd1NlYXJjaCIsIm9wdGlvbkZpbHRlclByb3AiLCJwbGFjZWhvbGRlciIsImFsbG93Q2xlYXIiLCJiaW5kIiwicmVuZGVyQ2hpbGRyZW4iLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJuZXdEYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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dUIyRCxTQUF2QixDQUFRM0QsVUFBUjtBQUNBLFVBQVFDLElBQVIsR0FBaUN5RCxTQUFqQyxDQUFRekQsSUFBUjtBQUFBLFVBQWNHLE9BQWQsR0FBaUNzRCxTQUFqQyxDQUFjdEQsT0FBZDtBQUFBLFVBQXVCRixLQUF2QixHQUFpQ3dELFNBQWpDLENBQXVCeEQsS0FBdkI7O0FBQ0EsVUFBSUQsSUFBSSxJQUFJRyxPQUFaLEVBQXFCO0FBQ25CLFlBQU13RCxPQUFPLEdBQUczRCxJQUFJLEdBQUdBLElBQUgsR0FBVUcsT0FBOUI7O0FBQ0EsWUFBSXlELElBQUksQ0FBQ0MsU0FBTCxDQUFlOUQsVUFBZixNQUErQjZELElBQUksQ0FBQ0MsU0FBTCxDQUFlRixPQUFmLENBQW5DLEVBQTREO0FBQzFELGlCQUFPO0FBQ0w1RCxZQUFBQSxVQUFVLEVBQUU0RDtBQURQLFdBQVA7QUFHRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBbkJvQ3JFLGE7O2dCQUFsQk8sUyxZQUNIRixNOztnQkFER0UsUyxjQUVERCxROztTQUZDQyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGU6IGFueSkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIHN0b3JlIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHsgZGF0YSwgc3RvcmUgPSB7fSwgY2hpbGRyZW4sIG9wdGlvbnMgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB2aWV3bmFtZSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHjgIFvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmRhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXJPcHRpb24ob3B0aW9uRGF0YSkge1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCA9IFwibGFiZWxcIiwgdmFsdWVGaWVsZCA9IFwidmFsdWVcIiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZFxyXG4gICAgICAgID8gaXRlbS5pZCAhPT0gXCJ1bmRlZmluZWRcIlxyXG4gICAgICAgICAgPyBpdGVtLmlkXHJcbiAgICAgICAgICA6IGl0ZW1bdmFsdWVGaWVsZF1cclxuICAgICAgICA6IGl0ZW1bdmFsdWVGaWVsZF07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17aXRlbVt2YWx1ZUZpZWxkXX1cclxuICAgICAgICAgIGxhYmVsPXtpdGVtW2xhYmVsRmllbGRdfVxyXG4gICAgICAgICAgZGlzYWJsZWQ9e2l0ZW0uZGlzYWJsZWQgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW1bbGFiZWxGaWVsZF19XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBzaG93R3JvdXAgPSB0cnVlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zY19zZWxlY3RcIl19PlxyXG4gICAgICAgICAgPFNlbGVjdCB7Li4ucHJvcHN9IHsuLi5wYXJhbXN9IG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3Qgey4uLnByb3BzfSB7Li4ucGFyYW1zfSBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfT5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|