nsc-react-component 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/chart/index.d.ts +0 -1
- package/lib/chart/index.js +18 -16
- package/package.json +1 -1
package/lib/chart/index.d.ts
CHANGED
package/lib/chart/index.js
CHANGED
|
@@ -88,8 +88,8 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
88
88
|
store = _props$store === void 0 ? {} : _props$store,
|
|
89
89
|
children = props.children,
|
|
90
90
|
options = props.option,
|
|
91
|
-
_props$
|
|
92
|
-
|
|
91
|
+
_props$autoLoad = props.autoLoad,
|
|
92
|
+
autoLoad = _props$autoLoad === void 0 ? true : _props$autoLoad;
|
|
93
93
|
|
|
94
94
|
var url = store.url,
|
|
95
95
|
_store$listeners = store.listeners,
|
|
@@ -114,7 +114,7 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
114
114
|
_this.setState({
|
|
115
115
|
dataSource: modelData
|
|
116
116
|
}, function () {
|
|
117
|
-
if (_this.isFirst) {
|
|
117
|
+
if (_this.isFirst && autoLoad) {
|
|
118
118
|
_this.init();
|
|
119
119
|
|
|
120
120
|
_this.isFirst = false;
|
|
@@ -127,7 +127,7 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
127
127
|
_this.setState({
|
|
128
128
|
dataSource: modelData
|
|
129
129
|
}, function () {
|
|
130
|
-
if (
|
|
130
|
+
if (autoLoad) {
|
|
131
131
|
_this.init();
|
|
132
132
|
}
|
|
133
133
|
});
|
|
@@ -153,18 +153,20 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
153
153
|
_createClass(NscChart, [{
|
|
154
154
|
key: "componentDidMount",
|
|
155
155
|
value: function componentDidMount() {
|
|
156
|
-
var
|
|
156
|
+
var _this$props = this.props,
|
|
157
|
+
data = _this$props.data,
|
|
158
|
+
autoLoad = _this$props.autoLoad;
|
|
157
159
|
|
|
158
|
-
if (data) {
|
|
160
|
+
if (data && autoLoad) {
|
|
159
161
|
this.init();
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
}, {
|
|
163
165
|
key: "componentDidUpdate",
|
|
164
166
|
value: function componentDidUpdate(prevProps, prevState, snapshot) {
|
|
165
|
-
var
|
|
167
|
+
var autoLoad = this.props.autoLoad;
|
|
166
168
|
|
|
167
|
-
if (
|
|
169
|
+
if (autoLoad) {
|
|
168
170
|
if (JSON.stringify(prevProps.data) !== JSON.stringify(this.props.data)) {
|
|
169
171
|
this.init();
|
|
170
172
|
}
|
|
@@ -268,10 +270,10 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
268
270
|
}, {
|
|
269
271
|
key: "init",
|
|
270
272
|
value: function init() {
|
|
271
|
-
var _this$
|
|
272
|
-
option = _this$
|
|
273
|
-
data = _this$
|
|
274
|
-
OnClick = _this$
|
|
273
|
+
var _this$props2 = this.props,
|
|
274
|
+
option = _this$props2.option,
|
|
275
|
+
data = _this$props2.data,
|
|
276
|
+
OnClick = _this$props2.OnClick;
|
|
275
277
|
var dataSource = this.state.dataSource;
|
|
276
278
|
var dataMap = {};
|
|
277
279
|
var newDatas = data || dataSource;
|
|
@@ -316,9 +318,9 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
316
318
|
}, {
|
|
317
319
|
key: "render",
|
|
318
320
|
value: function render() {
|
|
319
|
-
var _this$
|
|
320
|
-
width = _this$
|
|
321
|
-
height = _this$
|
|
321
|
+
var _this$props3 = this.props,
|
|
322
|
+
width = _this$props3.width,
|
|
323
|
+
height = _this$props3.height;
|
|
322
324
|
var boxStyle = {
|
|
323
325
|
width: typeof width == "number" ? px2vw(width) : width,
|
|
324
326
|
height: typeof height == "number" ? px2vw(height) : height
|
|
@@ -334,4 +336,4 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
|
|
|
334
336
|
}(PureComponent);
|
|
335
337
|
|
|
336
338
|
export default NscChart;
|
|
337
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJkYXRhIiwic3RvcmUiLCJjaGlsZHJlbiIsIm9wdGlvbnMiLCJvcHRpb24iLCJhdXRvRnJlc2giLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwic3RvcmVzIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiaXNGaXJzdCIsImluaXQiLCJkYXRhQ2hhbmdlZCIsImF1dG9Mb2FkIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwidiIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFydFJlc2l6ZSIsImJpbmQiLCJ0ZXN0Iiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiZGF0YXMiLCJkYXRhTWFwIiwicmVzdWx0IiwiaXNTdHJpbmciLCJpc1JlcGxhY2UiLCJyZXBsYWNlIiwibWFwIiwiaXRlbSIsInZhbHVlIiwiZGF0YUNvbnZlcnNpb24iLCJ0ZW1wT2JqIiwia2V5IiwicHVzaCIsIm9iaiIsIk9uQ2xpY2siLCJzdGF0ZSIsIm5ld0RhdGFzIiwibmV3T3B0aW9uIiwieEF4aXMiLCJvYmplY3RDb252ZXJzaW9uIiwieUF4aXMiLCJzZXJpZXMiLCJteUNoYXJ0IiwiY2hhcnRSZWYiLCJjdXJyZW50IiwiY2xlYXIiLCJzZXRPcHRpb24iLCJvbiIsInBhcmFtcyIsIm9mZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZXNpemUiLCJ3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QyxNQUFBQSxNQUFNLENBQUNxQyxnQkFBUCxDQUF3QixRQUF4QixFQUFrQyxLQUFLbkMsaUJBQUwsQ0FBdUJDLElBQXZCLENBQTRCLElBQTVCLENBQWxDO0FBQ0Q7OztXQUVELDZCQUFvQjtBQUNsQixVQUFJLEtBQUswQixPQUFULEVBQWtCO0FBQ2hCLGFBQUtBLE9BQUwsQ0FBYVMsTUFBYjtBQUNEO0FBQ0Y7OztXQUVELGtCQUFTO0FBQ1AseUJBQTBCLEtBQUt2RSxLQUEvQjtBQUFBLFVBQVF3RSxLQUFSLGdCQUFRQSxLQUFSO0FBQUEsVUFBZUMsTUFBZixnQkFBZUEsTUFBZjtBQUNBLFVBQU1DLFFBQVEsR0FBRztBQUNmRixRQUFBQSxLQUFLLEVBQUUsT0FBT0EsS0FBUCxJQUFnQixRQUFoQixHQUEyQjVFLEtBQUssQ0FBQzRFLEtBQUQsQ0FBaEMsR0FBMENBLEtBRGxDO0FBRWZDLFFBQUFBLE1BQU0sRUFBRSxPQUFPQSxNQUFQLElBQWlCLFFBQWpCLEdBQTRCN0UsS0FBSyxDQUFDNkUsTUFBRCxDQUFqQyxHQUE0Q0E7QUFGckMsT0FBakI7QUFJQSwwQkFBTztBQUFLLFFBQUEsS0FBSyxFQUFFQyxRQUFaO0FBQXNCLFFBQUEsR0FBRyxFQUFFLEtBQUtYO0FBQWhDLFFBQVA7QUFDRDs7OztFQS9Nb0J2RSxhOztBQWtOdkIsZUFBZU8sUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCAqIGFzIGVjaGFydHMgZnJvbSBcImVjaGFydHNcIjtcclxuaW1wb3J0IHsgRUNoYXJ0cyB9IGZyb20gXCJlY2hhcnRzL2xpYi9lY2hhcnRzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBweDJ2dyB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc09iamVjdCB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbnRlcmZhY2UgQ2hhcnRQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIG9wdGlvbjogYW55O1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+IHwgT2JqZWN0O1xyXG4gIHdpZHRoOiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo5a695bqmXHJcbiAgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo6ZW/5bqmXHJcbiAgYXV0b0ZyZXNoOiBib29sZWFuOyAvL+aVsOaNruaUueWPmO+8jOiHquWKqOWIt+aWsOWbvuihqCzpu5jorqR0cnVlXHJcbiAgYXV0b0xvYWQ6IGJvb2xlYW47XHJcbiAgT25DbGljaz86IChwYXJhbXM6IGFueSkgPT4gdm9pZDsgLy/lm77ooajngrnlh7vkuovku7ZcclxufVxyXG5cclxuLy9kYXRh56S65L6LXHJcbi8qKlxyXG4g5pWw57uE77yaXHJcbiBkYXRhPVt7bmFtZTonMeaciCcsdmFsdWU6MjB9LHtuYW1lOicy5pyIJyx2YWx1ZToxMH0se25hbWU6JzPmnIgnLHZhbHVlOjI1fV1cclxuIOWvueixoVxyXG4gZGF0YT17bmFtZTpbJzHmnIgnLCcy5pyIJywnM+aciCddLHZhbHVlOlsyMCwzMCw0MF19XHJcbiAqL1xyXG5jbGFzcyBOc2NDaGFydCBleHRlbmRzIFB1cmVDb21wb25lbnQ8Q2hhcnRQcm9wcz4ge1xyXG4gIGNoYXJ0UmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG4gIG15Q2hhcnQ6IEVDaGFydHMgfCBudWxsID0gbnVsbDtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBudWxsLFxyXG4gIH07XHJcbiAgaXNGaXJzdCA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbjogb3B0aW9ucyxcclxuICAgICAgYXV0b0ZyZXNoID0gdHJ1ZSxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgLi4uc3RvcmVzIH0gPSBzdG9yZTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIFkYXRh44CBb3B0aW9u5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKF90aGlzLmlzRmlyc3QpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmluaXQoKTtcclxuICAgICAgICAgICAgICAgIF90aGlzLmlzRmlyc3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGF1dG9GcmVzaCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKHVybCAmJiBkYXRhID09IG51bGwpIHtcclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKFxyXG4gICAgcHJldlByb3BzOiBSZWFkb25seTxDaGFydFByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8e30+LFxyXG4gICAgc25hcHNob3Q/OiBhbnlcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYXV0b0ZyZXNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGF1dG9GcmVzaCkge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkocHJldlByb3BzLmRhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmRhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlU2V0Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgaXNTdHJpbmcodikge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiO1xyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlQ2hhcnRSZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBpc1JlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIC9eey4qfSQvZ2kudGVzdCh2KTtcclxuICB9XHJcbiAgcmVwbGFjZSh2KSB7XHJcbiAgICByZXR1cm4gdi5zdWJzdHJpbmcoMSwgdi5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIGRhdGFDb252ZXJzaW9uKGRhdGEsIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuaXNTdHJpbmcoZGF0YSkgJiYgdGhpcy5pc1JlcGxhY2UoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBkYXRhTWFwW3RoaXMucmVwbGFjZShkYXRhKV07XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdiA9IGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICBpZiAodiAmJiB0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gdGhpcy5kYXRhQ29udmVyc2lvbih2LCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YTtcclxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdChkYXRhKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IFtdO1xyXG4gICAgICAgIGlmIChpc0FycmF5KGRhdGFzKSkge1xyXG4gICAgICAgICAgZGF0YXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciB0ZW1wT2JqID0ge307XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHYgPSBpdGVtW2tleV07XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaXNSZXBsYWNlKHYpKSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSBpdGVtW3RoaXMucmVwbGFjZSh2KV07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRlbXBPYmpba2V5XSA9IHY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRlbXBPYmopO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBvYmplY3RDb252ZXJzaW9uKG9iaiwgZGF0YXMsIGRhdGFNYXApIHtcclxuICAgIGxldCB0ZW1wT2JqOiBhbnk7XHJcbiAgICBpZiAob2JqKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gWy4uLm9ial07XHJcbiAgICAgICAgdGVtcE9iai5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmIChpdGVtLmRhdGEpIHtcclxuICAgICAgICAgICAgaXRlbS5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbihpdGVtLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU3RyaW5nKG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gb2JqO1xyXG4gICAgICAgIHRlbXBPYmouZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odGVtcE9iaiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0geyAuLi5vYmogfTtcclxuICAgICAgICB0ZW1wT2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHRlbXBPYmouZGF0YSwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGVtcE9iajtcclxuICB9XHJcbiAgaW5pdCgpIHtcclxuICAgIGNvbnN0IHsgb3B0aW9uLCBkYXRhLCBPbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IGRhdGFNYXA6IGFueSA9IHt9O1xyXG4gICAgY29uc3QgbmV3RGF0YXMgPSBkYXRhIHx8IGRhdGFTb3VyY2U7XHJcbiAgICBsZXQgbmV3T3B0aW9uOiBhbnkgPSB7IC4uLm9wdGlvbiB9O1xyXG4gICAgaWYgKGlzQXJyYXkobmV3RGF0YXMpKSB7XHJcbiAgICAgIG5ld0RhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICBpZiAoZGF0YU1hcFtrZXldID09IG51bGwpIHtcclxuICAgICAgICAgICAgZGF0YU1hcFtrZXldID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkYXRhTWFwW2tleV0ucHVzaChpdGVtW2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG5ld0RhdGFzKSkge1xyXG4gICAgICBkYXRhTWFwID0gbmV3RGF0YXM7XHJcbiAgICB9XHJcbiAgICBuZXdPcHRpb24ueEF4aXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24obmV3T3B0aW9uLnhBeGlzLCBuZXdEYXRhcywgZGF0YU1hcCk7XHJcbiAgICBuZXdPcHRpb24ueUF4aXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24obmV3T3B0aW9uLnlBeGlzLCBuZXdEYXRhcywgZGF0YU1hcCk7XHJcbiAgICBuZXdPcHRpb24uc2VyaWVzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKFxyXG4gICAgICBuZXdPcHRpb24uc2VyaWVzLFxyXG4gICAgICBuZXdEYXRhcyxcclxuICAgICAgZGF0YU1hcFxyXG4gICAgKTtcclxuICAgIGNvbnN0IG15Q2hhcnQgPSAodGhpcy5teUNoYXJ0ID0gZWNoYXJ0cy5pbml0KFxyXG4gICAgICB0aGlzLmNoYXJ0UmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnRcclxuICAgICkpOyAvL+WIneWni+WMlmVjaGFydHPvvIzpgJrov4dyZWblsZ7mgKfojrflj5Zkb21cclxuICAgIG15Q2hhcnQuY2xlYXIoKTtcclxuICAgIG15Q2hhcnQuc2V0T3B0aW9uKG5ld09wdGlvbik7XHJcbiAgICBteUNoYXJ0Lm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKHBhcmFtcykge1xyXG4gICAgICBteUNoYXJ0Lm9mZihcImNsaWNrXCIpOyAvLyDov5nph4zlvojph43opoEg77yM6Ziy5q2i6YeN5aSN54K55Ye75LqL5Lu277yB77yB77yBXHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMpO1xyXG4gICAgfSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZUNoYXJ0UmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhcnRSZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5teUNoYXJ0KSB7XHJcbiAgICAgIHRoaXMubXlDaGFydC5yZXNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGJveFN0eWxlID0ge1xyXG4gICAgICB3aWR0aDogdHlwZW9mIHdpZHRoID09IFwibnVtYmVyXCIgPyBweDJ2dyh3aWR0aCkgOiB3aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0eXBlb2YgaGVpZ2h0ID09IFwibnVtYmVyXCIgPyBweDJ2dyhoZWlnaHQpIDogaGVpZ2h0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiA8ZGl2IHN0eWxlPXtib3hTdHlsZX0gcmVmPXt0aGlzLmNoYXJ0UmVmfT48L2Rpdj47XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOc2NDaGFydDtcclxuIl19
|
|
339
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJkYXRhIiwic3RvcmUiLCJjaGlsZHJlbiIsIm9wdGlvbnMiLCJvcHRpb24iLCJhdXRvTG9hZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJzdG9yZXMiLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJpc0ZpcnN0IiwiaW5pdCIsImRhdGFDaGFuZ2VkIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwidiIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFydFJlc2l6ZSIsImJpbmQiLCJ0ZXN0Iiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiZGF0YXMiLCJkYXRhTWFwIiwicmVzdWx0IiwiaXNTdHJpbmciLCJpc1JlcGxhY2UiLCJyZXBsYWNlIiwibWFwIiwiaXRlbSIsInZhbHVlIiwiZGF0YUNvbnZlcnNpb24iLCJ0ZW1wT2JqIiwia2V5IiwicHVzaCIsIm9iaiIsIk9uQ2xpY2siLCJzdGF0ZSIsIm5ld0RhdGFzIiwibmV3T3B0aW9uIiwieEF4aXMiLCJvYmplY3RDb252ZXJzaW9uIiwieUF4aXMiLCJzZXJpZXMiLCJteUNoYXJ0IiwiY2hhcnRSZWYiLCJjdXJyZW50IiwiY2xlYXIiLCJzZXRPcHRpb24iLCJvbiIsInBhcmFtcyIsIm9mZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZXNpemUiLCJ3aWR0aCIsImhlaWdo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LE9BQU8sSUFBSUEsT0FBTyxDQUFDYyxNQUFELENBQWxCO0FBQ0QsT0FIRDtBQUlBbkMsTUFBQUEsTUFBTSxDQUFDcUMsZ0JBQVAsQ0FBd0IsUUFBeEIsRUFBa0MsS0FBS25DLGlCQUFMLENBQXVCQyxJQUF2QixDQUE0QixJQUE1QixDQUFsQztBQUNEOzs7V0FFRCw2QkFBb0I7QUFDbEIsVUFBSSxLQUFLMEIsT0FBVCxFQUFrQjtBQUNoQixhQUFLQSxPQUFMLENBQWFTLE1BQWI7QUFDRDtBQUNGOzs7V0FFRCxrQkFBUztBQUNQLHlCQUEwQixLQUFLdEUsS0FBL0I7QUFBQSxVQUFRdUUsS0FBUixnQkFBUUEsS0FBUjtBQUFBLFVBQWVDLE1BQWYsZ0JBQWVBLE1BQWY7QUFDQSxVQUFNQyxRQUFRLEdBQUc7QUFDZkYsUUFBQUEsS0FBSyxFQUFFLE9BQU9BLEtBQVAsSUFBZ0IsUUFBaEIsR0FBMkIzRSxLQUFLLENBQUMyRSxLQUFELENBQWhDLEdBQTBDQSxLQURsQztBQUVmQyxRQUFBQSxNQUFNLEVBQUUsT0FBT0EsTUFBUCxJQUFpQixRQUFqQixHQUE0QjVFLEtBQUssQ0FBQzRFLE1BQUQsQ0FBakMsR0FBNENBO0FBRnJDLE9BQWpCO0FBSUEsMEJBQU87QUFBSyxRQUFBLEtBQUssRUFBRUMsUUFBWjtBQUFzQixRQUFBLEdBQUcsRUFBRSxLQUFLWDtBQUFoQyxRQUFQO0FBQ0Q7Ozs7RUEvTW9CdEUsYTs7QUFrTnZCLGVBQWVPLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gXCJlY2hhcnRzXCI7XHJcbmltcG9ydCB7IEVDaGFydHMgfSBmcm9tIFwiZWNoYXJ0cy9saWIvZWNoYXJ0c1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IHsgcHgydncgfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW50ZXJmYWNlIENoYXJ0UHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBvcHRpb246IGFueTtcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PiB8IE9iamVjdDtcclxuICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOWuveW6plxyXG4gIGhlaWdodDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOmVv+W6plxyXG4gIGF1dG9Mb2FkOiBib29sZWFuOyAvL+aVsOaNruaUueWPmO+8jOiHquWKqOWIt+aWsOWbvuihqCzpu5jorqR0cnVlXHJcbiAgT25DbGljaz86IChwYXJhbXM6IGFueSkgPT4gdm9pZDsgLy/lm77ooajngrnlh7vkuovku7ZcclxufVxyXG5cclxuLy9kYXRh56S65L6LXHJcbi8qKlxyXG4g5pWw57uE77yaXHJcbiBkYXRhPVt7bmFtZTonMeaciCcsdmFsdWU6MjB9LHtuYW1lOicy5pyIJyx2YWx1ZToxMH0se25hbWU6JzPmnIgnLHZhbHVlOjI1fV1cclxuIOWvueixoVxyXG4gZGF0YT17bmFtZTpbJzHmnIgnLCcy5pyIJywnM+aciCddLHZhbHVlOlsyMCwzMCw0MF19XHJcbiAqL1xyXG5jbGFzcyBOc2NDaGFydCBleHRlbmRzIFB1cmVDb21wb25lbnQ8Q2hhcnRQcm9wcz4ge1xyXG4gIGNoYXJ0UmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG4gIG15Q2hhcnQ6IEVDaGFydHMgfCBudWxsID0gbnVsbDtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBudWxsLFxyXG4gIH07XHJcbiAgaXNGaXJzdCA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbjogb3B0aW9ucyxcclxuICAgICAgYXV0b0xvYWQgPSB0cnVlLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB1cmwsIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgWRhdGHjgIFvcHRpb27kuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoX3RoaXMuaXNGaXJzdCAmJiBhdXRvTG9hZCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaXNGaXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYXV0b0xvYWQpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmluaXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh1cmwgJiYgZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGF1dG9Mb2FkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGRhdGEgJiYgYXV0b0xvYWQpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PENoYXJ0UHJvcHM+LFxyXG4gICAgcHJldlN0YXRlOiBSZWFkb25seTx7fT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBhdXRvTG9hZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChhdXRvTG9hZCkge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkocHJldlByb3BzLmRhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmRhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlU2V0Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgaXNTdHJpbmcodikge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiO1xyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlQ2hhcnRSZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBpc1JlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIC9eey4qfSQvZ2kudGVzdCh2KTtcclxuICB9XHJcbiAgcmVwbGFjZSh2KSB7XHJcbiAgICByZXR1cm4gdi5zdWJzdHJpbmcoMSwgdi5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIGRhdGFDb252ZXJzaW9uKGRhdGEsIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuaXNTdHJpbmcoZGF0YSkgJiYgdGhpcy5pc1JlcGxhY2UoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBkYXRhTWFwW3RoaXMucmVwbGFjZShkYXRhKV07XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdiA9IGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICBpZiAodiAmJiB0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gdGhpcy5kYXRhQ29udmVyc2lvbih2LCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YTtcclxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdChkYXRhKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IFtdO1xyXG4gICAgICAgIGlmIChpc0FycmF5KGRhdGFzKSkge1xyXG4gICAgICAgICAgZGF0YXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciB0ZW1wT2JqID0ge307XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHYgPSBpdGVtW2tleV07XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaXNSZXBsYWNlKHYpKSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSBpdGVtW3RoaXMucmVwbGFjZSh2KV07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRlbXBPYmpba2V5XSA9IHY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRlbXBPYmopO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBvYmplY3RDb252ZXJzaW9uKG9iaiwgZGF0YXMsIGRhdGFNYXApIHtcclxuICAgIGxldCB0ZW1wT2JqOiBhbnk7XHJcbiAgICBpZiAob2JqKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gWy4uLm9ial07XHJcbiAgICAgICAgdGVtcE9iai5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmIChpdGVtLmRhdGEpIHtcclxuICAgICAgICAgICAgaXRlbS5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbihpdGVtLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU3RyaW5nKG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gb2JqO1xyXG4gICAgICAgIHRlbXBPYmouZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odGVtcE9iaiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0geyAuLi5vYmogfTtcclxuICAgICAgICB0ZW1wT2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHRlbXBPYmouZGF0YSwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGVtcE9iajtcclxuICB9XHJcbiAgaW5pdCgpIHtcclxuICAgIGNvbnN0IHsgb3B0aW9uLCBkYXRhLCBPbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IGRhdGFNYXA6IGFueSA9IHt9O1xyXG4gICAgY29uc3QgbmV3RGF0YXMgPSBkYXRhIHx8IGRhdGFTb3VyY2U7XHJcbiAgICBsZXQgbmV3T3B0aW9uOiBhbnkgPSB7IC4uLm9wdGlvbiB9O1xyXG4gICAgaWYgKGlzQXJyYXkobmV3RGF0YXMpKSB7XHJcbiAgICAgIG5ld0RhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICBpZiAoZGF0YU1hcFtrZXldID09IG51bGwpIHtcclxuICAgICAgICAgICAgZGF0YU1hcFtrZXldID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkYXRhTWFwW2tleV0ucHVzaChpdGVtW2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG5ld0RhdGFzKSkge1xyXG4gICAgICBkYXRhTWFwID0gbmV3RGF0YXM7XHJcbiAgICB9XHJcbiAgICBuZXdPcHRpb24ueEF4aXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24obmV3T3B0aW9uLnhBeGlzLCBuZXdEYXRhcywgZGF0YU1hcCk7XHJcbiAgICBuZXdPcHRpb24ueUF4aXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24obmV3T3B0aW9uLnlBeGlzLCBuZXdEYXRhcywgZGF0YU1hcCk7XHJcbiAgICBuZXdPcHRpb24uc2VyaWVzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKFxyXG4gICAgICBuZXdPcHRpb24uc2VyaWVzLFxyXG4gICAgICBuZXdEYXRhcyxcclxuICAgICAgZGF0YU1hcFxyXG4gICAgKTtcclxuICAgIGNvbnN0IG15Q2hhcnQgPSAodGhpcy5teUNoYXJ0ID0gZWNoYXJ0cy5pbml0KFxyXG4gICAgICB0aGlzLmNoYXJ0UmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnRcclxuICAgICkpOyAvL+WIneWni+WMlmVjaGFydHPvvIzpgJrov4dyZWblsZ7mgKfojrflj5Zkb21cclxuICAgIG15Q2hhcnQuY2xlYXIoKTtcclxuICAgIG15Q2hhcnQuc2V0T3B0aW9uKG5ld09wdGlvbik7XHJcbiAgICBteUNoYXJ0Lm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKHBhcmFtcykge1xyXG4gICAgICBteUNoYXJ0Lm9mZihcImNsaWNrXCIpOyAvLyDov5nph4zlvojph43opoEg77yM6Ziy5q2i6YeN5aSN54K55Ye75LqL5Lu277yB77yB77yBXHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMpO1xyXG4gICAgfSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZUNoYXJ0UmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhcnRSZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5teUNoYXJ0KSB7XHJcbiAgICAgIHRoaXMubXlDaGFydC5yZXNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGJveFN0eWxlID0ge1xyXG4gICAgICB3aWR0aDogdHlwZW9mIHdpZHRoID09IFwibnVtYmVyXCIgPyBweDJ2dyh3aWR0aCkgOiB3aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0eXBlb2YgaGVpZ2h0ID09IFwibnVtYmVyXCIgPyBweDJ2dyhoZWlnaHQpIDogaGVpZ2h0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiA8ZGl2IHN0eWxlPXtib3hTdHlsZX0gcmVmPXt0aGlzLmNoYXJ0UmVmfT48L2Rpdj47XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOc2NDaGFydDtcclxuIl19
|