nsc-react-component 2.0.17 → 2.0.20
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/base/checkbox/CheckboxGroup.js +21 -17
- package/lib/base/radio/RadioGroup.js +25 -21
- package/lib/base/select/index.js +8 -5
- package/lib/base/table/index.d.ts +2 -0
- package/lib/base/table/index.js +32 -11
- package/lib/base/tagSelect/index.js +8 -5
- package/lib/page/BasePage/Form.js +7 -2
- package/lib/page/BasePage/index.d.ts +1 -0
- package/lib/page/BasePage/index.js +33 -5
- package/package.json +1 -1
package/lib/base/table/index.js
CHANGED
|
@@ -12,6 +12,8 @@ import "antd/es/button/style/css";
|
|
|
12
12
|
import _Button from "antd/es/button";
|
|
13
13
|
import "antd/es/tooltip/style/css";
|
|
14
14
|
import _Tooltip from "antd/es/tooltip";
|
|
15
|
+
import "antd/es/message/style/css";
|
|
16
|
+
import _message from "antd/es/message";
|
|
15
17
|
var _excluded = ["onResize", "width"],
|
|
16
18
|
_excluded2 = ["listeners"];
|
|
17
19
|
|
|
@@ -144,7 +146,9 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
144
146
|
sorter: [],
|
|
145
147
|
//记录当前排序字段
|
|
146
148
|
sortInfo: {},
|
|
147
|
-
defaultSort: true
|
|
149
|
+
defaultSort: true,
|
|
150
|
+
checkColumn: [],
|
|
151
|
+
defaultCheck: true
|
|
148
152
|
});
|
|
149
153
|
|
|
150
154
|
_defineProperty(_assertThisInitialized(_this2), "listeners", {
|
|
@@ -434,6 +438,14 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
434
438
|
}, {
|
|
435
439
|
key: "filterColumn",
|
|
436
440
|
value: function filterColumn(checkedValue) {
|
|
441
|
+
console.log("checkedValue", checkedValue);
|
|
442
|
+
|
|
443
|
+
if (checkedValue.length == 0) {
|
|
444
|
+
_message.warning("至少显示一列!");
|
|
445
|
+
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
|
|
437
449
|
var filterColumns = this.props.columns.map(function (col) {
|
|
438
450
|
var newCol = _objectSpread({}, col);
|
|
439
451
|
|
|
@@ -449,11 +461,15 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
449
461
|
|
|
450
462
|
if (!resizeColumn) {
|
|
451
463
|
this.setState({
|
|
452
|
-
columns: filterColumns
|
|
464
|
+
columns: filterColumns,
|
|
465
|
+
checkColumn: checkedValue,
|
|
466
|
+
defaultCheck: false
|
|
453
467
|
});
|
|
454
468
|
} else {
|
|
455
469
|
this.setState({
|
|
456
|
-
cols: filterColumns
|
|
470
|
+
cols: filterColumns,
|
|
471
|
+
checkColumn: checkedValue,
|
|
472
|
+
defaultCheck: false
|
|
457
473
|
});
|
|
458
474
|
}
|
|
459
475
|
}
|
|
@@ -468,7 +484,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
468
484
|
if (!isEmptyObj(sorter) && !isMultiple) {
|
|
469
485
|
orderItems = [{
|
|
470
486
|
column: sorter.column.field || sorter.column.dataIndex,
|
|
471
|
-
|
|
487
|
+
asc: sorter.order == "ascend"
|
|
472
488
|
}];
|
|
473
489
|
if (sorter.column) sortInfo[sorter.column.dataIndex] = sorter.order;
|
|
474
490
|
} else if (isMultiple) {
|
|
@@ -477,7 +493,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
477
493
|
var field = v.column.field || v.column.dataIndex;
|
|
478
494
|
orderItems.push({
|
|
479
495
|
column: field,
|
|
480
|
-
|
|
496
|
+
asc: v.order == "ascend"
|
|
481
497
|
});
|
|
482
498
|
});
|
|
483
499
|
}
|
|
@@ -692,7 +708,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
692
708
|
}, item.order == "ascend" ? /*#__PURE__*/React.createElement(SortAscendingOutlined, null) : /*#__PURE__*/React.createElement(SortDescendingOutlined, null)), /*#__PURE__*/React.createElement("div", null, " ", item.column.title));
|
|
693
709
|
})));
|
|
694
710
|
var sizeContent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
695
|
-
className: "cotent-title"
|
|
711
|
+
className: getLess(styles, "cotent-title")
|
|
696
712
|
}, "\u8868\u683C\u5BC6\u5EA6"), sizeItem.map(function (item, index) {
|
|
697
713
|
return /*#__PURE__*/React.createElement("div", {
|
|
698
714
|
key: item.key,
|
|
@@ -721,18 +737,23 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
721
737
|
var content = /*#__PURE__*/React.createElement(_Checkbox.Group, {
|
|
722
738
|
onChange: this.filterColumn.bind(this),
|
|
723
739
|
options: colLists.map(function (col) {
|
|
740
|
+
if (!col.dataIndex) {
|
|
741
|
+
col.dataIndex = col.title;
|
|
742
|
+
}
|
|
743
|
+
|
|
724
744
|
return {
|
|
725
745
|
label: col.title,
|
|
726
746
|
value: col.dataIndex,
|
|
727
747
|
disabled: col.filterColumn === false
|
|
728
748
|
};
|
|
729
|
-
})
|
|
730
|
-
|
|
749
|
+
}) // defaultValue={defaultShowCols.map((col) => col.dataIndex)}
|
|
750
|
+
,
|
|
751
|
+
value: this.state.defaultCheck ? defaultShowCols.map(function (col) {
|
|
731
752
|
return col.dataIndex;
|
|
732
|
-
})
|
|
753
|
+
}) : this.state.checkColumn
|
|
733
754
|
});
|
|
734
755
|
return /*#__PURE__*/React.createElement("div", {
|
|
735
|
-
className: "table-tool-bar"
|
|
756
|
+
className: getLess(styles, "table-tool-bar")
|
|
736
757
|
}, filterColumn && /*#__PURE__*/React.createElement("div", {
|
|
737
758
|
style: {
|
|
738
759
|
fontSize: 14
|
|
@@ -899,4 +920,4 @@ _defineProperty(NSCTable, "defaultProps", {
|
|
|
899
920
|
});
|
|
900
921
|
|
|
901
922
|
export default withZhLocale(NSCTable);
|
|
902
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdGFibGUvaW5kZXgudHN4Il0sIm5hbWVzIjpbIkFwcHN0b3JlT3V0bGluZWQiLCJDaGVja091dGxpbmVkIiwiQ29sdW1uSGVpZ2h0T3V0bGluZWQiLCJTZWFyY2hPdXRsaW5lZCIsIlNvcnRBc2NlbmRpbmdPdXRsaW5lZCIsIlNvcnREZXNjZW5kaW5nT3V0bGluZWQiLCJpc0VtcHR5T2JqIiwiU3RvcmUiLCJQYWdlU3RvcmUiLCJ1dGlscyIsIlJlYWN0IiwiRG5kUHJvdmlkZXIiLCJCb2R5Um93IiwiRG5kQ29udGV4dFR5cGUiLCJJQm9keVJvd1Byb3BzIiwidHJlZVV0aWxzIiwic3R5bGVzIiwiQm9keVJvd0NvbXBvbmVudCIsIkhUTUw1QmFja2VuZCIsIndpdGhaaExvY2FsZSIsIlJlc2l6YWJsZSIsImdldExlc3MiLCJnZXROb2RlIiwiTm9EYXRhIiwiUmVzaXplYWJsZVRpdGxlIiwicHJvcHMiLCJvblJlc2l6ZSIsIndpZHRoIiwicmVzdFByb3BzIiwiZW5hYmxlVXNlclNlbGVjdEhhY2siLCJOU0NUYWJsZSIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJjb2x1bW5zIiwibG9hZGluZyIsInBhZ2luYXRpb24iLCJhY3RpdmVJbmRleCIsInNlYXJjaFRleHQiLCJmaWVsZE9wdGlvbiIsInNlYXJjaENvbG9yIiwiY29scyIsInNvcnRzIiwiZmlsdGVyUGFyYW1zIiwidGFibGVTaXplIiwic29ydFR5cGUiLCJzb3J0ZXIiLCJzb3J0SW5mbyIsImRlZmF1bHRTb3J0Iiwib25CZWZvcmVMb2FkIiwibG9hZCIsImhlYWRlciIsImNlbGwiLCJpbmRleCIsImUiLCJzaXplIiwic3RhdGUiLCJuZXh0Q29sdW1ucyIsInNldFN0YXRlIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlZCIsImRhdGEiLCJtb2RlbERhdGEiLCJwYWdpbmciLCJnZXRQYWdpbmF0aW9uIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImF1dG9Mb2FkIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudCIsInJlc2l6ZUNvbHVtbiIsInNldERhdGEiLCJwcmV2UHJvcHMiLCJwcmVTdGF0ZSIsInJlc2V0Q29sdW1uIiwibmV3Q29scyIsImNvbHNzIiwibWFwIiwiY29sIiwidGVtcCIsIm9uSGVhZGVyQ2VsbCIsImNvbHVtbiIsImhhbmRsZVJlc2l6ZSIsInB1c2giLCJmaWx0ZXJzIiwiZXh0cmEiLCJhdXRvT25DaGFuZ2UiLCJhdXRvU29ydCIsImF1dG9QYWdpbmF0aW9uIiwib25DaGFuZ2UiLCJpc011bHRpcGxlIiwiQXJyYXkiLCJpc0FycmF5IiwiaGFuZGxlUGFnaW5hdGlvbiIsImdldFBhZ2luYXRpb25CeVN0b3JlIiwicCIsImN1cnJlbnRLZXkiLCJwYWdlU2l6ZUtleSIsInBhZ2VTaXplIiwiYXNjUGFyYW1zIiwiZ2V0U29ydFBhcmFtIiwib25DaGFuZ2VGbiIsImdldE1vZGVsIiwidmFsIiwiY2hlY2tlZFZhbHVlIiwiZmlsdGVyQ29sdW1ucyIsIm5ld0NvbCIsImluY2x1ZGVzIiwiZGF0YUluZGV4IiwiaW5pdFNob3ciLCJzb3J0U3RhdGUiLCJvcmRlckl0ZW1zIiwiZmllbGQiLCJhc2NzIiwib3JkZXIiLCJmb3JFYWNoIiwidiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzb3J0RmllbGRzIiwiZGVmYXVsdFNob3dDb2xzIiwiZmlsdGVyIiwiZWxsaXBzaXMiLCJyZW5kZXIiLCJzaG93VGl0bGUiLCJ0ZXh0IiwiaW5kZXhPZiIsInNvcnRPcmRlciIsIm11bHRpcGxlIiwiaXRlbSIsImZpbHRlclByb3BzIiwib2JqIiwidHlwZSIsInNlYXJjaEtleSIsIkRpdiIsInRpdGxlIiwicGxhY2Vob2xkZXIiLCJyZWYiLCJ0YWJsZVNlYXJjaFJlZiIsImZpbHRlckRyb3Bkb3duIiwic2V0U2VsZWN0ZWRLZXlzIiwic2VsZWN0ZWRLZXlzIiwiY29uZmlybSIsImNsZWFyRmlsdGVycyIsIm5ld0ZpbHRlclBhcmFtcyIsImtleSIsImdldFZhbHVlIiwic29ydFBhcmFtIiwiZmlsdGVySWNvbiIsImZpbHRlckNvbHVtbiIsImNvbExpc3RzIiwic2l6ZUl0ZW0iLCJzb3J0SXRlbSIsInNvcnRDb250ZW50IiwiY3Vyc29yIiwiY29sb3IiLCJsZW5ndGgiLCJzaXplQ29udGVudCIsImNvbnRlbnQiLCJiaW5kIiwibGFiZWwiLCJ2YWx1ZSIsImRpc2FibGVkIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwibWFyZ2luUmlnaHQiLCJvbWl0Iiwicm93S2V5IiwiY2xpY2tDaGFuZ2VDb2xvciIsInBvc2l0aW9uIiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1F1aWNrSnVtcGVyIiwic2hvd1RvdGFsIiwidG90YWwiLCJmcm9tIiwidG8iLCJvblJvd0ZuIiwib25Sb3ciLCJjdXN0b20iLCJvbkNsaWNrRm4iLCJvbkNsaWNrIiwiZXZlbnQiLCJyb3dDbGFzc05hbWUiLCJjbGlja1Jvd1N0eWxlIiwibmV3RGF0YVNvdXJjZSIsImdldFNlYXJjaE1lbnVEYXRhcyIsInRyZWVEYXRhcyIsImV4cGFuZGVkUm93S2V5cyIsIm9wZW5LZXlzIiwiZHJhZ2FibGUiLCJkcmFnYWJsZVByb3BzIiwiY29tcG9uZW50cyIsInJlc2l6ZVByb3BzIiwiRGVmYXVsdFRhYmxlIiwidG9vbGJhciIsInJlbmRlclRvb2xCYXIiLCJnZXRDb2x1bW5zIiwiZW1wdHlUZXh0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QVNNaUwsV0FUTixFQVVNbk0sS0FWTixFQVdNaU0sYUFYTixFQUZGLENBREY7QUFtQkEsYUFBT0QsUUFBUSxLQUFLLElBQWIsZ0JBQ0wsb0JBQUMsV0FBRDtBQUFhLFFBQUEsT0FBTyxFQUFFdk07QUFBdEIsU0FBcUMyTSxZQUFyQyxDQURLLEdBR0xBLFlBSEY7QUFLRDs7OztFQTFyQm9Cbk4sS0FBSyxDQUFDeU4sUzs7Z0JBQXZCck0sUSxrQkFDa0I7QUFDcEIyTCxFQUFBQSxRQUFRLEVBQUUsS0FEVTtBQUVwQmpCLEVBQUFBLFNBQVMsRUFBRSxJQUZTO0FBR3BCeEIsRUFBQUEsWUFBWSxFQUFFLElBSE07QUFJcEJvRCxFQUFBQSxPQUFPLEVBQUUsRUFKVztBQUtwQmpILEVBQUFBLGNBQWMsRUFBRSxJQUxJO0FBTXBCRCxFQUFBQSxRQUFRLEVBQUUsSUFOVTtBQU9wQkQsRUFBQUEsWUFBWSxFQUFFLElBUE07QUFRcEJoQixFQUFBQSxZQUFZLEVBQUUsSUFSTTtBQVNwQjZILEVBQUFBLE9BQU8sRUFBRTtBQVRXLEM7O0FBNHJCeEIsZUFBZTNNLFlBQVksQ0FBQ1csUUFBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yMyAwODo0NjoyMFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDMtMjMgMTA6MzA6NDJcclxuICovXHJcbmltcG9ydCB7XHJcbiAgQXBwc3RvcmVPdXRsaW5lZCxcclxuICBDaGVja091dGxpbmVkLFxyXG4gIENvbHVtbkhlaWdodE91dGxpbmVkLFxyXG4gIFNlYXJjaE91dGxpbmVkLFxyXG4gIFNvcnRBc2NlbmRpbmdPdXRsaW5lZCxcclxuICBTb3J0RGVzY2VuZGluZ091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uLFxyXG4gIENoZWNrYm94LFxyXG4gIENoZWNrYm94T3B0aW9uVHlwZSxcclxuICBNZW51LFxyXG4gIFBvcG92ZXIsXHJcbiAgU3BhY2UsXHJcbiAgVGFibGUsXHJcbiAgVGFibGVQcm9wcyxcclxuICBUb29sdGlwLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG5kUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtZG5kXCI7XHJcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmltcG9ydCB0cmVlVXRpbHMgZnJvbSBcIi4uLy4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmNvbnN0IHsgQm9keVJvd0NvbXBvbmVudCwgSFRNTDVCYWNrZW5kIH0gPSBCb2R5Um93O1xyXG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XHJcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcclxuaW1wb3J0IFwiLi9yZXNpemUubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcywgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgTm9EYXRhIGZyb20gXCIuLi8uLi9iYXNlL2NvbW1vbi9Ob0RhdGFcIjtcclxuXHJcbmludGVyZmFjZSBJRHJhZ1BhcmFtcyB7XHJcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICBpZHM6IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgcGFyZW50SWQ6IHN0cmluZyB8IG51bWJlcjtcclxufVxyXG4vLyBpbnRlcmZhY2UgU3RvcmVQcm9wcyB7fVxyXG5cclxuZXhwb3J0IHR5cGUgU3RvcmVUeXBlID0gXCJQYWdlU3RvcmVcIiB8IFwiVHJlZVN0b3JlXCIgfCBcIkJhc2VTdG9yZVwiO1xyXG5cclxuaW50ZXJmYWNlIE5TQ1RhYmxlUGFnaW5hdGlvbiBleHRlbmRzIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB7XHJcbiAgdG90YWxLZXk/OiBzdHJpbmc7XHJcbiAgcGFnZVNpemVLZXk/OiBzdHJpbmc7XHJcbiAgY3VycmVudEtleT86IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIE5TQ1RhYmxlUHJvcHMgZXh0ZW5kcyBUYWJsZVByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93VG90YWw/OiBib29sZWFuOyAvLyDmmK/lkKbmmL7npLrmgLvmnaHmlbDkv6Hmga/vvIzpu5jorqR0cnVlXHJcbiAgZHJhZ2FibGU/OiBib29sZWFuOyAvLyDmmK/lkKblj6/mi5bliqgsIOm7mOiupGZhbHNlXHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy8g5piv5ZCm5pSv5oyB6L+H5ruk5pi+56S66KGo5qC85YiXLCDpu5jorqR0cnVlXHJcbiAgbW92ZVJvdz86IChwYXJhbXM6IElEcmFnUGFyYW1zKSA9PiB2b2lkOyAvLyDmi5bmi73lrozmiJDlkI7nmoTlm57osINcclxuICBkcmFnVXJsPzogc3RyaW5nOyAvLyDkv53lrZjmi5bmi73mjpLluo/nmoTmjqXlj6NcclxuICBwYWdpbmF0aW9uPzogZmFsc2UgfCBOU0NUYWJsZVBhZ2luYXRpb247XHJcbiAgYXV0b1BhZ2luYXRpb24/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqjlpITnkIbliIbpobVcclxuICBhdXRvU29ydD86IGJvb2xlYW47IC8v57uE5Lu25piv5ZCm6Ieq5Yqo5aSE55CG5o6S5bqPXHJcbiAgYXV0b09uQ2hhbmdlPzogYm9vbGVhbjsgLy8g57uE5Lu25piv5ZCm6Ieq5Yqob25DaGFuZ2UsIGZhbHNl5YiZ5LiN5YGa5Lu75L2V5aSE55CG5YWo6YOo5Lqk57uZ6LCD55So5pa5XHJcbiAgcmVzaXplQ29sdW1uPzogYm9vbGVhbjtcclxuICBzb3J0RmllbGRzPzogQXJyYXk8c3RyaW5nPjsgLy/pnIDopoHmjpLluo/nmoTlrZfmrrVJbmRleFxyXG4gIHRvb2xiYXI/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9O1xyXG5cclxuY29uc3QgUmVzaXplYWJsZVRpdGxlID0gKHByb3BzOiBhbnkpID0+IHtcclxuICBjb25zdCB7IG9uUmVzaXplLCB3aWR0aCwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPFJlc2l6YWJsZVxyXG4gICAgICB3aWR0aD17d2lkdGggfHwgMTUwfVxyXG4gICAgICBoZWlnaHQ9ezB9XHJcbiAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cclxuICAgICAgZHJhZ2dhYmxlT3B0cz17eyBlbmFibGVVc2VyU2VsZWN0SGFjazogZmFsc2UgfX1cclxuICAgID5cclxuICAgICAgPHRoIHsuLi5yZXN0UHJvcHN9IC8+XHJcbiAgICA8L1Jlc2l6YWJsZT5cclxuICApO1xyXG59O1xyXG5jbGFzcyBOU0NUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTlNDVGFibGVQcm9wcz4ge1xyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBkcmFnYWJsZTogZmFsc2UsXHJcbiAgICBzaG93VG90YWw6IHRydWUsXHJcbiAgICBmaWx0ZXJDb2x1bW46IHRydWUsXHJcbiAgICBkcmFnVXJsOiBcIlwiLFxyXG4gICAgYXV0b1BhZ2luYXRpb246IHRydWUsXHJcbiAgICBhdXRvU29ydDogdHJ1ZSxcclxuICAgIGF1dG9PbkNoYW5nZTogdHJ1ZSxcclxuICAgIHJlc2l6ZUNvbHVtbjogdHJ1ZSxcclxuICAgIHRvb2xiYXI6IHRydWUsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuICB0YWJsZVNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICAgIGNvbHM6IFtdLFxyXG4gICAgc29ydHM6IFtdLFxyXG4gICAgZmlsdGVyUGFyYW1zOiB7fSxcclxuICAgIHRhYmxlU2l6ZTogXCJtaWRkbGVcIixcclxuICAgIHNvcnRUeXBlOiBcInNpbmdsZVwiLFxyXG4gICAgc29ydGVyOiBbXSwgLy/orrDlvZXlvZPliY3mjpLluo/lrZfmrrVcclxuICAgIHNvcnRJbmZvOiB7fSxcclxuICAgIGRlZmF1bHRTb3J0OiB0cnVlLFxyXG4gIH07XHJcblxyXG4gIGxpc3RlbmVycyA9IHtcclxuICAgIG9uQmVmb3JlTG9hZDogbnVsbCxcclxuICAgIGxvYWQ6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgY29tcG9uZW50cyA9IHtcclxuICAgIGhlYWRlcjoge1xyXG4gICAgICBjZWxsOiBSZXNpemVhYmxlVGl0bGUsXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBpZiAocHJvcHMuc3RvcmUgaW5zdGFuY2VvZiBTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPVxyXG4gICAgICAgIHByb3BzLnN0b3JlIHx8IHt9O1xyXG4gICAgICBjb25zdCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiAoc3RvcmUsIG9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uQmVmb3JlTG9hZCwgdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBwYWdpbmcgPSAhKHRoaXMucHJvcHMucGFnaW5hdGlvbiA9PT0gZmFsc2UpO1xyXG4gICAgICAgICAgICBpZiAocGFnaW5nICYmICF0aGlzLnByb3BzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHN0b3JlLmdldFBhZ2luYXRpb24oKSxcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlSW5kZXg6IC0xLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEsIGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5kYXRhQ2hhbmdlZCwgdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICAgIHBhZ2luZyxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpID0+IHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMubG9hZCwgdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvbkVycm9yTG9hZDogKGVyciwgcmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkVycm9yTG9hZCwgdGhpcywgW2VyciwgcmVzcG9uc2VdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhOiByZXN0U3RvcmUuZGF0YVxyXG4gICAgICAgICAgPyByZXN0U3RvcmUuZGF0YVxyXG4gICAgICAgICAgOiBwcm9wcy5kYXRhU291cmNlXHJcbiAgICAgICAgICA/IHByb3BzLmRhdGFTb3VyY2VcclxuICAgICAgICAgIDogbnVsbCxcclxuICAgICAgICAuLi5yZXN0U3RvcmUsXHJcbiAgICAgICAgYXV0b0xvYWQ6IHJlc3RTdG9yZS5hdXRvTG9hZCA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgUGFnZVN0b3JlKFxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIHN0b3JlUHJvcHMsIHtcclxuICAgICAgICAgIHBhZ2luYXRpb246IHsgY3VycmVudDogMSwgLi4udGhpcy5wcm9wcy5wYWdpbmF0aW9uIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2l6ZSA9XHJcbiAgICAoaW5kZXg6IGFueSkgPT5cclxuICAgIChlOiBhbnksIHsgc2l6ZSB9OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjb2xzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCBuZXh0Q29sdW1ucyA9IFsuLi5jb2xzXTtcclxuICAgICAgbmV4dENvbHVtbnNbaW5kZXhdID0ge1xyXG4gICAgICAgIC4uLm5leHRDb2x1bW5zW2luZGV4XSxcclxuICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY29sczogbmV4dENvbHVtbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xzOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5wcm9wcy5zdG9yZTtcclxuICAgIGlmIChzdG9yZSAmJiBzdG9yZS5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0RGF0YShzdG9yZS5kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZVN0YXRlKSB7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmNvbHVtbnMgIT09IHByZXZQcm9wcy5jb2x1bW5zKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IHRoaXMucHJvcHMuY29sdW1ucyB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHByZVN0YXRlLmNvbHMgIT09IHRoaXMuc3RhdGUuY29scykge1xyXG4gICAgICAgIHRoaXMucmVzZXRDb2x1bW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRDb2x1bW4oKSB7XHJcbiAgICBjb25zdCB7IGNvbHMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBuZXdDb2xzOiBhbnkgPSBbXTtcclxuICAgIGxldCBjb2xzcyA9IGNvbHMgfHwgW107XHJcbiAgICBjb2xzcy5tYXAoKGNvbDogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0ge1xyXG4gICAgICAgIC4uLmNvbCxcclxuICAgICAgICBvbkhlYWRlckNlbGw6IChjb2x1bW46IHsgd2lkdGg6IGFueSB9KSA9PiAoe1xyXG4gICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcclxuICAgICAgICAgIG9uUmVzaXplOiB0aGlzLmhhbmRsZVJlc2l6ZShpbmRleCksXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH07XHJcbiAgICAgIG5ld0NvbHMucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGNvbHVtbnM6IG5ld0NvbHMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOa4hemZpOmAieS4reminOiJslxyXG4gICAqL1xyXG4gIGNsZWFyU2VsZWN0Q29sb3IoKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aXZlSW5kZXg6IC0xIH0pO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdpbmF0aW9uQnlTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldFBhZ2luYXRpb24oKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpIHtcclxuICAgIGNvbnN0IHsgYXV0b09uQ2hhbmdlLCBhdXRvU29ydCwgYXV0b1BhZ2luYXRpb24sIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1zIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgaXNNdWx0aXBsZSA9IEFycmF5LmlzQXJyYXkoc29ydGVyKTtcclxuICAgIGlmIChhdXRvT25DaGFuZ2UgPT09IGZhbHNlKSB7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBoYW5kbGVQYWdpbmF0aW9uID0gKCkgPT4ge1xyXG4gICAgICBsZXQgcGFyYW1zID0ge30gYXMge1xyXG4gICAgICAgIHNpemU/OiBzdHJpbmc7XHJcbiAgICAgICAgcGFnZVNpemU/OiBzdHJpbmc7XHJcbiAgICAgICAgYXNjcz86IHN0cmluZztcclxuICAgICAgICBkZXNjcz86IHN0cmluZztcclxuICAgICAgICBbcHJvcE5hbWU6IHN0cmluZ106IHN0cmluZztcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHBhZ2luZyA9IHRoaXMuZ2V0UGFnaW5hdGlvbkJ5U3RvcmUoKSB8fCB7fTtcclxuXHJcbiAgICAgIGlmICghaXNFbXB0eU9iaihwYWdpbmF0aW9uKSkge1xyXG4gICAgICAgIGNvbnN0IHAgPSB7XHJcbiAgICAgICAgICBbcGFnaW5nLmN1cnJlbnRLZXkgfHwgXCJjdXJyZW50XCJdOiBwYWdpbmF0aW9uLmN1cnJlbnQsXHJcbiAgICAgICAgICBbcGFnaW5nLnBhZ2VTaXplS2V5IHx8IFwic2l6ZVwiXTogcGFnaW5hdGlvbi5wYWdlU2l6ZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBwKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgYXNjUGFyYW1zID0gdGhpcy5nZXRTb3J0UGFyYW0oc29ydGVyLCB0cnVlKTtcclxuICAgICAgaWYgKGlzTXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgc29ydGVyIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCFpc011bHRpcGxlICYmICFpc0VtcHR5T2JqKHNvcnRlcikpIHtcclxuICAgICAgICBzb3J0ZXIuY29sdW1uICYmXHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc29ydGVyOiBbc29ydGVyXSwgZGVmYXVsdFNvcnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzb3J0ZXI6IFtdIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHBhcmFtcyA9IHsgLi4uZmlsdGVyUGFyYW1zLCAuLi5wYXJhbXMsIC4uLmFzY1BhcmFtcyB9O1xyXG4gICAgICBhdXRvU29ydCAmJiB0aGlzLnN0b3JlLnJlbG9hZCh7IHBhcmFtcyB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb25DaGFuZ2VGbiA9IHRoaXMucHJvcHMub25DaGFuZ2U7XHJcbiAgICAvLyDnlKjmiLfkvKDkuoZvbkNoYW5nZeS/neeVmeeUqOaIt+iHquS4u+WkhOeQhuihqOagvOWPmOWMlueahOadg+WKm1xyXG4gICAgaWYgKG9uQ2hhbmdlRm4pIHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGFuZ2VGbiwgdGhpcywgW3BhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmFdKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXV0b1BhZ2luYXRpb24gJiYgaGFuZGxlUGFnaW5hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluaVsOaNruaooeWei+WvueixoVxyXG4gICAqL1xyXG4gIGdldE1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0TW9kZWwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiPnOWNleaQnOe0oui/h+a7pOaYvuekulxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSB2YWxcclxuICAgKi9cclxuICBoYW5kbGVTZWFyY2godmFsLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWFyY2hUZXh0OiB2YWwsXHJcbiAgICAgIGZpZWxkT3B0aW9uOiBmaWVsZE9wdGlvbixcclxuICAgICAgc2VhcmNoQ29sb3I6IHNlYXJjaENvbG9yLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmqKHlnZfliJfooajnp7vliqjmjpLluo9cclxuICAgKi9cclxuICBtb3ZlUm93ID0gKGRyYWdJbmRleCwgaG92ZXJJbmRleCwgZHJhZywgdGFyZ2V0KSA9PiB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBsZXQgZHJhZ05vZGUgPSBkcmFnLnJlY29yZDtcclxuICAgIGxldCB0YXJnZXROb2RlID0gdGFyZ2V0LnJlY29yZDtcclxuICAgIGRyYWdOb2RlLm1vdmVBcnJheShkcmFnTm9kZSwgdGFyZ2V0Tm9kZSk7XHJcbiAgICBsZXQgaWRzID0gZHJhZ05vZGUucGFyZW50Tm9kZS5nZXRDaGlsZE5vZGVJZHMoKTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGlkOiBkcmFnTm9kZS5pZCxcclxuICAgICAgcGFyZW50SWQ6IGRyYWdOb2RlLmF0dHJpYnV0ZS5wYXJlbnRJZCxcclxuICAgICAgaWRzOiBpZHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnByb3BzLm1vdmVSb3cpIHtcclxuICAgICAgdGhpcy5wcm9wcy5tb3ZlUm93KHBhcmFtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLnJlbG9hZCgpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGZpbHRlckNvbHVtbihjaGVja2VkVmFsdWUpIHtcclxuICAgIGNvbnN0IGZpbHRlckNvbHVtbnMgPSB0aGlzLnByb3BzLmNvbHVtbnMubWFwKChjb2w6IENvbHVtblR5cGU8e30+KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0NvbCA9IHsgLi4uY29sIH0gYXMgQ29sdW1uVHlwZTx7fT4gJiB7IGluaXRTaG93OiBib29sZWFuIH07XHJcbiAgICAgIGlmIChjaGVja2VkVmFsdWUuaW5jbHVkZXMoY29sLmRhdGFJbmRleCkpIHtcclxuICAgICAgICBuZXdDb2wuaW5pdFNob3cgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld0NvbC5pbml0U2hvdyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXdDb2w7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY29sczogZmlsdGVyQ29sdW1ucyB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0U29ydFBhcmFtKHNvcnRlciwgc29ydFN0YXRlID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBBcnJheS5pc0FycmF5KHNvcnRlcik7XHJcbiAgICBsZXQgc29ydEluZm8gPSB7fTtcclxuICAgIGxldCBvcmRlckl0ZW1zID0gW107XHJcbiAgICBpZiAoIWlzRW1wdHlPYmooc29ydGVyKSAmJiAhaXNNdWx0aXBsZSkge1xyXG4gICAgICBvcmRlckl0ZW1zID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNvbHVtbjogc29ydGVyLmNvbHVtbi5maWVsZCB8fCBzb3J0ZXIuY29sdW1uLmRhdGFJbmRleCxcclxuICAgICAgICAgIGFzY3M6IHNvcnRlci5vcmRlciA9PSBcImFzY2VuZFwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcbiAgICAgIGlmIChzb3J0ZXIuY29sdW1uKSBzb3J0SW5mb1tzb3J0ZXIuY29sdW1uLmRhdGFJbmRleF0gPSBzb3J0ZXIub3JkZXI7XHJcbiAgICB9IGVsc2UgaWYgKGlzTXVsdGlwbGUpIHtcclxuICAgICAgc29ydGVyLmZvckVhY2goKHYpID0+IHtcclxuICAgICAgICBzb3J0SW5mb1t2LmNvbHVtbi5kYXRhSW5kZXhdID0gdi5vcmRlcjtcclxuICAgICAgICBsZXQgZmllbGQgPSB2LmNvbHVtbi5maWVsZCB8fCB2LmNvbHVtbi5kYXRhSW5kZXg7XHJcbiAgICAgICAgb3JkZXJJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIGNvbHVtbjogZmllbGQsXHJcbiAgICAgICAgICBhc2NzOiB2Lm9yZGVyID09IFwiYXNjZW5kXCIsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHNvcnRTdGF0ZSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBzb3J0SW5mbzogc29ydEluZm8sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsgb3JkZXJJdGVtczogSlNPTi5zdHJpbmdpZnkob3JkZXJJdGVtcykgfTtcclxuICB9XHJcbiAgZ2V0Q29sdW1ucygpIHtcclxuICAgIGNvbnN0IHsgY29sdW1ucywgc29ydFR5cGUsIHNvcnRJbmZvIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBzb3J0RmllbGRzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBkZWZhdWx0U2hvd0NvbHMgPSBjb2x1bW5zLmZpbHRlcigoY29scykgPT4gY29scy5pbml0U2hvdyAhPT0gZmFsc2UpO1xyXG4gICAgY29uc3QgY29scyA9IGRlZmF1bHRTaG93Q29scy5tYXAoKGNvbCwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKGNvbC5lbGxpcHNpcyAmJiAhY29sLnJlbmRlcikge1xyXG4gICAgICAgIGNvbC5lbGxpcHNpcyA9IHtcclxuICAgICAgICAgIHNob3dUaXRsZTogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2wucmVuZGVyID0gKHRleHQpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxUb29sdGlwIHBsYWNlbWVudD1cInRvcExlZnRcIiB0aXRsZT17dGV4dH0+XHJcbiAgICAgICAgICAgICAge3RleHR9XHJcbiAgICAgICAgICAgIDwvVG9vbHRpcD5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHNvcnRGaWVsZHMuaW5kZXhPZihjb2wuZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgICAgaWYgKHNvcnRUeXBlID09IFwic2luZ2xlXCIpIHtcclxuICAgICAgICAgIGNvbC5zb3J0ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgY29sLnNvcnRPcmRlciA9IHNvcnRJbmZvW2NvbC5kYXRhSW5kZXhdXHJcbiAgICAgICAgICAgID8gc29ydEluZm9bY29sLmRhdGFJbmRleF1cclxuICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc29ydFR5cGUgPT0gXCJtdWx0aXBsZVwiKSB7XHJcbiAgICAgICAgICBjb2wuc29ydGVyID0geyBtdWx0aXBsZTogaW5kZXggfTtcclxuICAgICAgICAgIGNvbC5zb3J0T3JkZXIgPSBzb3J0SW5mb1tjb2wuZGF0YUluZGV4XVxyXG4gICAgICAgICAgICA/IHNvcnRJbmZvW2NvbC5kYXRhSW5kZXhdXHJcbiAgICAgICAgICAgIDogbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbDtcclxuICAgIH0pO1xyXG4gICAgY29scy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmICghaXNFbXB0eU9iaihpdGVtLmZpbHRlclByb3BzKSkge1xyXG4gICAgICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgICAgICBjb25zdCB7IHR5cGUsIHByb3BzLCBzZWFyY2hLZXkgfSA9IGl0ZW0uZmlsdGVyUHJvcHM7XHJcbiAgICAgICAgbGV0IERpdiA9IG51bGw7XHJcbiAgICAgICAgbGV0IHRleHQgPSBpdGVtLnRpdGxlO1xyXG4gICAgICAgIERpdiA9IGdldE5vZGUodHlwZSwge1xyXG4gICAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcjogYOaQnOe0oiR7dGV4dH1gLFxyXG4gICAgICAgICAgcmVmOiB0aGlzLnRhYmxlU2VhcmNoUmVmLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9iaiA9IHtcclxuICAgICAgICAgIGZpbHRlckRyb3Bkb3duOiAoe1xyXG4gICAgICAgICAgICBzZXRTZWxlY3RlZEtleXMsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkS2V5cyxcclxuICAgICAgICAgICAgY29uZmlybSxcclxuICAgICAgICAgICAgY2xlYXJGaWx0ZXJzLFxyXG4gICAgICAgICAgfSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2hcIil9PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInNwYWNlXCIpfT57RGl2fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPFNwYWNlPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1zIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld0ZpbHRlclBhcmFtcyA9IHsgLi4uZmlsdGVyUGFyYW1zIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQga2V5ID0gaXRlbS5maWVsZCB8fCBpdGVtLmRhdGFJbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpbHRlclBhcmFtc1trZXldID1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVNlYXJjaFJlZi5jdXJyZW50Py5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclBhcmFtczogeyAuLi5uZXdGaWx0ZXJQYXJhbXMgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc29ydFBhcmFtID0gdGhpcy5nZXRTb3J0UGFyYW0odGhpcy5zdGF0ZS5zb3J0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5sb2FkKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IC4uLm5ld0ZpbHRlclBhcmFtcywgLi4uc29ydFBhcmFtIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJidXR0b25cIil9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L1NwYWNlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZpbHRlckljb246ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDxTZWFyY2hPdXRsaW5lZCAvPjtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5vYmosXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2xzW2luZGV4XSA9IG9iajtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29scztcclxuICB9XHJcbiAgcmVuZGVyVG9vbEJhcigpIHtcclxuICAgIGxldCB7IHRhYmxlU2l6ZSwgY29sdW1ucywgc29ydFR5cGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgeyBmaWx0ZXJDb2x1bW4sIGNvbHVtbnM6IGNvbExpc3RzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgc2l6ZUl0ZW0gPSBbXHJcbiAgICAgIHsgdGl0bGU6IFwi5a695p2+XCIsIGtleTogXCJkZWZhdWx0XCIgfSxcclxuICAgICAgeyB0aXRsZTogXCLkuK3nrYlcIiwga2V5OiBcIm1pZGRsZVwiIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwi57Sn5YeRXCIsIGtleTogXCJzbWFsbFwiIH0sXHJcbiAgICBdO1xyXG4gICAgY29uc3Qgc29ydEl0ZW0gPSBbXHJcbiAgICAgIHsgdGl0bGU6IFwi5Y2V5a2X5q615o6S5bqPXCIsIGtleTogXCJzaW5nbGVcIiB9LFxyXG4gICAgICB7IHRpdGxlOiBcIuWkmuWtl+auteaOkuW6j1wiLCBrZXk6IFwibXVsdGlwbGVcIiB9LFxyXG4gICAgXTtcclxuICAgIGNvbnN0IHNvcnRDb250ZW50ID0gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY290ZW50LXRpdGxlXCIpfVxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgY3Vyc29yOiB0aGlzLnN0YXRlLmRlZmF1bHRTb3J0ID8gXCJub3QtYWxsb3dlZFwiIDogXCJwb2ludGVyXCIsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLnN0YXRlLmRlZmF1bHRTb3J0ICYmIFwicmdiYSgwLDAsMCwuNDUpXCIsXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZS5kZWZhdWx0U29ydCkge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc29ydGVyOiBbXSwgc29ydEluZm86IHt9LCBkZWZhdWx0U29ydDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi50aGlzLnN0YXRlLmZpbHRlclBhcmFtcyB9O1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnJlbG9hZCh7IHBhcmFtcyB9KTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5oGi5aSN6buY6K6k5o6S5bqPXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge3NvcnRJdGVtLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICBzb3J0ZXI6IFtdLFxyXG4gICAgICAgICAgICAgICAgICBzb3J0SW5mbzoge30sXHJcbiAgICAgICAgICAgICAgICAgIHNvcnRUeXBlOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFNvcnQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMuc3RhdGUuZmlsdGVyUGFyYW1zIH07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLnJlbG9hZCh7IHBhcmFtcyB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3NvcnRUeXBlID09IGl0ZW0ua2V5ID8gKFxyXG4gICAgICAgICAgICAgICAgPGE+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50LXRpZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDIwIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3NvcnRUeXBlID09IGl0ZW0ua2V5ICYmIDxDaGVja091dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+IHtpdGVtLnRpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtdGllbVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDIwIH19PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PiB7aXRlbS50aXRsZX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9KX1cclxuICAgICAgICB7dGhpcy5zdGF0ZS5zb3J0ZXIubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICA8PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb3RlbnQtdGl0bGVcIil9XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IFwicmdiYSgwLDAsMCwuNDUpXCIgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIOW9k+WJjeaOkuW6j1xyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAge3RoaXMuc3RhdGUuc29ydGVyLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtdGllbVwiKX0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IDIwIH19PlxyXG4gICAgICAgICAgICAgICAgICAgIHtpdGVtLm9yZGVyID09IFwiYXNjZW5kXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8U29ydEFzY2VuZGluZ091dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgIDxTb3J0RGVzY2VuZGluZ091dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+IHtpdGVtLmNvbHVtbi50aXRsZX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC8+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gICAgY29uc3Qgc2l6ZUNvbnRlbnQgPSAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb3RlbnQtdGl0bGVcIj7ooajmoLzlr4bluqY8L2Rpdj5cclxuICAgICAgICB7c2l6ZUl0ZW0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGtleT17aXRlbS5rZXl9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHRhYmxlU2l6ZTogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3RhYmxlU2l6ZSA9PSBpdGVtLmtleSA/IChcclxuICAgICAgICAgICAgICAgIDxhPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC10aWVtXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt0YWJsZVNpemUgPT0gaXRlbS5rZXkgJiYgPENoZWNrT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj4ge2l0ZW0udGl0bGV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC10aWVtXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogMjAgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+IHtpdGVtLnRpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pfVxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFNob3dDb2xzID0gY29sdW1ucy5maWx0ZXIoKGNvbHMpID0+IGNvbHMuaW5pdFNob3cgIT09IGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCBjb250ZW50ID0gKFxyXG4gICAgICA8Q2hlY2tib3guR3JvdXBcclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5maWx0ZXJDb2x1bW4uYmluZCh0aGlzKX1cclxuICAgICAgICBvcHRpb25zPXtjb2xMaXN0cy5tYXAoXHJcbiAgICAgICAgICAoY29sOiBDb2x1bW5UeXBlPHt9PiAmIHsgZmlsdGVyQ29sdW1uOiBib29sZWFuIH0pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBsYWJlbDogY29sLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBjb2wuZGF0YUluZGV4LFxyXG4gICAgICAgICAgICAgIGRpc2FibGVkOiBjb2wuZmlsdGVyQ29sdW1uID09PSBmYWxzZSxcclxuICAgICAgICAgICAgfSBhcyBDaGVja2JveE9wdGlvblR5cGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKX1cclxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4gY29sLmRhdGFJbmRleCl9XHJcbiAgICAgID48L0NoZWNrYm94Lkdyb3VwPlxyXG4gICAgKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFibGUtdG9vbC1iYXJcIj5cclxuICAgICAgICB7ZmlsdGVyQ29sdW1uICYmIChcclxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IDE0IH19PlxyXG4gICAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICAgIHRpdGxlPVwi6YCJ5oup5pi+56S655qE5YiXXCJcclxuICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcclxuICAgICAgICAgICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICAgICAgICAgIG92ZXJsYXlTdHlsZT17eyBtaW5XaWR0aDogNDEwLCBtYXhXaWR0aDogNDUwIH19XHJcbiAgICAgICAgICAgICAgLy8gZ2V0UG9wdXBDb250YWluZXI9eygpID0+IHRoaXMudGhJY29uUmVmLmN1cnJlbnR9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8QXBwc3RvcmVPdXRsaW5lZCBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImFwcC1zdG9yZS1pY29uXCIpfSAvPlxyXG4gICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDgsIGZvbnRTaXplOiAxNCB9fT5cclxuICAgICAgICAgIDxQb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbVwiIGNvbnRlbnQ9e3NvcnRDb250ZW50fSB0cmlnZ2VyPVwiY2xpY2tcIj5cclxuICAgICAgICAgICAgPFNvcnRBc2NlbmRpbmdPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDgsIGZvbnRTaXplOiAxNCB9fT5cclxuICAgICAgICAgIDxQb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbVwiIGNvbnRlbnQ9e3NpemVDb250ZW50fSB0cmlnZ2VyPVwiY2xpY2tcIj5cclxuICAgICAgICAgICAgPENvbHVtbkhlaWdodE91dGxpbmVkIC8+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcyxcclxuICAgICAge1xyXG4gICAgICAgIGxvYWRpbmcsXHJcbiAgICAgICAgZGF0YVNvdXJjZSxcclxuICAgICAgICBwYWdpbmF0aW9uID0ge30sXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvcixcclxuICAgICAgICB0YWJsZVNpemUsXHJcbiAgICAgIH0gPSB0aGlzLnN0YXRlLFxyXG4gICAgICBwcm9wcyA9IHV0aWxzLm9taXQoXHJcbiAgICAgICAgdGhpcy5wcm9wcyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBcInN0b3JlXCIsXHJcbiAgICAgICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgICAgICBcImNvbHVtbnNcIixcclxuICAgICAgICAgIFwicmVzZXRDb2x1bW5cIixcclxuICAgICAgICAgIFwidG9vbGJhclwiLFxyXG4gICAgICAgICAgXCJzb3J0RmllbGRzXCIsXHJcbiAgICAgICAgICBcImZpbHRlckNvbHVtblwiLFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93S2V5OiBcImlkXCIsXHJcbiAgICAgICAgICBjbGlja0NoYW5nZUNvbG9yOiBmYWxzZSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICBpZiAocHJvcHMucGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcclxuICAgICAgcHJvcHMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICBwb3NpdGlvbjogW1wiYm90dG9tUmlnaHRcIl0sXHJcbiAgICAgICAgc2hvd1NpemVDaGFuZ2VyOiB0cnVlLFxyXG4gICAgICAgIHNob3dRdWlja0p1bXBlcjogdHJ1ZSxcclxuICAgICAgICAuLi5wcm9wcy5wYWdpbmF0aW9uLFxyXG4gICAgICAgIC4uLnBhZ2luYXRpb24sXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChwcm9wcy5zaG93VG90YWwgPT0gdHJ1ZSkge1xyXG4gICAgICAgIHByb3BzLnBhZ2luYXRpb24uc2hvd1RvdGFsID0gZnVuY3Rpb24gKHRvdGFsLCBbZnJvbSwgdG9dKSB7XHJcbiAgICAgICAgICAvLyByZXR1cm4gXCLmmL7npLogXCIgKyBmcm9tICsgXCIgLSBcIiArIHRvICsgXCLmnaHvvIzlhbEgXCIgKyB0b3RhbCArIFwiIOadoVwiO1xyXG4gICAgICAgICAgcmV0dXJuIFwi5YWxIFwiICsgdG90YWwgKyBcIiDmnaFcIjtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm9wcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICAgIF90aGlzLm9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgfTtcclxuICAgIGlmIChwcm9wcy5jbGlja0NoYW5nZUNvbG9yKSB7XHJcbiAgICAgIGNvbnN0IG9uUm93Rm4gPSBwcm9wcy5vblJvdztcclxuICAgICAgcHJvcHMub25Sb3cgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHZhciBjdXN0b20gPSBvblJvd0ZuID8gb25Sb3dGbihyZWNvcmQsIGluZGV4KSA6IHt9O1xyXG4gICAgICAgIGNvbnN0IG9uQ2xpY2tGbiA9IGN1c3RvbS5vbkNsaWNrO1xyXG4gICAgICAgIGN1c3RvbS5vbkNsaWNrID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiBpbmRleCwgLy/ojrflj5bngrnlh7vooYznmoTntKLlvJVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sob25DbGlja0ZuLCBfdGhpcywgW2V2ZW50XSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY3VzdG9tO1xyXG4gICAgICB9O1xyXG4gICAgICBwcm9wcy5yb3dDbGFzc05hbWUgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gX3RoaXMuc3RhdGUuYWN0aXZlSW5kZXhcclxuICAgICAgICAgID8gYCR7c3R5bGVzLmNsaWNrUm93U3R5bGV9YFxyXG4gICAgICAgICAgOiBcIlwiO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IG5ld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgIGlmIChzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVlVXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvclxyXG4gICAgICApO1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkUm93S2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YVNvdXJjZTtcclxuICAgIH1cclxuICAgIHByb3BzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwge307XHJcbiAgICBwcm9wcy5zdG9yZS5hdXRvTG9hZCA9IHByb3BzLnN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgIGNvbnN0IHsgZHJhZ2FibGUgfSA9IF90aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZHJhZ2FibGVQcm9wcyA9XHJcbiAgICAgIGRyYWdhYmxlID09PSB0cnVlXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IEJvZHlSb3dDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG9uUm93OiAocmVjb3JkLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAgICAgICBpbmRleCxcclxuICAgICAgICAgICAgICByZWNvcmQsXHJcbiAgICAgICAgICAgICAgbW92ZVJvdzogdGhpcy5tb3ZlUm93LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH1cclxuICAgICAgICA6IHt9O1xyXG4gICAgbGV0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IHJlc2l6ZVByb3BzID1cclxuICAgICAgcmVzaXplQ29sdW1uID09PSB0cnVlID8geyBjb21wb25lbnRzOiB0aGlzLmNvbXBvbmVudHMgfSA6IG51bGw7XHJcblxyXG4gICAgY29uc3QgRGVmYXVsdFRhYmxlID0gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLnRvb2xiYXIgJiYgdGhpcy5yZW5kZXJUb29sQmFyKCl9XHJcbiAgICAgICAgPFRhYmxlXHJcbiAgICAgICAgICBjaGlsZHJlbkNvbHVtbk5hbWU9XCJjaGlsZE5vZGVzXCJcclxuICAgICAgICAgIGRhdGFTb3VyY2U9e25ld0RhdGFTb3VyY2V9XHJcbiAgICAgICAgICBjb2x1bW5zPXt0aGlzLmdldENvbHVtbnMoKX1cclxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XHJcbiAgICAgICAgICAvLyBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10YWJsZVwiXX1cclxuICAgICAgICAgIGxvY2FsZT17eyBlbXB0eVRleHQ6IDxOb0RhdGEgLz4gfX1cclxuICAgICAgICAgIHNjcm9sbD17eyB4OiB0cnVlIH19XHJcbiAgICAgICAgICBzaXplPXt0YWJsZVNpemV9XHJcbiAgICAgICAgICB7Li4ucmVzaXplUHJvcHN9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4uZHJhZ2FibGVQcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGRyYWdhYmxlID09PSB0cnVlID8gKFxyXG4gICAgICA8RG5kUHJvdmlkZXIgYmFja2VuZD17SFRNTDVCYWNrZW5kfT57RGVmYXVsdFRhYmxlfTwvRG5kUHJvdmlkZXI+XHJcbiAgICApIDogKFxyXG4gICAgICBEZWZhdWx0VGFibGVcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB3aXRoWmhMb2NhbGUoTlNDVGFibGUpO1xyXG4iXX0=
|
|
923
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdGFibGUvaW5kZXgudHN4Il0sIm5hbWVzIjpbIkFwcHN0b3JlT3V0bGluZWQiLCJDaGVja091dGxpbmVkIiwiQ29sdW1uSGVpZ2h0T3V0bGluZWQiLCJTZWFyY2hPdXRsaW5lZCIsIlNvcnRBc2NlbmRpbmdPdXRsaW5lZCIsIlNvcnREZXNjZW5kaW5nT3V0bGluZWQiLCJpc0VtcHR5T2JqIiwiU3RvcmUiLCJQYWdlU3RvcmUiLCJ1dGlscyIsIlJlYWN0IiwiRG5kUHJvdmlkZXIiLCJCb2R5Um93IiwiRG5kQ29udGV4dFR5cGUiLCJJQm9keVJvd1Byb3BzIiwidHJlZVV0aWxzIiwic3R5bGVzIiwiQm9keVJvd0NvbXBvbmVudCIsIkhUTUw1QmFja2VuZCIsIndpdGhaaExvY2FsZSIsIlJlc2l6YWJsZSIsImdldExlc3MiLCJnZXROb2RlIiwiTm9EYXRhIiwiUmVzaXplYWJsZVRpdGxlIiwicHJvcHMiLCJvblJlc2l6ZSIsIndpZHRoIiwicmVzdFByb3BzIiwiZW5hYmxlVXNlclNlbGVjdEhhY2siLCJOU0NUYWJsZSIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJjb2x1bW5zIiwibG9hZGluZyIsInBhZ2luYXRpb24iLCJhY3RpdmVJbmRleCIsInNlYXJjaFRleHQiLCJmaWVsZE9wdGlvbiIsInNlYXJjaENvbG9yIiwiY29scyIsInNvcnRzIiwiZmlsdGVyUGFyYW1zIiwidGFibGVTaXplIiwic29ydFR5cGUiLCJzb3J0ZXIiLCJzb3J0SW5mbyIsImRlZmF1bHRTb3J0IiwiY2hlY2tDb2x1bW4iLCJkZWZhdWx0Q2hlY2siLCJvbkJlZm9yZUxvYWQiLCJsb2FkIiwiaGVhZGVyIiwiY2VsbCIsImluZGV4IiwiZSIsInNpemUiLCJzdGF0ZSIsIm5leHRDb2x1bW5zIiwic2V0U3RhdGUiLCJkcmFnSW5kZXgiLCJob3ZlckluZGV4IiwiZHJhZyIsInRhcmdldCIsIl90aGlzIiwiZHJhZ05vZGUiLCJyZWNvcmQiLCJ0YXJnZXROb2RlIiwibW92ZUFycmF5IiwiaWRzIiwicGFyZW50Tm9kZSIsImdldENoaWxkTm9kZUlkcyIsInBhcmFtcyIsImlkIiwicGFyZW50SWQiLCJhdHRyaWJ1dGUiLCJtb3ZlUm93Iiwic3RvcmUiLCJyZWxvYWQiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQcm9wcyIsInJlc3RTdG9yZSIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImRhdGFDaGFuZ2VkIiwiZGF0YSIsIm1vZGVsRGF0YSIsInBhZ2luZyIsImdldFBhZ2luYXRpb24iLCJvbkVycm9yTG9hZCIsImVyciIsInJlc3BvbnNlIiwiYXV0b0xvYWQiLCJPYmplY3QiLCJhc3NpZ24iLCJjdXJyZW50IiwicmVzaXplQ29sdW1uIiwic2V0RGF0YSIsInByZXZQcm9wcyIsInByZVN0YXRlIiwicmVzZXRDb2x1bW4iLCJuZXdDb2xzIiwiY29sc3MiLCJtYXAiLCJjb2wiLCJ0ZW1wIiwib25IZWFkZXJDZWxsIiwiY29sdW1uIiwiaGFuZGxlUmVzaXplIiwicHVzaCIsImZpbHRlcnMiLCJleHRyYSIsImF1dG9PbkNoYW5nZSIsImF1dG9Tb3J0IiwiYXV0b1BhZ2luYXRpb24iLCJvbkNoYW5nZSIsImlzTXVsdGlwbGUiLCJBcnJheSIsImlzQXJyYXkiLCJoYW5kbGVQYWdpbmF0aW9uIiwiZ2V0UGFnaW5hdGlvbkJ5U3RvcmUiLCJwIiwiY3VycmVudEtleSIsInBhZ2VTaXplS2V5IiwicGFnZVNpemUiLCJhc2NQYXJhbXMiLCJnZXRTb3J0UGFyYW0iLCJvbkNoYW5nZUZuIiwiZ2V0TW9kZWwiLCJ2YWwiLCJjaGVja2VkVmFsdWUiLCJjb25zb2xlIiwibG9nIiwibGVuZ3RoIiwid2FybmluZyIsImZpbHRlckNvbHVtbnMiLCJuZXdDb2wiLCJpbmNsdWRlcyIsImRhdGFJbmRleCIsImluaXRTaG93Iiwic29ydFN0YXRlIiwib3JkZXJJdGVtcyIsImZpZWxkIiwiYXNjIiwib3JkZXIiLCJmb3JFYWNoIiwidiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzb3J0RmllbGRzIiwiZGVmYXVsdFNob3dDb2xzIiwiZmlsdGVyIiwiZWxsaXBzaXMiLCJyZW5kZXIiLCJzaG93VGl0bGUiLCJ0ZXh0IiwiaW5kZXhPZiIsInNvcnRPcmRlciIsIm11bHRpcGxlIiwiaXRlbSIsImZpbHRlclByb3BzIiwib2JqIiwidHlwZSIsInNlYXJjaEtleSIsIkRpdiIsInRpdGxlIiwicGxhY2Vob2xkZXIiLCJyZWYiLCJ0YWJsZVNlYXJjaFJlZiIsImZpbHRlckRyb3Bkb3duIiwic2V0U2VsZWN0ZWRLZXlzIiwic2VsZWN0ZWRLZXlzIiwiY29uZmlybSIsImNsZWFyRmlsdGVycyIsIm5ld0ZpbHRlclBhcmFtcyIsImtleSIsImdldFZhbHVlIiwic29ydFBhcmFtIiwiZmlsdGVySWNvbiIsImZpbHRlckNvbHVtbiIsImNvbExpc3RzIiwic2l6ZUl0ZW0iLCJzb3J0SXRlbSIsInNvcnRDb250ZW50IiwiY3Vyc29yIiwiY29sb3IiLCJzaXplQ29udGVudCIsImNvbnRlbnQiLCJiaW5kIiwibGFiZWwiLCJ2YWx1ZSIsImRpc2FibGVkIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwibWFyZ2luUmlnaHQiLCJvbWl0Iiwicm93S2V5IiwiY2xpY2tDaGFuZ2VDb2xvciIsInBvc2l0aW9uIiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1F1aWNrSnVtcGVyIiwic2hvd1RvdGFsIiwidG90YWwiLCJmcm9tIiwidG8iLCJvblJvd0ZuIiwib25Sb3ciLCJjdXN0b20iLCJvbkNsaWNrRm4iLCJvbkNsaWNrIiwiZXZlbnQiLCJyb3dDbGFzc05hbWUiLCJjbGlja1Jvd1N0eWxlIiwibmV3RGF0YVNvdXJjZSIsImdldFNlYXJjaE1lbnVEYXRhcyIsInRyZWVEYXRhcyIsImV4cGFuZGVkUm93S2V5cyIsIm9wZW5LZXlzIiwiZHJhZ2FibGUiLCJkcmFnYWJsZVByb3BzIiwiY29tcG9uZW50cyIsInJlc2l6ZVByb3BzIiwiRGVmYXVsdFRhYmxlIiwidG9vbGJhciIsInJlbmRlclRvb2xCYXIiLCJnZXRDb2x1bW5zIiwiZW1wdHlUZXh0IiwieCIsIkNvbXBvbmVudCIsImRyYWdVcmwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQ0VBLGdCQURGLEVBRUVDLGFBRkYsRUFHRUMsb0JBSEYsRUFJRUMsY0FKRixFQUtFQyxxQkFMRixFQU1FQyxzQkFORixRQU9PLG1CQVBQO0FBUUEsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxTQUFoQixRQUE2QyxhQUE3QztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBY0EsT0FBTyxLQUFLQyxLQUFaLE1BQXVCLE9BQXZCO0FBQ0EsU0FBU0MsV0FBVCxRQUE0QixXQUE1QjtBQUNBLE9BQU9DLE9BQVAsSUFBa0JDLGNBQWxCLEVBQWtDQyxhQUFsQyxRQUF1RCxtQkFBdkQ7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLGlCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIscUJBQW5CO0FBQ0EsSUFBUUMsZ0JBQVIsR0FBMkNMLE9BQTNDLENBQVFLLGdCQUFSO0FBQUEsSUFBMEJDLFlBQTFCLEdBQTJDTixPQUEzQyxDQUEwQk0sWUFBMUI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLHdCQUF6QjtBQUNBLFNBQVNDLFNBQVQsUUFBMEIsaUJBQTFCO0FBQ0EsT0FBTyxzQkFBUDtBQUNBLFNBQVNDLE9BQVQsRUFBa0JDLE9BQWxCLFFBQWlDLGFBQWpDO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQiwwQkFBbkI7QUFrQ0EsU0FBU1YsY0FBVCxFQUF5QkMsYUFBekI7O0FBRUEsSUFBTVUsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxLQUFELEVBQWdCO0FBQ3RDLE1BQVFDLFFBQVIsR0FBMENE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RUFBQUEsT0FBTyxFQUFFLEVBSlc7QUFLcEJwSCxFQUFBQSxjQUFjLEVBQUUsSUFMSTtBQU1wQkQsRUFBQUEsUUFBUSxFQUFFLElBTlU7QUFPcEJELEVBQUFBLFlBQVksRUFBRSxJQVBNO0FBUXBCaEIsRUFBQUEsWUFBWSxFQUFFLElBUk07QUFTcEJnSSxFQUFBQSxPQUFPLEVBQUU7QUFUVyxDOztBQW10QnhCLGVBQWVoTixZQUFZLENBQUNXLFFBQUQsQ0FBM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjMgMDg6NDY6MjBcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTAzLTIzIDEwOjMwOjQyXHJcbiAqL1xyXG5pbXBvcnQge1xyXG4gIEFwcHN0b3JlT3V0bGluZWQsXHJcbiAgQ2hlY2tPdXRsaW5lZCxcclxuICBDb2x1bW5IZWlnaHRPdXRsaW5lZCxcclxuICBTZWFyY2hPdXRsaW5lZCxcclxuICBTb3J0QXNjZW5kaW5nT3V0bGluZWQsXHJcbiAgU29ydERlc2NlbmRpbmdPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbixcclxuICBDaGVja2JveCxcclxuICBDaGVja2JveE9wdGlvblR5cGUsXHJcbiAgTWVudSxcclxuICBtZXNzYWdlLFxyXG4gIFBvcG92ZXIsXHJcbiAgU3BhY2UsXHJcbiAgVGFibGUsXHJcbiAgVGFibGVQcm9wcyxcclxuICBUb29sdGlwLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG5kUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtZG5kXCI7XHJcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmltcG9ydCB0cmVlVXRpbHMgZnJvbSBcIi4uLy4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmNvbnN0IHsgQm9keVJvd0NvbXBvbmVudCwgSFRNTDVCYWNrZW5kIH0gPSBCb2R5Um93O1xyXG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XHJcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcclxuaW1wb3J0IFwiLi9yZXNpemUubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcywgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgTm9EYXRhIGZyb20gXCIuLi8uLi9iYXNlL2NvbW1vbi9Ob0RhdGFcIjtcclxuXHJcbmludGVyZmFjZSBJRHJhZ1BhcmFtcyB7XHJcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICBpZHM6IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgcGFyZW50SWQ6IHN0cmluZyB8IG51bWJlcjtcclxufVxyXG4vLyBpbnRlcmZhY2UgU3RvcmVQcm9wcyB7fVxyXG5cclxuZXhwb3J0IHR5cGUgU3RvcmVUeXBlID0gXCJQYWdlU3RvcmVcIiB8IFwiVHJlZVN0b3JlXCIgfCBcIkJhc2VTdG9yZVwiO1xyXG5cclxuaW50ZXJmYWNlIE5TQ1RhYmxlUGFnaW5hdGlvbiBleHRlbmRzIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB7XHJcbiAgdG90YWxLZXk/OiBzdHJpbmc7XHJcbiAgcGFnZVNpemVLZXk/OiBzdHJpbmc7XHJcbiAgY3VycmVudEtleT86IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIE5TQ1RhYmxlUHJvcHMgZXh0ZW5kcyBUYWJsZVByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93VG90YWw/OiBib29sZWFuOyAvLyDmmK/lkKbmmL7npLrmgLvmnaHmlbDkv6Hmga/vvIzpu5jorqR0cnVlXHJcbiAgZHJhZ2FibGU/OiBib29sZWFuOyAvLyDmmK/lkKblj6/mi5bliqgsIOm7mOiupGZhbHNlXHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy8g5piv5ZCm5pSv5oyB6L+H5ruk5pi+56S66KGo5qC85YiXLCDpu5jorqR0cnVlXHJcbiAgbW92ZVJvdz86IChwYXJhbXM6IElEcmFnUGFyYW1zKSA9PiB2b2lkOyAvLyDmi5bmi73lrozmiJDlkI7nmoTlm57osINcclxuICBkcmFnVXJsPzogc3RyaW5nOyAvLyDkv53lrZjmi5bmi73mjpLluo/nmoTmjqXlj6NcclxuICBwYWdpbmF0aW9uPzogZmFsc2UgfCBOU0NUYWJsZVBhZ2luYXRpb247XHJcbiAgYXV0b1BhZ2luYXRpb24/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqjlpITnkIbliIbpobVcclxuICBhdXRvU29ydD86IGJvb2xlYW47IC8v57uE5Lu25piv5ZCm6Ieq5Yqo5aSE55CG5o6S5bqPXHJcbiAgYXV0b09uQ2hhbmdlPzogYm9vbGVhbjsgLy8g57uE5Lu25piv5ZCm6Ieq5Yqob25DaGFuZ2UsIGZhbHNl5YiZ5LiN5YGa5Lu75L2V5aSE55CG5YWo6YOo5Lqk57uZ6LCD55So5pa5XHJcbiAgcmVzaXplQ29sdW1uPzogYm9vbGVhbjtcclxuICBzb3J0RmllbGRzPzogQXJyYXk8c3RyaW5nPjsgLy/pnIDopoHmjpLluo/nmoTlrZfmrrVJbmRleFxyXG4gIHRvb2xiYXI/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9O1xyXG5cclxuY29uc3QgUmVzaXplYWJsZVRpdGxlID0gKHByb3BzOiBhbnkpID0+IHtcclxuICBjb25zdCB7IG9uUmVzaXplLCB3aWR0aCwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPFJlc2l6YWJsZVxyXG4gICAgICB3aWR0aD17d2lkdGggfHwgMTUwfVxyXG4gICAgICBoZWlnaHQ9ezB9XHJcbiAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cclxuICAgICAgZHJhZ2dhYmxlT3B0cz17eyBlbmFibGVVc2VyU2VsZWN0SGFjazogZmFsc2UgfX1cclxuICAgID5cclxuICAgICAgPHRoIHsuLi5yZXN0UHJvcHN9IC8+XHJcbiAgICA8L1Jlc2l6YWJsZT5cclxuICApO1xyXG59O1xyXG5jbGFzcyBOU0NUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTlNDVGFibGVQcm9wcz4ge1xyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBkcmFnYWJsZTogZmFsc2UsXHJcbiAgICBzaG93VG90YWw6IHRydWUsXHJcbiAgICBmaWx0ZXJDb2x1bW46IHRydWUsXHJcbiAgICBkcmFnVXJsOiBcIlwiLFxyXG4gICAgYXV0b1BhZ2luYXRpb246IHRydWUsXHJcbiAgICBhdXRvU29ydDogdHJ1ZSxcclxuICAgIGF1dG9PbkNoYW5nZTogdHJ1ZSxcclxuICAgIHJlc2l6ZUNvbHVtbjogdHJ1ZSxcclxuICAgIHRvb2xiYXI6IHRydWUsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuICB0YWJsZVNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICAgIGNvbHM6IFtdLFxyXG4gICAgc29ydHM6IFtdLFxyXG4gICAgZmlsdGVyUGFyYW1zOiB7fSxcclxuICAgIHRhYmxlU2l6ZTogXCJtaWRkbGVcIixcclxuICAgIHNvcnRUeXBlOiBcInNpbmdsZVwiLFxyXG4gICAgc29ydGVyOiBbXSwgLy/orrDlvZXlvZPliY3mjpLluo/lrZfmrrVcclxuICAgIHNvcnRJbmZvOiB7fSxcclxuICAgIGRlZmF1bHRTb3J0OiB0cnVlLFxyXG4gICAgY2hlY2tDb2x1bW46IFtdLFxyXG4gICAgZGVmYXVsdENoZWNrOiB0cnVlLFxyXG4gIH07XHJcblxyXG4gIGxpc3RlbmVycyA9IHtcclxuICAgIG9uQmVmb3JlTG9hZDogbnVsbCxcclxuICAgIGxvYWQ6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgY29tcG9uZW50cyA9IHtcclxuICAgIGhlYWRlcjoge1xyXG4gICAgICBjZWxsOiBSZXNpemVhYmxlVGl0bGUsXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBpZiAocHJvcHMuc3RvcmUgaW5zdGFuY2VvZiBTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPVxyXG4gICAgICAgIHByb3BzLnN0b3JlIHx8IHt9O1xyXG4gICAgICBjb25zdCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiAoc3RvcmUsIG9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uQmVmb3JlTG9hZCwgdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBwYWdpbmcgPSAhKHRoaXMucHJvcHMucGFnaW5hdGlvbiA9PT0gZmFsc2UpO1xyXG4gICAgICAgICAgICBpZiAocGFnaW5nICYmICF0aGlzLnByb3BzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHN0b3JlLmdldFBhZ2luYXRpb24oKSxcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlSW5kZXg6IC0xLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEsIGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5kYXRhQ2hhbmdlZCwgdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICAgIHBhZ2luZyxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpID0+IHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMubG9hZCwgdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvbkVycm9yTG9hZDogKGVyciwgcmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkVycm9yTG9hZCwgdGhpcywgW2VyciwgcmVzcG9uc2VdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhOiByZXN0U3RvcmUuZGF0YVxyXG4gICAgICAgICAgPyByZXN0U3RvcmUuZGF0YVxyXG4gICAgICAgICAgOiBwcm9wcy5kYXRhU291cmNlXHJcbiAgICAgICAgICA/IHByb3BzLmRhdGFTb3VyY2VcclxuICAgICAgICAgIDogbnVsbCxcclxuICAgICAgICAuLi5yZXN0U3RvcmUsXHJcbiAgICAgICAgYXV0b0xvYWQ6IHJlc3RTdG9yZS5hdXRvTG9hZCA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgUGFnZVN0b3JlKFxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIHN0b3JlUHJvcHMsIHtcclxuICAgICAgICAgIHBhZ2luYXRpb246IHsgY3VycmVudDogMSwgLi4udGhpcy5wcm9wcy5wYWdpbmF0aW9uIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2l6ZSA9XHJcbiAgICAoaW5kZXg6IGFueSkgPT5cclxuICAgIChlOiBhbnksIHsgc2l6ZSB9OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjb2xzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCBuZXh0Q29sdW1ucyA9IFsuLi5jb2xzXTtcclxuICAgICAgbmV4dENvbHVtbnNbaW5kZXhdID0ge1xyXG4gICAgICAgIC4uLm5leHRDb2x1bW5zW2luZGV4XSxcclxuICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY29sczogbmV4dENvbHVtbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xzOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5wcm9wcy5zdG9yZTtcclxuICAgIGlmIChzdG9yZSAmJiBzdG9yZS5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0RGF0YShzdG9yZS5kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZVN0YXRlKSB7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmNvbHVtbnMgIT09IHByZXZQcm9wcy5jb2x1bW5zKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IHRoaXMucHJvcHMuY29sdW1ucyB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHByZVN0YXRlLmNvbHMgIT09IHRoaXMuc3RhdGUuY29scykge1xyXG4gICAgICAgIHRoaXMucmVzZXRDb2x1bW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRDb2x1bW4oKSB7XHJcbiAgICBjb25zdCB7IGNvbHMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBuZXdDb2xzOiBhbnkgPSBbXTtcclxuICAgIGxldCBjb2xzcyA9IGNvbHMgfHwgW107XHJcbiAgICBjb2xzcy5tYXAoKGNvbDogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0ge1xyXG4gICAgICAgIC4uLmNvbCxcclxuICAgICAgICBvbkhlYWRlckNlbGw6IChjb2x1bW46IHsgd2lkdGg6IGFueSB9KSA9PiAoe1xyXG4gICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcclxuICAgICAgICAgIG9uUmVzaXplOiB0aGlzLmhhbmRsZVJlc2l6ZShpbmRleCksXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH07XHJcbiAgICAgIG5ld0NvbHMucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGNvbHVtbnM6IG5ld0NvbHMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOa4hemZpOmAieS4reminOiJslxyXG4gICAqL1xyXG4gIGNsZWFyU2VsZWN0Q29sb3IoKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aXZlSW5kZXg6IC0xIH0pO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdpbmF0aW9uQnlTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldFBhZ2luYXRpb24oKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpIHtcclxuICAgIGNvbnN0IHsgYXV0b09uQ2hhbmdlLCBhdXRvU29ydCwgYXV0b1BhZ2luYXRpb24sIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1zIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgaXNNdWx0aXBsZSA9IEFycmF5LmlzQXJyYXkoc29ydGVyKTtcclxuICAgIGlmIChhdXRvT25DaGFuZ2UgPT09IGZhbHNlKSB7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBoYW5kbGVQYWdpbmF0aW9uID0gKCkgPT4ge1xyXG4gICAgICBsZXQgcGFyYW1zID0ge30gYXMge1xyXG4gICAgICAgIHNpemU/OiBzdHJpbmc7XHJcbiAgICAgICAgcGFnZVNpemU/OiBzdHJpbmc7XHJcbiAgICAgICAgYXNjcz86IHN0cmluZztcclxuICAgICAgICBkZXNjcz86IHN0cmluZztcclxuICAgICAgICBbcHJvcE5hbWU6IHN0cmluZ106IHN0cmluZztcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHBhZ2luZyA9IHRoaXMuZ2V0UGFnaW5hdGlvbkJ5U3RvcmUoKSB8fCB7fTtcclxuXHJcbiAgICAgIGlmICghaXNFbXB0eU9iaihwYWdpbmF0aW9uKSkge1xyXG4gICAgICAgIGNvbnN0IHAgPSB7XHJcbiAgICAgICAgICBbcGFnaW5nLmN1cnJlbnRLZXkgfHwgXCJjdXJyZW50XCJdOiBwYWdpbmF0aW9uLmN1cnJlbnQsXHJcbiAgICAgICAgICBbcGFnaW5nLnBhZ2VTaXplS2V5IHx8IFwic2l6ZVwiXTogcGFnaW5hdGlvbi5wYWdlU2l6ZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBwKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgYXNjUGFyYW1zID0gdGhpcy5nZXRTb3J0UGFyYW0oc29ydGVyLCB0cnVlKTtcclxuICAgICAgaWYgKGlzTXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgc29ydGVyIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCFpc011bHRpcGxlICYmICFpc0VtcHR5T2JqKHNvcnRlcikpIHtcclxuICAgICAgICBzb3J0ZXIuY29sdW1uICYmXHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc29ydGVyOiBbc29ydGVyXSwgZGVmYXVsdFNvcnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzb3J0ZXI6IFtdIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHBhcmFtcyA9IHsgLi4uZmlsdGVyUGFyYW1zLCAuLi5wYXJhbXMsIC4uLmFzY1BhcmFtcyB9O1xyXG4gICAgICBhdXRvU29ydCAmJiB0aGlzLnN0b3JlLnJlbG9hZCh7IHBhcmFtcyB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb25DaGFuZ2VGbiA9IHRoaXMucHJvcHMub25DaGFuZ2U7XHJcbiAgICAvLyDnlKjmiLfkvKDkuoZvbkNoYW5nZeS/neeVmeeUqOaIt+iHquS4u+WkhOeQhuihqOagvOWPmOWMlueahOadg+WKm1xyXG4gICAgaWYgKG9uQ2hhbmdlRm4pIHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGFuZ2VGbiwgdGhpcywgW3BhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmFdKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXV0b1BhZ2luYXRpb24gJiYgaGFuZGxlUGFnaW5hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluaVsOaNruaooeWei+WvueixoVxyXG4gICAqL1xyXG4gIGdldE1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0TW9kZWwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiPnOWNleaQnOe0oui/h+a7pOaYvuekulxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSB2YWxcclxuICAgKi9cclxuICBoYW5kbGVTZWFyY2godmFsLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWFyY2hUZXh0OiB2YWwsXHJcbiAgICAgIGZpZWxkT3B0aW9uOiBmaWVsZE9wdGlvbixcclxuICAgICAgc2VhcmNoQ29sb3I6IHNlYXJjaENvbG9yLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmqKHlnZfliJfooajnp7vliqjmjpLluo9cclxuICAgKi9cclxuICBtb3ZlUm93ID0gKGRyYWdJbmRleCwgaG92ZXJJbmRleCwgZHJhZywgdGFyZ2V0KSA9PiB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBsZXQgZHJhZ05vZGUgPSBkcmFnLnJlY29yZDtcclxuICAgIGxldCB0YXJnZXROb2RlID0gdGFyZ2V0LnJlY29yZDtcclxuICAgIGRyYWdOb2RlLm1vdmVBcnJheShkcmFnTm9kZSwgdGFyZ2V0Tm9kZSk7XHJcbiAgICBsZXQgaWRzID0gZHJhZ05vZGUucGFyZW50Tm9kZS5nZXRDaGlsZE5vZGVJZHMoKTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGlkOiBkcmFnTm9kZS5pZCxcclxuICAgICAgcGFyZW50SWQ6IGRyYWdOb2RlLmF0dHJpYnV0ZS5wYXJlbnRJZCxcclxuICAgICAgaWRzOiBpZHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnByb3BzLm1vdmVSb3cpIHtcclxuICAgICAgdGhpcy5wcm9wcy5tb3ZlUm93KHBhcmFtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLnJlbG9hZCgpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGZpbHRlckNvbHVtbihjaGVja2VkVmFsdWUpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2hlY2tlZFZhbHVlXCIsIGNoZWNrZWRWYWx1ZSk7XHJcbiAgICBpZiAoY2hlY2tlZFZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIG1lc3NhZ2Uud2FybmluZyhcIuiHs+WwkeaYvuekuuS4gOWIl++8gVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmlsdGVyQ29sdW1ucyA9IHRoaXMucHJvcHMuY29sdW1ucy5tYXAoKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+IHtcclxuICAgICAgY29uc3QgbmV3Q29sID0geyAuLi5jb2wgfSBhcyBDb2x1bW5UeXBlPHt9PiAmIHsgaW5pdFNob3c6IGJvb2xlYW4gfTtcclxuICAgICAgaWYgKGNoZWNrZWRWYWx1ZS5pbmNsdWRlcyhjb2wuZGF0YUluZGV4KSkge1xyXG4gICAgICAgIG5ld0NvbC5pbml0U2hvdyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3Q29sLmluaXRTaG93ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld0NvbDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyByZXNpemVDb2x1bW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXJlc2l6ZUNvbHVtbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjb2x1bW5zOiBmaWx0ZXJDb2x1bW5zLFxyXG4gICAgICAgIGNoZWNrQ29sdW1uOiBjaGVja2VkVmFsdWUsXHJcbiAgICAgICAgZGVmYXVsdENoZWNrOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjb2xzOiBmaWx0ZXJDb2x1bW5zLFxyXG4gICAgICAgIGNoZWNrQ29sdW1uOiBjaGVja2VkVmFsdWUsXHJcbiAgICAgICAgZGVmYXVsdENoZWNrOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFNvcnRQYXJhbShzb3J0ZXIsIHNvcnRTdGF0ZSA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBpc011bHRpcGxlID0gQXJyYXkuaXNBcnJheShzb3J0ZXIpO1xyXG4gICAgbGV0IHNvcnRJbmZvID0ge307XHJcbiAgICBsZXQgb3JkZXJJdGVtcyA9IFtdO1xyXG4gICAgaWYgKCFpc0VtcHR5T2JqKHNvcnRlcikgJiYgIWlzTXVsdGlwbGUpIHtcclxuICAgICAgb3JkZXJJdGVtcyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjb2x1bW46IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmNvbHVtbi5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBhc2M6IHNvcnRlci5vcmRlciA9PSBcImFzY2VuZFwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcbiAgICAgIGlmIChzb3J0ZXIuY29sdW1uKSBzb3J0SW5mb1tzb3J0ZXIuY29sdW1uLmRhdGFJbmRleF0gPSBzb3J0ZXIub3JkZXI7XHJcbiAgICB9IGVsc2UgaWYgKGlzTXVsdGlwbGUpIHtcclxuICAgICAgc29ydGVyLmZvckVhY2goKHYpID0+IHtcclxuICAgICAgICBzb3J0SW5mb1t2LmNvbHVtbi5kYXRhSW5kZXhdID0gdi5vcmRlcjtcclxuICAgICAgICBsZXQgZmllbGQgPSB2LmNvbHVtbi5maWVsZCB8fCB2LmNvbHVtbi5kYXRhSW5kZXg7XHJcbiAgICAgICAgb3JkZXJJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIGNvbHVtbjogZmllbGQsXHJcbiAgICAgICAgICBhc2M6IHYub3JkZXIgPT0gXCJhc2NlbmRcIixcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoc29ydFN0YXRlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHNvcnRJbmZvOiBzb3J0SW5mbyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geyBvcmRlckl0ZW1zOiBKU09OLnN0cmluZ2lmeShvcmRlckl0ZW1zKSB9O1xyXG4gIH1cclxuICBnZXRDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgeyBjb2x1bW5zLCBzb3J0VHlwZSwgc29ydEluZm8gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IHNvcnRGaWVsZHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGRlZmF1bHRTaG93Q29scyA9IGNvbHVtbnMuZmlsdGVyKChjb2xzKSA9PiBjb2xzLmluaXRTaG93ICE9PSBmYWxzZSk7XHJcbiAgICBjb25zdCBjb2xzID0gZGVmYXVsdFNob3dDb2xzLm1hcCgoY29sLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAoY29sLmVsbGlwc2lzICYmICFjb2wucmVuZGVyKSB7XHJcbiAgICAgICAgY29sLmVsbGlwc2lzID0ge1xyXG4gICAgICAgICAgc2hvd1RpdGxlOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbC5yZW5kZXIgPSAodGV4dCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFRvb2x0aXAgcGxhY2VtZW50PVwidG9wTGVmdFwiIHRpdGxlPXt0ZXh0fT5cclxuICAgICAgICAgICAgICB7dGV4dH1cclxuICAgICAgICAgICAgPC9Ub29sdGlwPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc29ydEZpZWxkcy5pbmRleE9mKGNvbC5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgICBpZiAoc29ydFR5cGUgPT0gXCJzaW5nbGVcIikge1xyXG4gICAgICAgICAgY29sLnNvcnRlciA9IHRydWU7XHJcbiAgICAgICAgICBjb2wuc29ydE9yZGVyID0gc29ydEluZm9bY29sLmRhdGFJbmRleF1cclxuICAgICAgICAgICAgPyBzb3J0SW5mb1tjb2wuZGF0YUluZGV4XVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzb3J0VHlwZSA9PSBcIm11bHRpcGxlXCIpIHtcclxuICAgICAgICAgIGNvbC5zb3J0ZXIgPSB7IG11bHRpcGxlOiBpbmRleCB9O1xyXG4gICAgICAgICAgY29sLnNvcnRPcmRlciA9IHNvcnRJbmZvW2NvbC5kYXRhSW5kZXhdXHJcbiAgICAgICAgICAgID8gc29ydEluZm9bY29sLmRhdGFJbmRleF1cclxuICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sO1xyXG4gICAgfSk7XHJcbiAgICBjb2xzLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKCFpc0VtcHR5T2JqKGl0ZW0uZmlsdGVyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICAgIGNvbnN0IHsgdHlwZSwgcHJvcHMsIHNlYXJjaEtleSB9ID0gaXRlbS5maWx0ZXJQcm9wcztcclxuICAgICAgICBsZXQgRGl2ID0gbnVsbDtcclxuICAgICAgICBsZXQgdGV4dCA9IGl0ZW0udGl0bGU7XHJcbiAgICAgICAgRGl2ID0gZ2V0Tm9kZSh0eXBlLCB7XHJcbiAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiBg5pCc57SiJHt0ZXh0fWAsXHJcbiAgICAgICAgICByZWY6IHRoaXMudGFibGVTZWFyY2hSZWYsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JqID0ge1xyXG4gICAgICAgICAgZmlsdGVyRHJvcGRvd246ICh7XHJcbiAgICAgICAgICAgIHNldFNlbGVjdGVkS2V5cyxcclxuICAgICAgICAgICAgc2VsZWN0ZWRLZXlzLFxyXG4gICAgICAgICAgICBjb25maXJtLFxyXG4gICAgICAgICAgICBjbGVhckZpbHRlcnMsXHJcbiAgICAgICAgICB9KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInNlYXJjaFwiKX0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwic3BhY2VcIil9PntEaXZ9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8U3BhY2U+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3RmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJQYXJhbXMgfTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBrZXkgPSBpdGVtLmZpZWxkIHx8IGl0ZW0uZGF0YUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgbmV3RmlsdGVyUGFyYW1zW2tleV0gPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU2VhcmNoUmVmLmN1cnJlbnQ/LmdldFZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUGFyYW1zOiB7IC4uLm5ld0ZpbHRlclBhcmFtcyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3J0UGFyYW0gPSB0aGlzLmdldFNvcnRQYXJhbSh0aGlzLnN0YXRlLnNvcnRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmxvYWQoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgLi4ubmV3RmlsdGVyUGFyYW1zLCAuLi5zb3J0UGFyYW0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImJ1dHRvblwiKX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvU3BhY2U+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZmlsdGVySWNvbjogKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gPFNlYXJjaE91dGxpbmVkIC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLm9iaixcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbHNbaW5kZXhdID0gb2JqO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjb2xzO1xyXG4gIH1cclxuICByZW5kZXJUb29sQmFyKCkge1xyXG4gICAgbGV0IHsgdGFibGVTaXplLCBjb2x1bW5zLCBzb3J0VHlwZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCB7IGZpbHRlckNvbHVtbiwgY29sdW1uczogY29sTGlzdHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBzaXplSXRlbSA9IFtcclxuICAgICAgeyB0aXRsZTogXCLlrr3mnb5cIiwga2V5OiBcImRlZmF1bHRcIiB9LFxyXG4gICAgICB7IHRpdGxlOiBcIuS4reetiVwiLCBrZXk6IFwibWlkZGxlXCIgfSxcclxuICAgICAgeyB0aXRsZTogXCLntKflh5FcIiwga2V5OiBcInNtYWxsXCIgfSxcclxuICAgIF07XHJcbiAgICBjb25zdCBzb3J0SXRlbSA9IFtcclxuICAgICAgeyB0aXRsZTogXCLljZXlrZfmrrXmjpLluo9cIiwga2V5OiBcInNpbmdsZVwiIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwi5aSa5a2X5q615o6S5bqPXCIsIGtleTogXCJtdWx0aXBsZVwiIH0sXHJcbiAgICBdO1xyXG4gICAgY29uc3Qgc29ydENvbnRlbnQgPSAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb3RlbnQtdGl0bGVcIil9XHJcbiAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICBjdXJzb3I6IHRoaXMuc3RhdGUuZGVmYXVsdFNvcnQgPyBcIm5vdC1hbGxvd2VkXCIgOiBcInBvaW50ZXJcIixcclxuICAgICAgICAgICAgY29sb3I6IHRoaXMuc3RhdGUuZGVmYXVsdFNvcnQgJiYgXCJyZ2JhKDAsMCwwLC40NSlcIixcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlLmRlZmF1bHRTb3J0KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzb3J0ZXI6IFtdLCBzb3J0SW5mbzoge30sIGRlZmF1bHRTb3J0OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMuc3RhdGUuZmlsdGVyUGFyYW1zIH07XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmUucmVsb2FkKHsgcGFyYW1zIH0pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDmgaLlpI3pu5jorqTmjpLluo9cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB7c29ydEl0ZW0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGtleT17aXRlbS5rZXl9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHNvcnRlcjogW10sXHJcbiAgICAgICAgICAgICAgICAgIHNvcnRJbmZvOiB7fSxcclxuICAgICAgICAgICAgICAgICAgc29ydFR5cGU6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0U29ydDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4udGhpcy5zdGF0ZS5maWx0ZXJQYXJhbXMgfTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUucmVsb2FkKHsgcGFyYW1zIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7c29ydFR5cGUgPT0gaXRlbS5rZXkgPyAoXHJcbiAgICAgICAgICAgICAgICA8YT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtdGllbVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogMjAgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c29ydFR5cGUgPT0gaXRlbS5rZXkgJiYgPENoZWNrT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj4ge2l0ZW0udGl0bGV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC10aWVtXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogMjAgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+IHtpdGVtLnRpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pfVxyXG4gICAgICAgIHt0aGlzLnN0YXRlLnNvcnRlci5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvdGVudC10aXRsZVwiKX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogXCJyZ2JhKDAsMCwwLC40NSlcIiB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAg5b2T5YmN5o6S5bqPXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7dGhpcy5zdGF0ZS5zb3J0ZXIubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC10aWVtXCIpfSBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogMjAgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAge2l0ZW0ub3JkZXIgPT0gXCJhc2NlbmRcIiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgIDxTb3J0QXNjZW5kaW5nT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPFNvcnREZXNjZW5kaW5nT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj4ge2l0ZW0uY29sdW1uLnRpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8Lz5cclxuICAgICAgICApfVxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgICBjb25zdCBzaXplQ29udGVudCA9IChcclxuICAgICAgPD5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY290ZW50LXRpdGxlXCIpfT7ooajmoLzlr4bluqY8L2Rpdj5cclxuICAgICAgICB7c2l6ZUl0ZW0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGtleT17aXRlbS5rZXl9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHRhYmxlU2l6ZTogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3RhYmxlU2l6ZSA9PSBpdGVtLmtleSA/IChcclxuICAgICAgICAgICAgICAgIDxhPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC10aWVtXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt0YWJsZVNpemUgPT0gaXRlbS5rZXkgJiYgPENoZWNrT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj4ge2l0ZW0udGl0bGV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC10aWVtXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogMjAgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+IHtpdGVtLnRpdGxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pfVxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFNob3dDb2xzID0gY29sdW1ucy5maWx0ZXIoKGNvbHMpID0+IGNvbHMuaW5pdFNob3cgIT09IGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCBjb250ZW50ID0gKFxyXG4gICAgICA8Q2hlY2tib3guR3JvdXBcclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5maWx0ZXJDb2x1bW4uYmluZCh0aGlzKX1cclxuICAgICAgICBvcHRpb25zPXtjb2xMaXN0cy5tYXAoXHJcbiAgICAgICAgICAoY29sOiBDb2x1bW5UeXBlPHt9PiAmIHsgZmlsdGVyQ29sdW1uOiBib29sZWFuOyBkYXRhSW5kZXg6IGFueSB9KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghY29sLmRhdGFJbmRleCkge1xyXG4gICAgICAgICAgICAgIGNvbC5kYXRhSW5kZXggPSBjb2wudGl0bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBsYWJlbDogY29sLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBjb2wuZGF0YUluZGV4LFxyXG4gICAgICAgICAgICAgIGRpc2FibGVkOiBjb2wuZmlsdGVyQ29sdW1uID09PSBmYWxzZSxcclxuICAgICAgICAgICAgfSBhcyBDaGVja2JveE9wdGlvblR5cGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKX1cclxuICAgICAgICAvLyBkZWZhdWx0VmFsdWU9e2RlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4gY29sLmRhdGFJbmRleCl9XHJcbiAgICAgICAgdmFsdWU9e1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZS5kZWZhdWx0Q2hlY2tcclxuICAgICAgICAgICAgPyBkZWZhdWx0U2hvd0NvbHMubWFwKChjb2wpID0+IGNvbC5kYXRhSW5kZXgpXHJcbiAgICAgICAgICAgIDogdGhpcy5zdGF0ZS5jaGVja0NvbHVtblxyXG4gICAgICAgIH1cclxuICAgICAgPjwvQ2hlY2tib3guR3JvdXA+XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRhYmxlLXRvb2wtYmFyXCIpfT5cclxuICAgICAgICB7ZmlsdGVyQ29sdW1uICYmIChcclxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IDE0IH19PlxyXG4gICAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICAgIHRpdGxlPVwi6YCJ5oup5pi+56S655qE5YiXXCJcclxuICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcclxuICAgICAgICAgICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICAgICAgICAgIG92ZXJsYXlTdHlsZT17eyBtaW5XaWR0aDogNDEwLCBtYXhXaWR0aDogNDUwIH19XHJcbiAgICAgICAgICAgICAgLy8gZ2V0UG9wdXBDb250YWluZXI9eygpID0+IHRoaXMudGhJY29uUmVmLmN1cnJlbnR9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8QXBwc3RvcmVPdXRsaW5lZCBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImFwcC1zdG9yZS1pY29uXCIpfSAvPlxyXG4gICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDgsIGZvbnRTaXplOiAxNCB9fT5cclxuICAgICAgICAgIDxQb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbVwiIGNvbnRlbnQ9e3NvcnRDb250ZW50fSB0cmlnZ2VyPVwiY2xpY2tcIj5cclxuICAgICAgICAgICAgPFNvcnRBc2NlbmRpbmdPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDgsIGZvbnRTaXplOiAxNCB9fT5cclxuICAgICAgICAgIDxQb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbVwiIGNvbnRlbnQ9e3NpemVDb250ZW50fSB0cmlnZ2VyPVwiY2xpY2tcIj5cclxuICAgICAgICAgICAgPENvbHVtbkhlaWdodE91dGxpbmVkIC8+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcyxcclxuICAgICAge1xyXG4gICAgICAgIGxvYWRpbmcsXHJcbiAgICAgICAgZGF0YVNvdXJjZSxcclxuICAgICAgICBwYWdpbmF0aW9uID0ge30sXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvcixcclxuICAgICAgICB0YWJsZVNpemUsXHJcbiAgICAgIH0gPSB0aGlzLnN0YXRlLFxyXG4gICAgICBwcm9wcyA9IHV0aWxzLm9taXQoXHJcbiAgICAgICAgdGhpcy5wcm9wcyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBcInN0b3JlXCIsXHJcbiAgICAgICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgICAgICBcImNvbHVtbnNcIixcclxuICAgICAgICAgIFwicmVzZXRDb2x1bW5cIixcclxuICAgICAgICAgIFwidG9vbGJhclwiLFxyXG4gICAgICAgICAgXCJzb3J0RmllbGRzXCIsXHJcbiAgICAgICAgICBcImZpbHRlckNvbHVtblwiLFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93S2V5OiBcImlkXCIsXHJcbiAgICAgICAgICBjbGlja0NoYW5nZUNvbG9yOiBmYWxzZSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICBpZiAocHJvcHMucGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcclxuICAgICAgcHJvcHMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICBwb3NpdGlvbjogW1wiYm90dG9tUmlnaHRcIl0sXHJcbiAgICAgICAgc2hvd1NpemVDaGFuZ2VyOiB0cnVlLFxyXG4gICAgICAgIHNob3dRdWlja0p1bXBlcjogdHJ1ZSxcclxuICAgICAgICAuLi5wcm9wcy5wYWdpbmF0aW9uLFxyXG4gICAgICAgIC4uLnBhZ2luYXRpb24sXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChwcm9wcy5zaG93VG90YWwgPT0gdHJ1ZSkge1xyXG4gICAgICAgIHByb3BzLnBhZ2luYXRpb24uc2hvd1RvdGFsID0gZnVuY3Rpb24gKHRvdGFsLCBbZnJvbSwgdG9dKSB7XHJcbiAgICAgICAgICAvLyByZXR1cm4gXCLmmL7npLogXCIgKyBmcm9tICsgXCIgLSBcIiArIHRvICsgXCLmnaHvvIzlhbEgXCIgKyB0b3RhbCArIFwiIOadoVwiO1xyXG4gICAgICAgICAgcmV0dXJuIFwi5YWxIFwiICsgdG90YWwgKyBcIiDmnaFcIjtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm9wcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICAgIF90aGlzLm9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgfTtcclxuICAgIGlmIChwcm9wcy5jbGlja0NoYW5nZUNvbG9yKSB7XHJcbiAgICAgIGNvbnN0IG9uUm93Rm4gPSBwcm9wcy5vblJvdztcclxuICAgICAgcHJvcHMub25Sb3cgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHZhciBjdXN0b20gPSBvblJvd0ZuID8gb25Sb3dGbihyZWNvcmQsIGluZGV4KSA6IHt9O1xyXG4gICAgICAgIGNvbnN0IG9uQ2xpY2tGbiA9IGN1c3RvbS5vbkNsaWNrO1xyXG4gICAgICAgIGN1c3RvbS5vbkNsaWNrID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiBpbmRleCwgLy/ojrflj5bngrnlh7vooYznmoTntKLlvJVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sob25DbGlja0ZuLCBfdGhpcywgW2V2ZW50XSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY3VzdG9tO1xyXG4gICAgICB9O1xyXG4gICAgICBwcm9wcy5yb3dDbGFzc05hbWUgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gX3RoaXMuc3RhdGUuYWN0aXZlSW5kZXhcclxuICAgICAgICAgID8gYCR7c3R5bGVzLmNsaWNrUm93U3R5bGV9YFxyXG4gICAgICAgICAgOiBcIlwiO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IG5ld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgIGlmIChzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVlVXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvclxyXG4gICAgICApO1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkUm93S2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YVNvdXJjZTtcclxuICAgIH1cclxuICAgIHByb3BzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwge307XHJcbiAgICBwcm9wcy5zdG9yZS5hdXRvTG9hZCA9IHByb3BzLnN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgIGNvbnN0IHsgZHJhZ2FibGUgfSA9IF90aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZHJhZ2FibGVQcm9wcyA9XHJcbiAgICAgIGRyYWdhYmxlID09PSB0cnVlXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IEJvZHlSb3dDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG9uUm93OiAocmVjb3JkLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAgICAgICBpbmRleCxcclxuICAgICAgICAgICAgICByZWNvcmQsXHJcbiAgICAgICAgICAgICAgbW92ZVJvdzogdGhpcy5tb3ZlUm93LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH1cclxuICAgICAgICA6IHt9O1xyXG4gICAgbGV0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IHJlc2l6ZVByb3BzID1cclxuICAgICAgcmVzaXplQ29sdW1uID09PSB0cnVlID8geyBjb21wb25lbnRzOiB0aGlzLmNvbXBvbmVudHMgfSA6IG51bGw7XHJcblxyXG4gICAgY29uc3QgRGVmYXVsdFRhYmxlID0gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLnRvb2xiYXIgJiYgdGhpcy5yZW5kZXJUb29sQmFyKCl9XHJcbiAgICAgICAgPFRhYmxlXHJcbiAgICAgICAgICBjaGlsZHJlbkNvbHVtbk5hbWU9XCJjaGlsZE5vZGVzXCJcclxuICAgICAgICAgIGRhdGFTb3VyY2U9e25ld0RhdGFTb3VyY2V9XHJcbiAgICAgICAgICBjb2x1bW5zPXt0aGlzLmdldENvbHVtbnMoKX1cclxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XHJcbiAgICAgICAgICAvLyBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10YWJsZVwiXX1cclxuICAgICAgICAgIGxvY2FsZT17eyBlbXB0eVRleHQ6IDxOb0RhdGEgLz4gfX1cclxuICAgICAgICAgIHNjcm9sbD17eyB4OiB0cnVlIH19XHJcbiAgICAgICAgICBzaXplPXt0YWJsZVNpemV9XHJcbiAgICAgICAgICB7Li4ucmVzaXplUHJvcHN9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4uZHJhZ2FibGVQcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGRyYWdhYmxlID09PSB0cnVlID8gKFxyXG4gICAgICA8RG5kUHJvdmlkZXIgYmFja2VuZD17SFRNTDVCYWNrZW5kfT57RGVmYXVsdFRhYmxlfTwvRG5kUHJvdmlkZXI+XHJcbiAgICApIDogKFxyXG4gICAgICBEZWZhdWx0VGFibGVcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB3aXRoWmhMb2NhbGUoTlNDVGFibGUpO1xyXG4iXX0=
|
|
@@ -142,11 +142,14 @@ var NSCTagSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
142
142
|
}, {
|
|
143
143
|
key: "renderOption",
|
|
144
144
|
value: function renderOption(optionData) {
|
|
145
|
-
var _this$props
|
|
146
|
-
|
|
145
|
+
var _this$props = this.props,
|
|
146
|
+
_this$props$store = _this$props.store,
|
|
147
|
+
store = _this$props$store === void 0 ? {} : _this$props$store,
|
|
148
|
+
labelField = _this$props.labelField,
|
|
149
|
+
valueField = _this$props.valueField;
|
|
147
150
|
var viewname = store.viewname;
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
valueField = valueField ? valueField : viewname ? "dictKey" : "value";
|
|
152
|
+
labelField = labelField ? labelField : viewname ? "dictValue" : "label";
|
|
150
153
|
var label = labelField;
|
|
151
154
|
var value = valueField;
|
|
152
155
|
return optionData.map(function (item) {
|
|
@@ -185,4 +188,4 @@ var NSCTagSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
185
188
|
}(PureComponent);
|
|
186
189
|
|
|
187
190
|
export { NSCTagSelect as default };
|
|
188
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdGFnU2VsZWN0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUYWdTZWxlY3QiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwiTlNDVGFnU2VsZWN0IiwicHJvcHMiLCJkYXRhU291cmNlIiwiX3RoaXMiLCJzdG9yZSIsImNoaWxkcmVuIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJ2aWV3dHlwZSIsInN0b3JlcyIsImRhdGEiLCJ2aWV3VXJsIiwidmlld0JpelVybCIsInJlcXVlc3RWaWV3VXJsIiwiRXJyb3IiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic2V0RGF0YSIsIm9wdGlvbkRhdGEiLCJ2YWx1ZUZpZWxkIiwibGFiZWxGaWVsZCIsImxhYmVsIiwidmFsdWUiLCJtYXAiLCJpdGVtIiwiaWQiLCJzdGF0ZSIsInJlbmRlck9wdGlvbiIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLFNBQVAsTUFBcUMsYUFBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtDLGFBQWxDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5COztJQVNxQkMsWTs7Ozs7QUFpQm5CLHdCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FB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LENBQUNILEtBQUQ7QUFIYixXQUtHRyxJQUFJLENBQUNILEtBQUQsQ0FMUCxDQURGO0FBU0QsT0FWTSxDQUFQO0FBV0Q7OztXQUNELGtCQUFTO0FBQ1AsVUFBUWxDLFVBQVIsR0FBdUIsS0FBS3VDLEtBQTVCLENBQVF2QyxVQUFSO0FBQ0EsMEJBQ0Usb0JBQUMsU0FBRCxFQUFlLEtBQUtELEtBQXBCLEVBQTRCLEtBQUt5QyxZQUFMLENBQWtCeEMsVUFBbEIsQ0FBNUIsQ0FERjtBQUdEOzs7V0F4R0Qsa0NBQWdDeUMsU0FBaEMsRUFBMkNDLFNBQTNDLEVBQTJEO0FBQ3pELFVBQVExQyxVQUFSLEdBQXVCMEMsU0FBdkIsQ0FBUTFDLFVBQVI7QUFDQSxVQUFRWSxJQUFSLEdBQWlCNkIsU0FBakIsQ0FBUTdCLElBQVI7O0FBQ0EsVUFBSUEsSUFBSixFQUFVO0FBQ1IsWUFBSStCLElBQUksQ0FBQ0MsU0FBTCxDQUFlNUMsVUFBZixNQUErQjJDLElBQUksQ0FBQ0MsU0FBTCxDQUFlaEMsSUFBZixDQUFuQyxFQUF5RDtBQUN2RCxpQkFBTztBQUNMWixZQUFBQSxVQUFVLEVBQUVZO0FBRFAsV0FBUDtBQUdEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUFoQnVDbkIsYTs7U0FBckJLLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFnU2VsZWN0LCB7IElUYWdQcm9wcyB9IGZyb20gXCIuL1RhZ1NlbGVjdFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFRhZ1Byb3BzIGV4dGVuZHMgSVRhZ1Byb3BzIHtcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NUYWdTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RUYWdQcm9wcz4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHByZXZTdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gbmV4dFByb3BzO1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBkYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBzdG9yZSA9IHt9LCBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgdmlld3R5cGUgPSBcInN5c3RlbVwiLFxyXG4gICAgICAuLi5zdG9yZXNcclxuICAgIH0gPSBzdG9yZTtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzdGVtXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIC4uLnN0b3JlcyxcclxuICAgIH07XHJcbiAgICBpZiAodmlld25hbWUgfHwgKHVybCAmJiAhZGF0YSkpIHtcclxuICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIC4uLntcclxuICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgdXJsOiB1cmwgfHwgcmVxdWVzdFZpZXdVcmwgKyB2aWV3bmFtZSxcclxuICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBfdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0RGF0YSh0aGlzLnByb3BzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLnByb3BzLmRhdGEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIGxldCB2YWx1ZUZpZWxkID0gdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxldCBsYWJlbEZpZWxkID0gdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgbGV0IGxhYmVsID0gbGFiZWxGaWVsZDtcclxuICAgIGxldCB2YWx1ZSA9IHZhbHVlRmllbGQ7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbkRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFRhZ1NlbGVjdC5PcHRpb25cclxuICAgICAgICAgIGtleT17aXRlbS5pZCB8fCBpdGVtW3ZhbHVlXX1cclxuICAgICAgICAgIHZhbHVlPXtpdGVtW3ZhbHVlXX1cclxuICAgICAgICAgIHRpdGxlPXtpdGVtW2xhYmVsXX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbVtsYWJlbF19XHJcbiAgICAgICAgPC9UYWdTZWxlY3QuT3B0aW9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxUYWdTZWxlY3Qgey4uLnRoaXMucHJvcHN9Pnt0aGlzLnJlbmRlck9wdGlvbihkYXRhU291cmNlKX08L1RhZ1NlbGVjdD5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
191
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdGFnU2VsZWN0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUYWdTZWxlY3QiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwiTlNDVGFnU2VsZWN0IiwicHJvcHMiLCJkYXRhU291cmNlIiwiX3RoaXMiLCJzdG9yZSIsImNoaWxkcmVuIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJ2aWV3dHlwZSIsInN0b3JlcyIsImRhdGEiLCJ2aWV3VXJsIiwidmlld0JpelVybCIsInJlcXVlc3RWaWV3VXJsIiwiRXJyb3IiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic2V0RGF0YSIsIm9wdGlvbkRhdGEiLCJsYWJlbEZpZWxkIiwidmFsdWVGaWVsZCIsImxhYmVsIiwidmFsdWUiLCJtYXAiLCJpdGVtIiwiaWQiLCJzdGF0ZSIsInJlbmRlck9wdGlvbiIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLFNBQVAsTUFBcUMsYUFBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtDLGFBQWxDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5COztJQVNxQkMsWTs7Ozs7QUFpQm5CLHdCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FB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LEVBQUVBLElBQUksQ0FBQ0MsRUFBTCxJQUFXRCxJQUFJLENBQUNGLEtBQUQsQ0FEdEI7QUFFRSxVQUFBLEtBQUssRUFBRUUsSUFBSSxDQUFDRixLQUFELENBRmI7QUFHRSxVQUFBLEtBQUssRUFBRUUsSUFBSSxDQUFDSCxLQUFEO0FBSGIsV0FLR0csSUFBSSxDQUFDSCxLQUFELENBTFAsQ0FERjtBQVNELE9BVk0sQ0FBUDtBQVdEOzs7V0FDRCxrQkFBUztBQUNQLFVBQVFsQyxVQUFSLEdBQXVCLEtBQUt1QyxLQUE1QixDQUFRdkMsVUFBUjtBQUNBLDBCQUNFLG9CQUFDLFNBQUQsRUFBZSxLQUFLRCxLQUFwQixFQUE0QixLQUFLeUMsWUFBTCxDQUFrQnhDLFVBQWxCLENBQTVCLENBREY7QUFHRDs7O1dBeEdELGtDQUFnQ3lDLFNBQWhDLEVBQTJDQyxTQUEzQyxFQUEyRDtBQUN6RCxVQUFRMUMsVUFBUixHQUF1QjBDLFNBQXZCLENBQVExQyxVQUFSO0FBQ0EsVUFBUVksSUFBUixHQUFpQjZCLFNBQWpCLENBQVE3QixJQUFSOztBQUNBLFVBQUlBLElBQUosRUFBVTtBQUNSLFlBQUkrQixJQUFJLENBQUNDLFNBQUwsQ0FBZTVDLFVBQWYsTUFBK0IyQyxJQUFJLENBQUNDLFNBQUwsQ0FBZWhDLElBQWYsQ0FBbkMsRUFBeUQ7QUFDdkQsaUJBQU87QUFDTFosWUFBQUEsVUFBVSxFQUFFWTtBQURQLFdBQVA7QUFHRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBaEJ1Q25CLGE7O1NBQXJCSyxZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFRhZ1NlbGVjdCwgeyBJVGFnUHJvcHMgfSBmcm9tIFwiLi9UYWdTZWxlY3RcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RUYWdQcm9wcyBleHRlbmRzIElUYWdQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDVGFnU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0VGFnUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGU6IGFueSkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IG5leHRQcm9wcztcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkoZGF0YSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogZGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgc3RvcmUgPSB7fSwgY2hpbGRyZW4gfSA9IHByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXN0ZW1cIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IHByb3BzO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgfVxyXG4gICAgdmFyIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICAuLi5zdG9yZXMsXHJcbiAgICB9O1xyXG4gICAgaWYgKHZpZXduYW1lIHx8ICh1cmwgJiYgIWRhdGEpKSB7XHJcbiAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAuLi57XHJcbiAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsXHJcbiAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgX3RoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZGF0YSkge1xyXG4gICAgICB0aGlzLnN0b3JlLnNldERhdGEodGhpcy5wcm9wcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5wcm9wcy5kYXRhLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlck9wdGlvbihvcHRpb25EYXRhKSB7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCBsYWJlbEZpZWxkLCB2YWx1ZUZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGFiZWxGaWVsZCA9IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgbGV0IGxhYmVsID0gbGFiZWxGaWVsZDtcclxuICAgIGxldCB2YWx1ZSA9IHZhbHVlRmllbGQ7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbkRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFRhZ1NlbGVjdC5PcHRpb25cclxuICAgICAgICAgIGtleT17aXRlbS5pZCB8fCBpdGVtW3ZhbHVlXX1cclxuICAgICAgICAgIHZhbHVlPXtpdGVtW3ZhbHVlXX1cclxuICAgICAgICAgIHRpdGxlPXtpdGVtW2xhYmVsXX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbVtsYWJlbF19XHJcbiAgICAgICAgPC9UYWdTZWxlY3QuT3B0aW9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxUYWdTZWxlY3Qgey4uLnRoaXMucHJvcHN9Pnt0aGlzLnJlbmRlck9wdGlvbihkYXRhU291cmNlKX08L1RhZ1NlbGVjdD5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -74,7 +74,7 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
74
74
|
|
|
75
75
|
if (value && flag) {
|
|
76
76
|
label = "编辑";
|
|
77
|
-
} else if (!flag) {
|
|
77
|
+
} else if (value && !flag) {
|
|
78
78
|
label = "查看";
|
|
79
79
|
}
|
|
80
80
|
|
|
@@ -84,6 +84,10 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
84
84
|
editorFlag: !flag,
|
|
85
85
|
value: value === null || value === void 0 ? void 0 : value.attribute
|
|
86
86
|
});
|
|
87
|
+
} else {
|
|
88
|
+
this.setState({
|
|
89
|
+
label: label
|
|
90
|
+
});
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
(_this$formRef$current = this.formRef.current) === null || _this$formRef$current === void 0 ? void 0 : _this$formRef$current.showForm(value === null || value === void 0 ? void 0 : value.attribute);
|
|
@@ -183,6 +187,7 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
183
187
|
loading = _this$state2.loading,
|
|
184
188
|
label = _this$state2.label,
|
|
185
189
|
editorFlag = _this$state2.editorFlag;
|
|
190
|
+
console.log("label", label);
|
|
186
191
|
var modalProps = {
|
|
187
192
|
title: label,
|
|
188
193
|
okText: "确定",
|
|
@@ -241,4 +246,4 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
241
246
|
}(PureComponent);
|
|
242
247
|
|
|
243
248
|
export default EditorForm;
|
|
244
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImZsYWciLCJzZXRTdGF0ZSIsImF0dHJpYnV0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJwcm9wcyIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsIm9uU3VibWl0IiwiY2FsbEJhY2siLCJzdGF0ZSIsImZvcm1WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwidmFsaWQiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIm5vVW5kZWZpbmVkIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJoaWRlRm9ybSIsImNhdGNoIiwiZXJyb3JJbmZvIiwidmFsdWVPcHRpb24iLCJ0eXBlIiwiZGljdE5hbWUiLCJuZXdOYW1lcyIsImZvcm1Qcm9wcyIsIm1vZGFsUHJvcHMiLCJ0aXRsZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvbk9rIiwiYmluZCIsIm9rQnV0dG9uUHJvcHMiLCJjZW50ZXJlZCIsIndpZHRoIiwibmV3VmFsaWQiLCJmbGV4IiwibWFwIiwiaXRlbSIsImluZGV4IiwicnVsZXMiLCJsZW5ndGgiLCJwdXNoIiwibmFtZSIsInNwYW4iLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJ2YWx1ZUNoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxTQUFTQyxPQUFULFFB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QUFDTyxJQUFULENBQWNKLElBQUksQ0FBQ0ssSUFBbkI7QUFDRDs7QUFDRCxZQUFJSixLQUFLLEdBQUcsQ0FBUixLQUFjZCxTQUFTLENBQUNnQixNQUE1QixFQUFvQztBQUNsQyxVQUFBLE1BQUksQ0FBQ2pDLEtBQUwsR0FBYTJCLFFBQWI7QUFDRDs7QUFDRCw0QkFDRSxvQkFBQyxHQUFEO0FBQUssVUFBQSxJQUFJLEVBQUVHLElBQUksQ0FBQ00sSUFBTCxJQUFhLEVBQXhCO0FBQTRCLFVBQUEsR0FBRyxFQUFFTDtBQUFqQyx3QkFDRSxvQkFBQyxJQUFELENBQU0sSUFBTjtBQUNFLFVBQUEsS0FBSyxFQUFFRCxJQUFJLENBQUNoRCxLQURkO0FBRUUsVUFBQSxJQUFJLEVBQUVnRCxJQUFJLENBQUNLLElBRmI7QUFHRSxVQUFBLEtBQUssRUFBRUwsSUFBSSxDQUFDRTtBQUhkLFdBS0d6RCxPQUFPLENBQUN1RCxJQUFJLENBQUNoQixJQUFOLGtDQUNIZ0IsSUFBSSxDQUFDdEMsS0FERjtBQUVONkMsVUFBQUEsV0FBVyw4QkFBUVAsSUFBSSxDQUFDaEQsS0FBYixDQUZMO0FBR053RCxVQUFBQSxRQUFRLEVBQUV4RCxLQUFLLElBQUksSUFIYjtBQUlOeUQsVUFBQUEsUUFBUSxFQUFFLE1BQUksQ0FBQ0MsV0FBTCxDQUFpQmpCLElBQWpCLENBQXNCLE1BQXRCLEVBQTRCO0FBQ3BDVCxZQUFBQSxJQUFJLEVBQUVnQixJQUFJLENBQUNoQixJQUR5QjtBQUVwQ0MsWUFBQUEsUUFBUSxFQUFFZSxJQUFJLENBQUNmO0FBRnFCLFdBQTVCO0FBSkosV0FMVixDQURGLENBREY7QUFtQkQsT0EzQkEsQ0FESCxDQVBGLENBREY7QUF3Q0Q7Ozs7RUF6SXNCMUMsYTs7QUE0SXpCLGVBQWVNLFVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuY2xhc3MgRWRpdG9yRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8YW55PiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgZWRpdG9yRmxhZzogdHJ1ZSxcclxuICAgIHZhbHVlOiB7fSBhcyBhbnksXHJcbiAgICBkaWN0TmFtZXM6IHt9IGFzIGFueSxcclxuICB9O1xyXG4gIHZhbGlkOiBhbnkgPSBbXTtcclxuICBzaG93KHZhbHVlPzogYW55LCBmbGFnID0gdHJ1ZSkge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmICh2YWx1ZSAmJiBmbGFnKSB7XHJcbiAgICAgIGxhYmVsID0gXCLnvJbovpFcIjtcclxuICAgIH0gZWxzZSBpZiAoIWZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICBlZGl0b3JGbGFnOiAhZmxhZyxcclxuICAgICAgICB2YWx1ZTogdmFsdWU/LmF0dHJpYnV0ZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWU/LmF0dHJpYnV0ZSk7XHJcbiAgfVxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgb25TdWJtaXQsXHJcbiAgICAgIGNhbGxCYWNrLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmIChsYWJlbCA9PSBcIue8lui+kVwiKSB7XHJcbiAgICAgICAgICBkYXRhID0geyAuLi5kYXRhLCBpZDogdmFsdWU/LmlkIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvblN1Ym1pdCkge1xyXG4gICAgICAgICAgb25TdWJtaXQgJiYgb25TdWJtaXQoZGF0YSwgbGFiZWwpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXN1Ym1pdFVybCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ub25TdWJtaXQoXHJcbiAgICAgICAgICBzdWJtaXRVcmwsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICBub1VuZGVmaW5lZDogbGFiZWwgPT0gXCLnvJbovpFcIixcclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGxhYmVsICsgXCLmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgICAgICAgICAgICAgY2FsbEJhY2sgJiYgY2FsbEJhY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3JJbmZvOiBhbnkpID0+IHt9KTtcclxuICB9XHJcbiAgdmFsdWVDaGFuZ2UoeyB0eXBlLCBkaWN0TmFtZSB9LCB2YWx1ZSwgdmFsdWVPcHRpb24pIHtcclxuICAgIGlmICh2YWx1ZU9wdGlvbikge1xyXG4gICAgICBpZiAoZGljdE5hbWUpIHtcclxuICAgICAgICBjb25zdCB7IGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICBjb25zdCBuZXdOYW1lcyA9IHsgLi4uZGljdE5hbWVzIH0gYXMgYW55O1xyXG4gICAgICAgIG5ld05hbWVzW2RpY3ROYW1lXSA9IHZhbHVlT3B0aW9uLmxhYmVsO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGljdE5hbWVzOiBuZXdOYW1lcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmb3JtUHJvcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwsIGVkaXRvckZsYWcgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBtb2RhbFByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogdGhpcy5vblN1Ym1pdC5iaW5kKHRoaXMpLFxyXG4gICAgICBva0J1dHRvblByb3BzOiB7IGxvYWRpbmc6IGxvYWRpbmcgfSxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH07XHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxGb3JtXHJcbiAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgc2hvd01vZGVsPXtcIm1vZGFsXCJ9XHJcbiAgICAgICAgbW9kYWxQcm9wcz17eyAuLi5tb2RhbFByb3BzIH19XHJcbiAgICAgICAgbGFiZWxDb2w9e3sgZmxleDogXCIxMDBweFwiIH19XHJcbiAgICAgICAgd3JhcHBlckNvbD17eyBmbGV4OiBcIjE1dndcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPFJvdyBndXR0ZXI9ezI0fT5cclxuICAgICAgICAgIHtmb3JtUHJvcHMubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB7IC4uLml0ZW0ucHJvcHMgfTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0ucnVsZXMgJiYgaXRlbS5ydWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpbmRleCArIDEgPT09IGZvcm1Qcm9wcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGxhYmVsID09IFwi5p+l55yLXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZCh0aGlzLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvUm93PlxyXG4gICAgICA8L0Zvcm0+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRWRpdG9yRm9ybTtcclxuIl19
|
|
249
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImZsYWciLCJzZXRTdGF0ZSIsImF0dHJpYnV0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJwcm9wcyIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsIm9uU3VibWl0IiwiY2FsbEJhY2siLCJzdGF0ZSIsImZvcm1WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwidmFsaWQiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIm5vVW5kZWZpbmVkIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJoaWRlRm9ybSIsImNhdGNoIiwiZXJyb3JJbmZvIiwidmFsdWVPcHRpb24iLCJ0eXBlIiwiZGljdE5hbWUiLCJuZXdOYW1lcyIsImZvcm1Qcm9wcyIsImNvbnNvbGUiLCJsb2ciLCJtb2RhbFByb3BzIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImJpbmQiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZmxleCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FB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SXNCMUMsYTs7QUFpSnpCLGVBQWVNLFVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuY2xhc3MgRWRpdG9yRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8YW55PiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgZWRpdG9yRmxhZzogdHJ1ZSxcclxuICAgIHZhbHVlOiB7fSBhcyBhbnksXHJcbiAgICBkaWN0TmFtZXM6IHt9IGFzIGFueSxcclxuICB9O1xyXG4gIHZhbGlkOiBhbnkgPSBbXTtcclxuICBzaG93KHZhbHVlPzogYW55LCBmbGFnID0gdHJ1ZSkge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmICh2YWx1ZSAmJiBmbGFnKSB7XHJcbiAgICAgIGxhYmVsID0gXCLnvJbovpFcIjtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgIWZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICBlZGl0b3JGbGFnOiAhZmxhZyxcclxuICAgICAgICB2YWx1ZTogdmFsdWU/LmF0dHJpYnV0ZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNob3dGb3JtKHZhbHVlPy5hdHRyaWJ1dGUpO1xyXG4gIH1cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIG9uU3VibWl0LFxyXG4gICAgICBjYWxsQmFjayxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsYWJlbCwgdmFsdWUsIGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHZhbGlkID0gdGhpcy52YWxpZDtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50XHJcbiAgICAgID8udmFsaWRhdGVGaWVsZHModmFsaWQpXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICBsZXQgZGF0YSA9IHsgLi4uZm9ybVZhbHVlLCAuLi5kaWN0TmFtZXMgfTtcclxuICAgICAgICBpZiAobGFiZWwgPT0gXCLnvJbovpFcIikge1xyXG4gICAgICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgaWQ6IHZhbHVlPy5pZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob25TdWJtaXQpIHtcclxuICAgICAgICAgIG9uU3VibWl0ICYmIG9uU3VibWl0KGRhdGEsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFzdWJtaXRVcmwpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/Lm9uU3VibWl0KFxyXG4gICAgICAgICAgc3VibWl0VXJsLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkYXRhOiB7IC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhsYWJlbCArIFwi5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gICAgICAgICAgICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgdmFsdWUsIHZhbHVlT3B0aW9uKSB7XHJcbiAgICBpZiAodmFsdWVPcHRpb24pIHtcclxuICAgICAgaWYgKGRpY3ROYW1lKSB7XHJcbiAgICAgICAgY29uc3QgeyBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgY29uc3QgbmV3TmFtZXMgPSB7IC4uLmRpY3ROYW1lcyB9IGFzIGFueTtcclxuICAgICAgICBuZXdOYW1lc1tkaWN0TmFtZV0gPSB2YWx1ZU9wdGlvbi5sYWJlbDtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRpY3ROYW1lczogbmV3TmFtZXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxvYWRpbmcsIGxhYmVsLCBlZGl0b3JGbGFnIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc29sZS5sb2coXCJsYWJlbFwiLCBsYWJlbCk7XHJcbiAgICBjb25zdCBtb2RhbFByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogdGhpcy5vblN1Ym1pdC5iaW5kKHRoaXMpLFxyXG4gICAgICBva0J1dHRvblByb3BzOiB7IGxvYWRpbmc6IGxvYWRpbmcgfSxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH07XHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxGb3JtXHJcbiAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgc2hvd01vZGVsPXtcIm1vZGFsXCJ9XHJcbiAgICAgICAgbW9kYWxQcm9wcz17eyAuLi5tb2RhbFByb3BzIH19XHJcbiAgICAgICAgbGFiZWxDb2w9e3sgZmxleDogXCIxMDBweFwiIH19XHJcbiAgICAgICAgd3JhcHBlckNvbD17eyBmbGV4OiBcIjE1dndcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPFJvdyBndXR0ZXI9ezI0fT5cclxuICAgICAgICAgIHtmb3JtUHJvcHMubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB7IC4uLml0ZW0ucHJvcHMgfTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0ucnVsZXMgJiYgaXRlbS5ydWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpbmRleCArIDEgPT09IGZvcm1Qcm9wcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGxhYmVsID09IFwi5p+l55yLXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZCh0aGlzLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvUm93PlxyXG4gICAgICA8L0Zvcm0+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRWRpdG9yRm9ybTtcclxuIl19
|
|
@@ -48,6 +48,7 @@ declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
|
|
|
48
48
|
onSearch(): void;
|
|
49
49
|
tableReload(): void;
|
|
50
50
|
getSelectedRowKeys(): any;
|
|
51
|
+
getSelectedRowDatas(): any;
|
|
51
52
|
getSearchValues(): any;
|
|
52
53
|
rowSelectionOnSelect(record: any, selected: any): void;
|
|
53
54
|
rowSelectionOnSelectAll(selected: any, selectedRows: any, changeRows: any): void;
|