nsc-react-component 2.10.4 → 2.10.6
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.
|
@@ -2,7 +2,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
2
2
|
|
|
3
3
|
import "antd/es/form/style/css";
|
|
4
4
|
import _Form from "antd/es/form";
|
|
5
|
-
var _excluded = ["label", "required", "message", "type", "rules", "validateTrigger", "allowChars"];
|
|
5
|
+
var _excluded = ["label", "required", "message", "type", "rules", "validateTrigger", "allowChars", "componentName"];
|
|
6
6
|
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
|
|
@@ -63,17 +63,14 @@ var NSCFormItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
63
63
|
var _super = _createSuper(NSCFormItem);
|
|
64
64
|
|
|
65
65
|
function NSCFormItem(props, name) {
|
|
66
|
-
var _props$children, _props$children$type;
|
|
67
|
-
|
|
68
66
|
var _this;
|
|
69
67
|
|
|
70
68
|
_classCallCheck(this, NSCFormItem);
|
|
71
69
|
|
|
72
|
-
_this = _super.call(this, props);
|
|
70
|
+
_this = _super.call(this, props); // this.componentName = props.children?.type?.name;
|
|
73
71
|
|
|
74
72
|
_defineProperty(_assertThisInitialized(_this), "componentName", "");
|
|
75
73
|
|
|
76
|
-
_this.componentName = (_props$children = props.children) === null || _props$children === void 0 ? void 0 : (_props$children$type = _props$children.type) === null || _props$children$type === void 0 ? void 0 : _props$children$type.name;
|
|
77
74
|
return _this;
|
|
78
75
|
}
|
|
79
76
|
|
|
@@ -91,11 +88,12 @@ var NSCFormItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
91
88
|
validateTrigger = _this$props.validateTrigger,
|
|
92
89
|
_this$props$allowChar = _this$props.allowChars,
|
|
93
90
|
allowChars = _this$props$allowChar === void 0 ? false : _this$props$allowChar,
|
|
91
|
+
componentName = _this$props.componentName,
|
|
94
92
|
params = _objectWithoutProperties(_this$props, _excluded);
|
|
95
93
|
|
|
96
94
|
var newRules = _toConsumableArray(rules);
|
|
97
95
|
|
|
98
|
-
if (required && (
|
|
96
|
+
if (required && (componentName === "Dragger" || componentName === "Upload")) {
|
|
99
97
|
newRules.push({
|
|
100
98
|
required: required,
|
|
101
99
|
validator: function validator(_, value) {
|
|
@@ -119,7 +117,7 @@ var NSCFormItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
119
117
|
});
|
|
120
118
|
}
|
|
121
119
|
|
|
122
|
-
if (
|
|
120
|
+
if (componentName === "Input") {
|
|
123
121
|
if (!allowChars) {
|
|
124
122
|
newRules.push({
|
|
125
123
|
validator: function validator(_, value) {
|
|
@@ -147,4 +145,4 @@ var NSCFormItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
147
145
|
}(PureComponent);
|
|
148
146
|
|
|
149
147
|
export { NSCFormItem as default };
|
|
150
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9maWxlZC9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwidXRpbHMiLCJOU0NGb3JtSXRlbSIsInByb3BzIiwibmFtZSIsImxhYmVsIiwicmVxdWlyZWQiLCJtZXNzYWdlIiwidHlwZSIsInJ1bGVzIiwidmFsaWRhdGVUcmlnZ2VyIiwiYWxsb3dDaGFycyIsImNvbXBvbmVudE5hbWUiLCJwYXJhbXMiLCJuZXdSdWxlcyIsInB1c2giLCJ2YWxpZGF0b3IiLCJfIiwidmFsdWUiLCJmaWxlTGlzdCIsImxlbmd0aCIsIlByb21pc2UiLCJyZXNvbHZlIiwiQXJyYXkiLCJpc0FycmF5IiwicmVqZWN0IiwiRXJyb3IiLCJjaGVja0NoYXJzIiwiaXRlbVByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFLQSxPQUFPQyxLQUFQLE1BQWtCLGdCQUFsQjs7SUFPcUJDLFc7Ozs7O0FBRW5CLHVCQUFZQyxLQUFaLEVBQW1CQyxJQUFuQixFQUF5QjtBQUFBOztBQUFBOztBQUN2Qiw4QkFBTUQsS0FBTixFQUR1QixDQUV2Qjs7QUFGdUIsb0VBRFQsRUFDUzs7QUFBQTtBQUd4Qjs7OztXQUNELGtCQUFTO0FBQ1Asd0JBYUksS0FBS0EsS0FiVDtBQUFBLFVBQ0VFLEtBREYsZUFDRUEsS0FERjtBQUFBLFVBR0VDLFFBSEYsZUFHRUEsUUFIRjtBQUFBLFVBS0VDLE9BTEYsZUFLRUEsT0FMRjtBQUFBLHlDQU9FQyxJQVBGO0FBQUEsVUFPRUEsSUFQRixpQ0FPUyxRQVBUO0FBQUEsMENBUUVDLEtBUkY7QUFBQSxVQVFFQSxLQVJGLGtDQVFVLEVBUlY7QUFBQSxVQVNFQyxlQVRGLGVBU0VBLGVBVEY7QUFBQSw4Q0FVRUMsVUFWRjtBQUFBLFVBVUVBLFVBVkYsc0NBVWUsS0FWZjtBQUFBLFVBV0VDLGFBWEYsZUFXRUEsYUFYRjtBQUFBLFVBWUtDLE1BWkw7O0FBY0EsVUFBTUMsUUFBUSxzQkFBT0wsS0FBUCxDQUFkOztBQUNBLFVBQ0VILFFBQVEsS0FDUE0sYUFBYSxLQUFLLFNBQWxCLElBQ0NBLGFBQWEsS0FBSyxRQUZaLENBRFYsRUFJRTtBQUNBRSxRQUFBQSxRQUFRLENBQUNDLElBQVQsQ0FBYztBQUNaVCxVQUFBQSxRQUFRLEVBQUVBLFFBREU7QUFFWlUsVUFBQUEsU0FBUyxFQUFFLG1CQUFDQyxDQUFELEVBQUlDLEtBQUosRUFBYztBQUFBOztBQUN2QixnQkFBSUEsS0FBSyxJQUFJLENBQUFBLEtBQUssU0FBTCxJQUFBQSxLQUFLLFdBQUwsK0JBQUFBLEtBQUssQ0FBRUMsUUFBUCxvRUFBaUJDLE1BQWpCLElBQTBCLENBQXZDLEVBQTBDO0FBQ3hDLHFCQUFPQyxPQUFPLENBQUNDLE9BQVIsRUFBUDtBQUNELGFBRkQsTUFFTyxJQUFJSixLQUFLLElBQUlLLEtBQUssQ0FBQ0MsT0FBTixDQUFjTixLQUFkLENBQVQsSUFBaUNBLEtBQUssQ0FBQ0UsTUFBTixHQUFlLENBQXBELEVBQXVEO0FBQzVELHFCQUFPQyxPQUFPLENBQUNDLE9BQVIsRUFBUDtBQUNELGFBRk0sTUFFQSxJQUFJSixLQUFLLElBQUksT0FBT0EsS0FBUCxJQUFnQixRQUE3QixFQUF1QztBQUM1QyxxQkFBT0csT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDRCxhQUZNLE1BRUE7QUFDTCxxQkFBT0QsT0FBTyxDQUFDSSxNQUFSLENBQWUsSUFBSUMsS0FBSixDQUFVbkIsT0FBTyxJQUFJRixLQUFLLEdBQUcsT0FBN0IsQ0FBZixDQUFQO0FBQ0Q7QUFDRjtBQVpXLFNBQWQ7QUFjRCxPQW5CRCxNQW1CTyxJQUFJQyxRQUFKLEVBQWM7QUFDbkJRLFFBQUFBLFFBQVEsQ0FBQ0MsSUFBVCxDQUFjO0FBQ1pULFVBQUFBLFFBQVEsRUFBRUEsUUFERTtBQUVaQyxVQUFBQSxPQUFPLEVBQUVBLE9BQU8sSUFBSUYsS0FBSyxHQUFHO0FBRmhCLFNBQWQ7QUFJRDs7QUFDRCxVQUFJTyxhQUFhLEtBQUssT0FBdEIsRUFBK0I7QUFDN0IsWUFBSSxDQUFDRCxVQUFMLEVBQWlCO0FBQ2ZHLFVBQUFBLFFBQVEsQ0FBQ0MsSUFBVCxDQUFjO0FBQ1pDLFlBQUFBLFNBQVMsRUFBRSxtQkFBQ0MsQ0FBRCxFQUFJQyxLQUFKLEVBQWM7QUFDdkIsa0JBQUksQ0FBQ0EsS0FBRCxJQUFVakIsS0FBSyxDQUFDMEIsVUFBTixDQUFpQlQsS0FBakIsQ0FBZCxFQUF1QztBQUNyQyx1QkFBT0csT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDRDs7QUFDRCxxQkFBT0QsT0FBTyxDQUFDSSxNQUFSLENBQWUsSUFBSUMsS0FBSiwwREFBZixDQUFQO0FBQ0QsYUFOVztBQU9aaEIsWUFBQUEsZUFBZSxFQUFFQSxlQUFlLEdBQUdBLGVBQUgsR0FBcUIsQ0FBQyxRQUFEO0FBUHpDLFdBQWQ7QUFTRDtBQUNGOztBQUNELFVBQUlrQixTQUFTLG1DQUNSO0FBQ0RuQixRQUFBQSxLQUFLLEVBQUVLLFFBRE47QUFFRFQsUUFBQUEsS0FBSyxFQUFMQTtBQUZDLE9BRFEsR0FLUlEsTUFMUSxDQUFiOztBQU9BLDBCQUFPLDBCQUFNLElBQU4sRUFBZWUsU0FBZixDQUFQO0FBQ0Q7Ozs7RUFwRXNDNUIsYTs7U0FBcEJFLFciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiBGb3JtSXRlbSDlrp7njrBcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA4IDE1OjI3OjQ4XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMiAxNjo1NDowMVxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IEZvcm0sIEZvcm1JdGVtUHJvcHMsIEZvcm1Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcblxyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgdXRpbHMgZnJvbSBcIi4uLy4uLy4uL3V0aWxzXCI7XHJcblxyXG5pbnRlcmZhY2UgSUZvcm1Qcm9wcyBleHRlbmRzIEZvcm1JdGVtUHJvcHMge1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7IC8v5Li656m65o+Q56S65paH5a2XXHJcbiAgdHlwZT86IHN0cmluZztcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NGb3JtSXRlbSBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUZvcm1Qcm9wcz4ge1xyXG4gIGNvbXBvbmVudE5hbWUgPSBcIlwiO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzLCBuYW1lKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAvLyB0aGlzLmNvbXBvbmVudE5hbWUgPSBwcm9wcy5jaGlsZHJlbj8udHlwZT8ubmFtZTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIC8v5piv5ZCm5b+F5aGr77yM5LiN6K6+572u5Lya5qC55o2ucnVsZXPnlJ/miJBcclxuICAgICAgcmVxdWlyZWQsXHJcbiAgICAgIC8v5aaC5p6c5LiN5aGr5o+Q56S65paH5a2XXHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICAgIC8v5qCh6aqM6KeE5YiZ77yM57y655yBc3RyaW5nIGh0dHBzOi8vZ2l0aHViLmNvbS95aW1pbmdoZS9hc3luYy12YWxpZGF0b3IjdHlwZVxyXG4gICAgICB0eXBlID0gXCJzdHJpbmdcIixcclxuICAgICAgcnVsZXMgPSBbXSxcclxuICAgICAgdmFsaWRhdGVUcmlnZ2VyLFxyXG4gICAgICBhbGxvd0NoYXJzID0gZmFsc2UsXHJcbiAgICAgIGNvbXBvbmVudE5hbWUsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdSdWxlcyA9IFsuLi5ydWxlc107XHJcbiAgICBpZiAoXHJcbiAgICAgIHJlcXVpcmVkICYmXHJcbiAgICAgIChjb21wb25lbnROYW1lID09PSBcIkRyYWdnZXJcIiB8fFxyXG4gICAgICAgIGNvbXBvbmVudE5hbWUgPT09IFwiVXBsb2FkXCIpXHJcbiAgICApIHtcclxuICAgICAgbmV3UnVsZXMucHVzaCh7XHJcbiAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkLFxyXG4gICAgICAgIHZhbGlkYXRvcjogKF8sIHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWU/LmZpbGVMaXN0Py5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IobWVzc2FnZSB8fCBsYWJlbCArIFwi5LiN6IO95Li656m677yBXCIpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAocmVxdWlyZWQpIHtcclxuICAgICAgbmV3UnVsZXMucHVzaCh7XHJcbiAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkLFxyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgbGFiZWwgKyBcIuS4jeiDveS4uuepuu+8gVwiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChjb21wb25lbnROYW1lID09PSBcIklucHV0XCIpIHtcclxuICAgICAgaWYgKCFhbGxvd0NoYXJzKSB7XHJcbiAgICAgICAgbmV3UnVsZXMucHVzaCh7XHJcbiAgICAgICAgICB2YWxpZGF0b3I6IChfLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXZhbHVlIHx8IHV0aWxzLmNoZWNrQ2hhcnModmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYOS4jeiDvei+k+WFpeeJueauiuWtl+espu+8gWApKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI6IHZhbGlkYXRlVHJpZ2dlciA/IHZhbGlkYXRlVHJpZ2dlciA6IFtcIm9uQmx1clwiXSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IGl0ZW1Qcm9wcyA9IHtcclxuICAgICAgLi4ue1xyXG4gICAgICAgIHJ1bGVzOiBuZXdSdWxlcyxcclxuICAgICAgICBsYWJlbCxcclxuICAgICAgfSxcclxuICAgICAgLi4ucGFyYW1zLFxyXG4gICAgfTtcclxuICAgIHJldHVybiA8Rm9ybS5JdGVtIHsuLi5pdGVtUHJvcHN9IC8+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -360,7 +360,8 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
360
360
|
label: item.label,
|
|
361
361
|
name: item.name,
|
|
362
362
|
rules: item.rules,
|
|
363
|
-
allowChars: allowChars
|
|
363
|
+
allowChars: allowChars,
|
|
364
|
+
componentName: item.type ? item.type : "Input"
|
|
364
365
|
}, getNode(item.type, _objectSpread({}, props))));
|
|
365
366
|
}))));
|
|
366
367
|
}
|
|
@@ -370,4 +371,4 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
370
371
|
}(PureComponent);
|
|
371
372
|
|
|
372
373
|
export default EditorForm;
|
|
373
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldExlc3MiLCJnZXROb2RlIiwibWVzc2FnZSIsIkNvbCIsIlJvdyIsImlzRW1wdHlPYmoiLCJtb21lbnQiLCJzdHlsZXMiLCJFZGl0b3JGb3JtIiwiY3JlYXRlUmVmIiwibG9hZGluZyIsImxhYmVsIiwiZWRpdG9yRmxhZyIsInZhbHVlIiwiZGljdE5hbWVzIiwiZWRpdG9yZmxhZyIsInNldFN0YXRlIiwiZGF0ZUZvcm1hdCIsImtleSIsIm9sZGRhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JtUmVmIiwiY3VycmVudCIsInNob3dGb3JtIiwicHJvcHMiLCJkZWZhdWx0VmFsdWUiLCJoaWRlIiwib25IaWRlRm9ybSIsImhpZGVGb3JtIiwic3VibWl0VXJsIiwic3VibWl0UGFyYW1zIiwib25TdWJtaXQiLCJjYWxsQmFjayIsInN0YXRlIiwiZm9ybVZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJ2YWxpZCIsInZhbGlkYXRlRmllbGRzIiwidGhlbiIsImRhdGEiLCJkYXRlVmFsdWVGb3JtYXQiLCJmb3JtYXQiLCJpZCIsIkVycm9yIiwibm9VbmRlZmluZWQiLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImNhdGNoIiwiZXJyb3JJbmZvIiwidmFsdWVPcHRpb24iLCJ0eXBlIiwiZGljdE5hbWUiLCJuZXdOYW1lcyIsImZvcm1Qcm9wcyIsIm90aGVyUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJvbk9rIiwiYmluZCIsIm9uQ2FuY2VsIiwib2tCdXR0b25Qcm9wcyIsImNlbnRlcmVkIiwid2lkdGgiLCJuZXdWYWxpZCIsImRyYXdlclByb3BzIiwib25DbG9zZSIsImZvb3RlciIsImZvcm1UeXBlIiwiZmxleCIsImNoYW5nZWRWYWx1ZXMiLCJhbGxWYWx1ZXMiLCJvbkZvcm1DaGFuZ2UiLCJjaGFuZ2VWYWxpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsIml0ZW1Qcm9wcyIsInZhbHVlRm9ybWF0IiwibmFtZSIsImFsbG93Q2hhcnMiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiLCJkaXNhYmxlZCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsInNwYW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxTQUFTQyxPQUFULEVBQWtCQyxPQUFsQixRQUFpQyxhQUFqQztBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixxQkFBaEI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLHFCQUFoQjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsbUJBQTNCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixRQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIscUJBQW5COztJQUVNQyxVOzs7Ozs7Ozs7Ozs7Ozs7OzJFQUNNWCxLQUFLLENBQUNZLFNBQU4sRTs7NERBQ0Y7QUFDTkMsTUFBQUEsT0FBTyxFQUFFLEtBREg7QUFFTkMsTUFBQUEsS0FBSyxFQUFFLEVBRkQ7QUFHTkMsTUFBQUEsVUFBVSxFQUFFLElBSE47QUFJTkMsTUFBQUEsS0FBSyxFQUFFLEVBSkQ7QUFLTkMsTUFBQUEsU0FBUyxFQUFFO0FBTEwsSzs7NERBT0ssRTs7c0VBQ0ssRTs7aUVBQ0wsRTs7Ozs7OztXQUNiO0FBQ0Esa0JBQUtELEtBQUwsRUFBc0M7QUFBQTs7QUFBQSxVQUFwQkUsVUFBb0IsdUVBQVAsS0FBTztBQUNwQyxVQUFJSixLQUFLLEdBQUcsSUFBWjs7QUFDQSxVQUFJRSxLQUFLLElBQUlFLFVBQVUsSUFBSSxRQUEzQixFQUFxQztBQUNuQ0osUUFBQUEsS0FBSyxHQUFHLElBQVI7QUFDRCxPQUZELE1BRU8sSUFBSUUsS0FBSyxJ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T3hELEtBQUssQ0FBQ3NELFdBQWI7QUFDQSxlQUFPdEQsS0FBSyxDQUFDaUIsTUFBYjs7QUFDQSxZQUFJL0IsS0FBSyxJQUFJLElBQWIsRUFBbUI7QUFDakJjLFVBQUFBLEtBQUssQ0FBQzRELFFBQU4sR0FBaUIsSUFBakI7QUFDRDs7QUFFRCxZQUFJVCxJQUFJLENBQUNVLEtBQUwsSUFBY1YsSUFBSSxDQUFDVSxLQUFMLENBQVdDLE1BQVgsR0FBb0IsQ0FBdEMsRUFBeUM7QUFDdkN0QixVQUFBQSxRQUFRLENBQUN1QixJQUFULENBQWNaLElBQUksQ0FBQ0ksSUFBbkI7QUFDRDs7QUFDRCxZQUFJSCxLQUFLLEdBQUcsQ0FBUixLQUFjdEIsU0FBUyxDQUFDZ0MsTUFBNUIsRUFBb0M7QUFDbEMsVUFBQSxNQUFJLENBQUNsRCxLQUFMLEdBQWE0QixRQUFiO0FBQ0Q7O0FBQ0QsNEJBQ0Usb0JBQUMsR0FBRDtBQUFLLFVBQUEsSUFBSSxFQUFFVyxJQUFJLENBQUNhLElBQUwsSUFBYSxFQUF4QjtBQUE0QixVQUFBLEdBQUcsRUFBRVo7QUFBakMsd0JBQ0Usb0JBQUMsSUFBRCxDQUFNLElBQU47QUFDRSxVQUFBLEtBQUssRUFBRUQsSUFBSSxDQUFDakUsS0FEZDtBQUVFLFVBQUEsSUFBSSxFQUFFaUUsSUFBSSxDQUFDSSxJQUZiO0FBR0UsVUFBQSxLQUFLLEVBQUVKLElBQUksQ0FBQ1UsS0FIZDtBQUlFLFVBQUEsVUFBVSxFQUFFTDtBQUpkLFdBTUdoRixPQUFPLENBQUMyRSxJQUFJLENBQUN4QixJQUFOLG9CQUNIM0IsS0FERyxFQU5WLENBREYsQ0FERjtBQWNELE9BOUNBLENBREgsQ0FERixDQWZGLENBREY7QUFxRUQ7Ozs7RUEvT3NCM0IsYTs7QUFrUHpCLGVBQWVVLFVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgdXRpbHMgZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gICAgZGljdE5hbWVzOiB7fSBhcyBhbnksXHJcbiAgfTtcclxuICB2YWxpZDogYW55ID0gW107XHJcbiAgZGF0ZVZhbHVlRm9ybWF0ID0ge30gYXMgYW55O1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgLy/ooajljZXmmL7npLpcclxuICBzaG93KHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmICh2YWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZWRpdG9yXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZGV0YWlsXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFpc0VtcHR5T2JqKHRoaXMuZGF0ZUZvcm1hdCkpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuZGF0ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICAgIGxldCBvbGRkYXRhID0gdmFsdWVba2V5XTtcclxuICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgdmFsdWVba2V5XSA9IFtcclxuICAgICAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMF0sIHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMV0sIHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlW2tleV0gPSBtb21lbnQob2xkZGF0YSwgdGhpcy5kYXRlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zaG93Rm9ybSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odGhpcy5wcm9wcy5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGlkZShoaWRlID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgeyBvbkhpZGVGb3JtIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKG9uSGlkZUZvcm0pIHtcclxuICAgICAgb25IaWRlRm9ybSAmJiBvbkhpZGVGb3JtKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgIGhpZGUgJiYgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGxvYWRpbmcgfSk7XHJcbiAgfVxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgb25TdWJtaXQsXHJcbiAgICAgIGNhbGxCYWNrLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVWYWx1ZUZvcm1hdCkpIHtcclxuICAgICAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVWYWx1ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICBsZXQgb2xkZGF0YSA9IGRhdGFba2V5XTtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2xkZGF0YSkpIHtcclxuICAgICAgICAgICAgICBkYXRhW2tleV0gPSBbXHJcbiAgICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVswXSkuZm9ybWF0KHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMV0pLmZvcm1hdCh0aGlzLmRhdGVWYWx1ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRhdGFba2V5XSA9IG1vbWVudChvbGRkYXRhKS5mb3JtYXQodGhpcy5kYXRlVmFsdWVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxhYmVsID09IFwi57yW6L6RXCIpIHtcclxuICAgICAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGlkOiB2YWx1ZT8uaWQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9uU3VibWl0KSB7XHJcbiAgICAgICAgICBvblN1Ym1pdCAmJiBvblN1Ym1pdChkYXRhLCBsYWJlbCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghc3VibWl0VXJsKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5vblN1Ym1pdChcclxuICAgICAgICAgIHN1Ym1pdFVybCxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZGF0YTogeyAuLi5kYXRhIH0sXHJcbiAgICAgICAgICAgIG5vVW5kZWZpbmVkOiBsYWJlbCA9PSBcIue8lui+kVwiLFxyXG4gICAgICAgICAgICBzdWJtaXRQYXJhbXMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MobGFiZWwgKyBcIuaIkOWKn1wiKTtcclxuICAgICAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgY2FsbEJhY2sgJiYgY2FsbEJhY2soKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5oaWRlKGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgdmFsdWUsIHZhbHVlT3B0aW9uKSB7XHJcbiAgICBpZiAodmFsdWVPcHRpb24pIHtcclxuICAgICAgaWYgKGRpY3ROYW1lKSB7XHJcbiAgICAgICAgY29uc3QgeyBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgY29uc3QgbmV3TmFtZXMgPSB7IC4uLmRpY3ROYW1lcyB9IGFzIGFueTtcclxuICAgICAgICBuZXdOYW1lc1tkaWN0TmFtZV0gPSB2YWx1ZU9wdGlvbi5sYWJlbDtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRpY3ROYW1lczogbmV3TmFtZXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10sIG90aGVyUHJvcHMgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbW9kYWxQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgb2tCdXR0b25Qcm9wczogeyBsb2FkaW5nOiBsb2FkaW5nIH0sXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuXHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIGxldCBkcmF3ZXJQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2xvc2U6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgIG1vZGFsUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgICAgZHJhd2VyUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0ID0ge307XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQgPSB7fTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Rm9ybVxyXG4gICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgIHNob3dNb2RlbD17dGhpcy5wcm9wcy5mb3JtVHlwZX1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBkcmF3ZXJQcm9wcz17eyAuLi5kcmF3ZXJQcm9wcyB9fVxyXG4gICAgICAgIGxhYmVsQ29sPXt7IGZsZXg6IFwiMTAwcHhcIiB9fVxyXG4gICAgICAgIHdyYXBwZXJDb2w9e3sgZmxleDogXCIxNXZ3XCIgfX1cclxuICAgICAgICBvblZhbHVlc0NoYW5nZT17KGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyBvbkZvcm1DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkZvcm1DaGFuZ2UgJiYgb25Gb3JtQ2hhbmdlKGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcyk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBjaGFuZ2VWYWxpZD17dGhpcy5wcm9wcy5jaGFuZ2VWYWxpZH1cclxuICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgPlxyXG4gICAgICAgIHsvKiA8ZGl2PiAqL31cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKX0+XHJcbiAgICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAgICB7Zm9ybVByb3BzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcyB8fCB7fTtcclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLmZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0W2l0ZW0ubmFtZV0gPSBpdGVtUHJvcHMuZm9ybWF0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBsZXQgYWxsb3dDaGFycyA9IGl0ZW0ucHJvcHMuYWxsb3dDaGFycyB8fCBmYWxzZTtcclxuICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLmJpbmQodGhpcywge1xyXG4gICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgIGRpY3ROYW1lOiBpdGVtLmRpY3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy5mb3JtYXQ7XHJcbiAgICAgICAgICAgICAgaWYgKGxhYmVsID09IFwi5p+l55yLXCIpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGlmIChpdGVtLnJ1bGVzICYmIGl0ZW0ucnVsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaW5kZXggKyAxID09PSBmb3JtUHJvcHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dDaGFycz17YWxsb3dDaGFyc31cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L1Jvdz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9Gb3JtPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IEVkaXRvckZvcm07XHJcbiJdfQ==
|
|
374
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldExlc3MiLCJnZXROb2RlIiwibWVzc2FnZSIsIkNvbCIsIlJvdyIsImlzRW1wdHlPYmoiLCJtb21lbnQiLCJzdHlsZXMiLCJFZGl0b3JGb3JtIiwiY3JlYXRlUmVmIiwibG9hZGluZyIsImxhYmVsIiwiZWRpdG9yRmxhZyIsInZhbHVlIiwiZGljdE5hbWVzIiwiZWRpdG9yZmxhZyIsInNldFN0YXRlIiwiZGF0ZUZvcm1hdCIsImtleSIsIm9sZGRhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JtUmVmIiwiY3VycmVudCIsInNob3dGb3JtIiwicHJvcHMiLCJkZWZhdWx0VmFsdWUiLCJoaWRlIiwib25IaWRlRm9ybSIsImhpZGVGb3JtIiwic3VibWl0VXJsIiwic3VibWl0UGFyYW1zIiwib25TdWJtaXQiLCJjYWxsQmFjayIsInN0YXRlIiwiZm9ybVZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJ2YWxpZCIsInZhbGlkYXRlRmllbGRzIiwidGhlbiIsImRhdGEiLCJkYXRlVmFsdWVGb3JtYXQiLCJmb3JtYXQiLCJpZCIsIkVycm9yIiwibm9VbmRlZmluZWQiLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImNhdGNoIiwiZXJyb3JJbmZvIiwidmFsdWVPcHRpb24iLCJ0eXBlIiwiZGljdE5hbWUiLCJuZXdOYW1lcyIsImZvcm1Qcm9wcyIsIm90aGVyUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJvbk9rIiwiYmluZCIsIm9uQ2FuY2VsIiwib2tCdXR0b25Qcm9wcyIsImNlbnRlcmVkIiwid2lkdGgiLCJuZXdWYWxpZCIsImRyYXdlclByb3BzIiwib25DbG9zZSIsImZvb3RlciIsImZvcm1UeXBlIiwiZmxleCIsImNoYW5nZWRWYWx1ZXMiLCJhbGxWYWx1ZXMiLCJvbkZvcm1DaGFuZ2UiLCJjaGFuZ2VWYWxpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsIml0ZW1Qcm9wcyIsInZhbHVlRm9ybWF0IiwibmFtZSIsImFsbG93Q2hhcnMiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiLCJkaXNhYmxlZCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsInNwYW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxTQUFTQyxPQUFULEVBQWtCQyxPQUFsQixRQUFpQyxhQUFqQztBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixxQkFBaEI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLHFCQUFoQjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsbUJBQTNCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixRQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIscUJBQW5COztJQUVNQyxVOzs7Ozs7Ozs7Ozs7Ozs7OzJFQUNNWCxLQUFLLENBQUNZLFNBQU4sRTs7NERBQ0Y7QUFDTkMsTUFBQUEsT0FBTyxFQUFFLEtBREg7QUFFTkMsTUFBQUEsS0FBSyxFQUFFLEVBRkQ7QUFHTkMsTUFBQUEsVUFBVSxFQUFFLElBSE47QUFJTkMsTUFBQUEsS0FBSyxFQUFFLEVBSkQ7QUFLTkMsTUFBQUEsU0FBUyxFQUFFO0FBTEwsSzs7NERBT0ssRTs7c0VBQ0ssRTs7aUVBQ0wsRTs7Ozs7OztXQUNiO0FBQ0Esa0JBQUtELEtBQUwsRUFBc0M7QUFBQTs7QUFBQSxVQUFwQkUsVUFBb0IsdUVBQVAsS0FBTztBQUNwQyxVQUFJSixLQUFLLEdBQUcsSUFBWjs7QUFDQSxVQUFJRSxLQUFLLElBQUlFLFVBQVUsSUFBSSxRQUEzQixFQUFxQztBQUNuQ0osUUFBQUEsS0FBSyxHQUFHLElBQVI7QUFDRCxPQUZELE1BRU8sSUFBSUUsS0FBSyxJ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b20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgdXRpbHMgZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gICAgZGljdE5hbWVzOiB7fSBhcyBhbnksXHJcbiAgfTtcclxuICB2YWxpZDogYW55ID0gW107XHJcbiAgZGF0ZVZhbHVlRm9ybWF0ID0ge30gYXMgYW55O1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgLy/ooajljZXmmL7npLpcclxuICBzaG93KHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmICh2YWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZWRpdG9yXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZGV0YWlsXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFpc0VtcHR5T2JqKHRoaXMuZGF0ZUZvcm1hdCkpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuZGF0ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICAgIGxldCBvbGRkYXRhID0gdmFsdWVba2V5XTtcclxuICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgdmFsdWVba2V5XSA9IFtcclxuICAgICAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMF0sIHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMV0sIHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlW2tleV0gPSBtb21lbnQob2xkZGF0YSwgdGhpcy5kYXRlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zaG93Rm9ybSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odGhpcy5wcm9wcy5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGlkZShoaWRlID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgeyBvbkhpZGVGb3JtIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKG9uSGlkZUZvcm0pIHtcclxuICAgICAgb25IaWRlRm9ybSAmJiBvbkhpZGVGb3JtKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgIGhpZGUgJiYgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGxvYWRpbmcgfSk7XHJcbiAgfVxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgb25TdWJtaXQsXHJcbiAgICAgIGNhbGxCYWNrLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVWYWx1ZUZvcm1hdCkpIHtcclxuICAgICAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVWYWx1ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICBsZXQgb2xkZGF0YSA9IGRhdGFba2V5XTtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2xkZGF0YSkpIHtcclxuICAgICAgICAgICAgICBkYXRhW2tleV0gPSBbXHJcbiAgICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVswXSkuZm9ybWF0KHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMV0pLmZvcm1hdCh0aGlzLmRhdGVWYWx1ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRhdGFba2V5XSA9IG1vbWVudChvbGRkYXRhKS5mb3JtYXQodGhpcy5kYXRlVmFsdWVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxhYmVsID09IFwi57yW6L6RXCIpIHtcclxuICAgICAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGlkOiB2YWx1ZT8uaWQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9uU3VibWl0KSB7XHJcbiAgICAgICAgICBvblN1Ym1pdCAmJiBvblN1Ym1pdChkYXRhLCBsYWJlbCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghc3VibWl0VXJsKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5vblN1Ym1pdChcclxuICAgICAgICAgIHN1Ym1pdFVybCxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZGF0YTogeyAuLi5kYXRhIH0sXHJcbiAgICAgICAgICAgIG5vVW5kZWZpbmVkOiBsYWJlbCA9PSBcIue8lui+kVwiLFxyXG4gICAgICAgICAgICBzdWJtaXRQYXJhbXMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MobGFiZWwgKyBcIuaIkOWKn1wiKTtcclxuICAgICAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgY2FsbEJhY2sgJiYgY2FsbEJhY2soKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5oaWRlKGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgdmFsdWUsIHZhbHVlT3B0aW9uKSB7XHJcbiAgICBpZiAodmFsdWVPcHRpb24pIHtcclxuICAgICAgaWYgKGRpY3ROYW1lKSB7XHJcbiAgICAgICAgY29uc3QgeyBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgY29uc3QgbmV3TmFtZXMgPSB7IC4uLmRpY3ROYW1lcyB9IGFzIGFueTtcclxuICAgICAgICBuZXdOYW1lc1tkaWN0TmFtZV0gPSB2YWx1ZU9wdGlvbi5sYWJlbDtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRpY3ROYW1lczogbmV3TmFtZXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10sIG90aGVyUHJvcHMgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbW9kYWxQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgb2tCdXR0b25Qcm9wczogeyBsb2FkaW5nOiBsb2FkaW5nIH0sXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuXHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIGxldCBkcmF3ZXJQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2xvc2U6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgIG1vZGFsUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgICAgZHJhd2VyUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0ID0ge307XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQgPSB7fTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Rm9ybVxyXG4gICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgIHNob3dNb2RlbD17dGhpcy5wcm9wcy5mb3JtVHlwZX1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBkcmF3ZXJQcm9wcz17eyAuLi5kcmF3ZXJQcm9wcyB9fVxyXG4gICAgICAgIGxhYmVsQ29sPXt7IGZsZXg6IFwiMTAwcHhcIiB9fVxyXG4gICAgICAgIHdyYXBwZXJDb2w9e3sgZmxleDogXCIxNXZ3XCIgfX1cclxuICAgICAgICBvblZhbHVlc0NoYW5nZT17KGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyBvbkZvcm1DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkZvcm1DaGFuZ2UgJiYgb25Gb3JtQ2hhbmdlKGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcyk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBjaGFuZ2VWYWxpZD17dGhpcy5wcm9wcy5jaGFuZ2VWYWxpZH1cclxuICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgPlxyXG4gICAgICAgIHsvKiA8ZGl2PiAqL31cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKX0+XHJcbiAgICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAgICB7Zm9ybVByb3BzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcyB8fCB7fTtcclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLmZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0W2l0ZW0ubmFtZV0gPSBpdGVtUHJvcHMuZm9ybWF0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBsZXQgYWxsb3dDaGFycyA9IGl0ZW0ucHJvcHMuYWxsb3dDaGFycyB8fCBmYWxzZTtcclxuICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLmJpbmQodGhpcywge1xyXG4gICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgIGRpY3ROYW1lOiBpdGVtLmRpY3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy5mb3JtYXQ7XHJcbiAgICAgICAgICAgICAgaWYgKGxhYmVsID09IFwi5p+l55yLXCIpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGlmIChpdGVtLnJ1bGVzICYmIGl0ZW0ucnVsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaW5kZXggKyAxID09PSBmb3JtUHJvcHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dDaGFycz17YWxsb3dDaGFyc31cclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnROYW1lPXtpdGVtLnR5cGUgPyBpdGVtLnR5cGUgOiBcIklucHV0XCJ9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC9Sb3c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvRm9ybT5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBFZGl0b3JGb3JtO1xyXG4iXX0=
|
|
@@ -106,42 +106,37 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
106
106
|
}, {
|
|
107
107
|
key: "onSearch",
|
|
108
108
|
value: function onSearch() {
|
|
109
|
-
var _this$searchRef$curre3,
|
|
110
|
-
_this2 = this;
|
|
111
|
-
|
|
112
109
|
var onSearch = this.props.onSearch;
|
|
113
|
-
|
|
114
|
-
var fromValue = _this2.formatValue();
|
|
110
|
+
var fromValue = this.formatValue();
|
|
115
111
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
});
|
|
112
|
+
if (onSearch) {
|
|
113
|
+
onSearch(fromValue);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
121
116
|
}
|
|
122
117
|
}, {
|
|
123
118
|
key: "resetFields",
|
|
124
119
|
value: function resetFields() {
|
|
125
|
-
var _this$searchRef$
|
|
120
|
+
var _this$searchRef$curre3;
|
|
126
121
|
|
|
127
|
-
(_this$searchRef$
|
|
122
|
+
(_this$searchRef$curre3 = this.searchRef.current) === null || _this$searchRef$curre3 === void 0 ? void 0 : _this$searchRef$curre3.resetFields();
|
|
128
123
|
}
|
|
129
124
|
}, {
|
|
130
125
|
key: "resetSearch",
|
|
131
126
|
value: function resetSearch() {
|
|
132
|
-
var _this$searchRef$
|
|
127
|
+
var _this$searchRef$curre4;
|
|
133
128
|
|
|
134
129
|
if (this.props.onReset) {
|
|
135
130
|
this.props.onReset();
|
|
136
131
|
return;
|
|
137
132
|
}
|
|
138
133
|
|
|
139
|
-
(_this$searchRef$
|
|
134
|
+
(_this$searchRef$curre4 = this.searchRef.current) === null || _this$searchRef$curre4 === void 0 ? void 0 : _this$searchRef$curre4.resetFields();
|
|
140
135
|
}
|
|
141
136
|
}, {
|
|
142
137
|
key: "render",
|
|
143
138
|
value: function render() {
|
|
144
|
-
var
|
|
139
|
+
var _this2 = this;
|
|
145
140
|
|
|
146
141
|
var _this$props = this.props,
|
|
147
142
|
_this$props$searchFor = _this$props.searchForms,
|
|
@@ -188,10 +183,10 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
188
183
|
var display = "block";
|
|
189
184
|
|
|
190
185
|
if (itemProps.valueFormat) {
|
|
191
|
-
|
|
186
|
+
_this2.dateFormat[item.name] = itemProps.valueFormat;
|
|
192
187
|
}
|
|
193
188
|
|
|
194
|
-
if (index > headerCount && !
|
|
189
|
+
if (index > headerCount && !_this2.state.expand) {
|
|
195
190
|
display = "none"; //return
|
|
196
191
|
}
|
|
197
192
|
|
|
@@ -211,7 +206,8 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
211
206
|
var defaultItem = {
|
|
212
207
|
label: item.label,
|
|
213
208
|
name: item.name,
|
|
214
|
-
allowChars: allowChars
|
|
209
|
+
allowChars: allowChars,
|
|
210
|
+
componentName: item.type ? item.type : "Input"
|
|
215
211
|
};
|
|
216
212
|
|
|
217
213
|
if (item.labelCol) {
|
|
@@ -293,9 +289,9 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
293
289
|
}, "\u91CD\u7F6E")), searchForms.length > 3 && /*#__PURE__*/React.createElement("div", {
|
|
294
290
|
className: getLess(styles, "expand_style"),
|
|
295
291
|
onClick: function onClick() {
|
|
296
|
-
var expand =
|
|
292
|
+
var expand = _this2.state.expand;
|
|
297
293
|
|
|
298
|
-
|
|
294
|
+
_this2.setState({
|
|
299
295
|
expand: !expand
|
|
300
296
|
});
|
|
301
297
|
}
|
|
@@ -307,4 +303,4 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
307
303
|
}(PureComponent);
|
|
308
304
|
|
|
309
305
|
export default HeaderSearch;
|
|
310
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvSGVhZGVyU2VhcmNoL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiQnV0dG9uIiwiY2xzIiwic3R5bGVzIiwiQ29sIiwiUm93IiwibW9tZW50IiwiaXNFbXB0eU9iaiIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJSZWxvYWRPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJIZWFkZXJTZWFyY2giLCJjcmVhdGVSZWYiLCJleHBhbmQiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImZyb21WYWx1ZSIsImZvcm1hdFZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJkYXRlRm9ybWF0Iiwia2V5Iiwib2xkZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvcm1hdCIsIm9uU2VhcmNoIiwicHJvcHMiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJyZXNldEZpZWxkcyIsIm9uUmVzZXQiLCJzZWFyY2hGb3JtcyIsInRvb2xCdXR0b25Qb3NpdGlvbiIsInNlYXJjaEZvcm1Qcm9wcyIsImNvbFNwYW4iLCJoZWFkZXJDb3VudCIsImhlYWRlclJvdXQiLCJjbGFzc05hbWUiLCJ3aWR0aCIsImRpc3BsYXkiLCJmbGV4V3JhcCIsImJpbmQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsIm5hbWUiLCJzdGF0ZSIsImFsbG93Q2hhcnMiLCJzZWFyY2hEaXNhYmxlZCIsInR5cGUiLCJkZWZhdWx0SXRlbSIsImxhYmVsIiwibGFiZWxDb2wiLCJ3cmFwcGVyQ29sIiwicGxhY2Vob2xkZXIiLCJzcGFuIiwicGFkZGluZ1JpZ2h0Iiwic3R5bGUiLCJkaXNhYmxlZCIsIm1hcmdpblRvcCIsImJ1dHRvblJldmVycyIsIm1hcmdpbkxlZnQiLCJyZXNldFNlYXJjaCIsInNldFN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFnRCxPQUFoRDtBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixtQkFBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IscUJBQWhCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixxQkFBaEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFFBQW5CO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxTQUNFQyxZQURGLEVBRUVDLFVBRkYsRUFHRUMsY0FIRixFQUlFQyxjQUpGLFFBS08sbUJBTFA7QUFNQSxTQUFTQyxPQUFULEVBQWtCQyxPQUFsQixRQUFpQyxhQUFqQzs7SUFvQk1DLFk7Ozs7Ozs7Ozs7Ozs7Ozs7NkVBQ1FoQixLQUFLLENBQUNpQixTQUFOLEU7O2lFQUNDLEU7OzREQUNMO0FBQUVDLE1BQUFBLE1BQU0sRUFBRTtBQUFWLEs7Ozs7Ozs7V0FDUix5QkFBZ0JDLE1BQWhCLEVBQXdCQyxRQUF4QixFQUFrQztBQUFBOztBQUNoQyxvQ0FBS0MsU0FBTCxDQUFlQyxPQUFmLGdGQUF3QkMsY0FBeEIsQ0FBdUNKLE1BQXZDO0FBQ0Q7OztXQUNELDJCQUFrQjtBQUNoQixVQUFNSyxTQUFTLEdBQUcsS0FBS0MsV0FBTCxFQUFsQjtBQUNBLGFBQU9ELFNBQVA7QUFDRDs7O1dBQ0QsdUJBQWM7QUFBQTs7QUFDWixVQUFNQSxTQUFTLDZCQUFHLEtBQUtILFNBQUwsQ0FBZUMsT0FBbEIsMkRBQUcsdUJBQXdCSSxjQUF4QixFQUFsQjs7QUFDQSxVQUFJLENBQUNqQixVQUFVLENBQUMsS0FBS2tCLFVBQU4sQ0FBZixFQUFrQztBQUNoQyxhQUFLLElBQUlDLEdBQVQsSUFBZ0IsS0FBS0QsVUFBckIsRUFBaUM7QUFDL0IsY0FBSUUsT0FBTyxHQUFHTCxTQUFTLENBQUNJLEdBQUQsQ0FBdkI7O0FBQ0EsY0FBSUUsS0FBSyxDQUFDQyxPQUFOLENBQWNGLE9BQWQsQ0FBSixFQUE0QjtBQUMxQixnQkFBSUEsT0FBTyxDQUFDRyxNQUFSLEdBQWlCLENBQWpCLElBQXNCSCxPQUFPLENBQUMsQ0FBRCxDQUE3QixJQUFvQ0EsT0FBTyxDQUFDLENBQUQsQ0FBL0MsRUFBb0Q7QUFDbERMLGNBQUFBLFNBQVMsQ0FBQ0ksR0FBRCxDQUFULEdBQWlCLENBQ2ZwQixNQUFNLENBQUNxQixPQUFPLENBQUMsQ0FBRCxDQUFSLENBQU4sQ0FBbUJJLE1BQW5CLENBQTBCLEtBQUtOLFVBQUwsQ0FBZ0JDLEdBQWhCLENBQTFCLENBRGUsRUFFZnBCLE1BQU0sQ0FBQ3FCLE9BQU8sQ0FBQyxDQUFELENBQVIsQ0FBTixDQUFtQkksTUFBbkIsQ0FBMEIsS0FBS04sVUFBTCxDQUFnQkMsR0FBaEIsQ0FBMUIsQ0FGZSxDQUFqQjtBQUlEO0FBQ0YsV0FQRCxNQU9PLElBQUlDLE9BQUosRUFBYTtBQUNsQkwsWUFBQUEsU0FBUyxDQUFDSSxHQUFELENBQVQsR0FBaUJwQixNQUFNLENBQUNxQixPQUFELENBQU4sQ0FBZ0JJLE1BQWhCLENBQXVCLEtBQUtOLFVBQUwsQ0FBZ0JDLEdBQWhCLENBQXZCLENBQWpCO0FBQ0Q7QUFDRjtBQUNGOztBQUNELGFBQU9KLFNBQVA7QUFDRDs7O1dBQ0Qsb0JBQVc7QUFBQTtBQUFBOztBQUNULFVBQVFVLFFBQVIsR0FBcUIsS0FBS0MsS0FBMUIsQ0FBUUQsUUFBUjtBQUNBLHFDQUFLYixTQUFMLENBQWVDLE9BQWYsa0ZBQXdCYyxjQUF4QixHQUF5Q0MsSUFBekMsQ0FBOEMsWUFBSTtBQUNoRCxZQUFNYixTQUFTLEdBQUcsTUFBSSxDQUFDQyxXQUFMLEVBQWxCOztBQUNBLFlBQUlTLFFBQUosRUFBYztBQUNaQSxVQUFBQSxRQUFRLENBQUNWLFNBQUQsQ0FBUjtBQUNBO0FBQ0Q7QUFDRixPQU5EO0FBUUQ7OztXQUNELHVCQUFjO0FBQUE7O0FBQ1oscUNBQUtILFNBQUwsQ0FBZUMsT0FBZixrRkFBd0JnQixXQUF4QjtBQUNEOzs7V0FDRCx1QkFBYztBQUFBOztBQUNaLFVBQUksS0FBS0gsS0FBTCxDQUFXSSxPQUFmLEVBQXdCO0FBQ3RCLGFBQUtKLEtBQUwsQ0FBV0ksT0FBWDtBQUNBO0FBQ0Q7O0FBQ0QscUNBQUtsQixTQUFMLENBQWVDLE9BQWYsa0ZBQXdCZ0IsV0FBeEI7QUFDRDs7O1dBQ0Qsa0JBQVM7QUFBQTs7QUFDUCx3QkFNSSxLQUFLSCxLQU5UO0FBQUEsOENBQ0VLLFdBREY7QUFBQSxVQUNFQSxXQURGLHNDQUNnQixFQURoQjtBQUFBLFVBRUVDLGtCQUZGLGVBRUVBLGtCQUZGO0FBQUEsVUFHRVAsUUFIRixlQUdFQSxRQUhGO0FBQUEsVUFJRUssT0FKRixlQUlFQSxPQUpGO0FBQUEsK0NBS0VHLGVBTEY7QUFBQSxVQUtFQSxlQUxGLHVDQUtvQixFQUxwQjtBQVFBLFVBQUlDLE9BQU8sR0FBRyxDQUFkO0FBQ0EsVUFBTUMsV0FBVyxHQUFHSCxrQkFBa0IsSUFBSSxPQUF0QixHQUFnQyxDQUFoQyxHQUFvQyxDQUF4RDtBQUNBLFVBQU1JLFVBQVUsR0FBR0wsV0FBVyxDQUFDUixNQUFaLEdBQXFCLENBQXhDOztBQUNBLFVBQUlhLFVBQVUsSUFBSSxDQUFsQixFQUFxQjtBQUNuQkYsUUFBQUEsT0FBTyxHQUFHLEVBQVY7QUFDRCxPQUZELE1BRU8sSUFBSUUsVUFBVSxJQUFJLENBQWxCLEVBQXFCO0FBQzFCRixRQUFBQSxPQUFPLEdBQUcsRUFBVjtBQUNELE9BRk0sTUFFQSxJQUFJRSxVQUFVLElBQUksQ0FBbEIsRUFBcUI7QUFDMUJGLFFBQUFBLE9BQU8sR0FBRyxDQUFWO0FBQ0Q7O0FBQ0QsMEJBQ0Usb0JBQUMsR0FBRDtBQUFLLFFBQUEsTUFBTSxFQUFFLEVBQWI7QUFBaUIsUUFBQSxJQUFJO0FBQXJCLHNCQUNFO0FBQ0UsUUFBQSxTQUFTLEVBQUV2QyxHQUFHLENBQ1pVLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLFFBQVQsQ0FESyxzQkFFVFMsT0FBTyxDQUFDVCxNQUFELEVBQVMsZ0JBQVQsQ0FGRSxFQUUyQm1DLFdBQVcsQ0FBQ1IsTUFBWixHQUFxQixDQUZoRCxHQUdaLEtBQUtHLEtBQUwsQ0FBV1csU0FIQztBQURoQixzQkFPRTtBQUFLLFFBQUEsU0FBUyxFQUFFMUMsR0FBRyxDQUFDVSxPQUFPLENBQUNULE1BQUQsRUFBUyxNQUFULENBQVI7QUFBbkIsc0JBQ0Usb0JBQUMsSUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUtnQixTQURaO0FBRUUsUUFBQSxRQUFRLEVBQUUsRUFGWjtBQUdFLFFBQUEsVUFBVSxFQUFFLEVBSGQ7QUFJRSxRQUFBLEtBQUssRUFBRTtBQUFFMEIsVUFBQUEsS0FBSyxFQUFFLE1BQVQ7QUFBaUJDLFVBQUFBLE9BQU8sRUFBRSxNQUExQjtBQUFrQ0MsVUFBQUEsUUFBUSxFQUFFO0FBQTVDLFNBSlQ7QUFLRSxRQUFBLFFBQVEsRUFBRSxLQUFLZixRQUFMLENBQWNnQixJQUFkLENBQW1CLElBQW5CLENBTFosQ0FNRTs7QUFORixTQU9NUixlQVBOLEdBU0dGLFdBQVcsQ0FBQ1csR0FBWixDQUFnQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFBQTs7QUFDMUMsWUFBTUMsU0FBUyxHQUFHRixJQUFJLENBQUNqQixLQUFMLElBQWMsRUFBaEM7QUFDQSxZQUFJYSxPQUFPLEdBQUcsT0FBZDs7QUFDQSxZQUFJTSxTQUFTLENBQUNDLFdBQWQsRUFBMkI7QUFDekIsVUFBQSxNQUFJLENBQUM1QixVQUFMLENBQWdCeUIsSUFBSSxDQUFDSSxJQUFyQixJQUE2QkYsU0FBUyxDQUFDQyxXQUF2QztBQUNEOztBQUNELFlBQUlGLEtBQUssR0FBR1QsV0FBUixJQUF1QixDQUFDLE1BQUksQ0FBQ2EsS0FBTCxDQUFXdkMsTUFBdkMsRUFBK0M7QUFDN0M4QixVQUFBQSxPQUFPLEdBQUcsTUFBVixDQUQ2QyxDQUU3QztBQUNEOztBQUNELFlBQUlVLFVBQVUsR0FBRyxDQUFBTixJQUFJLFNBQUosSUFBQUEsSUFBSSxXQUFKLDJCQUFBQSxJQUFJLENBQUVqQixLQUFOLDREQUFhdUIsVUFBYixLQUEyQixLQUE1Qzs7QUFDQSxZQUFJdkIsS0FBSyxxQkFBUW1CLFNBQVIsQ0FBVDs7QUFDQSxZQUFJSyxjQUFjLEdBQ2hCeEIsS0FBSyxDQUFDd0IsY0FBTixLQUF5QixJQUF6QixHQUFnQyxJQUFoQyxHQUF1QyxLQUR6QztBQUVBLGVBQU94QixLQUFLLENBQUN3QixjQUFiOztBQUNBLFlBQUksQ0FBQ1AsSUFBSSxDQUFDUSxJQUFOLElBQWNSLElBQUksQ0FBQ1EsSUFBTCxJQUFhLE9BQS9CLEVBQXdDO0FBQ3RDekIsVUFBQUEsS0FBSyxDQUFDdUIsVUFBTixHQUFtQixJQUFuQjtBQUNELFNBRkQsTUFFTztBQUNMLGlCQUFPdkIsS0FBSyxDQUFDdUIsVUFBYjtBQUNEOztBQUNELFlBQUlHLFdBQVcsR0FBRztBQUNoQkMsVUFBQUEsS0FBSyxFQUFFVixJQUFJLENBQUNVLEtBREk7QUFFaEJOLFVBQUFBLElBQUksRUFBRUosSUFBSSxDQUFDSSxJQUZLO0FBR2hCRSxVQUFBQSxVQUFVLEVBQUVBO0FBSEksU0FBbEI7O0FBS0EsWUFBSU4sSUFBSSxDQUFDVyxRQUFULEVBQW1CO0FBQ2pCRixVQUFBQSxXQUFXLG1DQUFRQSxXQUFSO0FBQXFCRSxZQUFBQSxRQUFRLEVBQUVYLElBQUksQ0FBQ1c7QUFBcEMsWUFBWDtBQUNBLGlCQUFPWCxJQUFJLENBQUNXLFFBQVo7QUFDRDs7QUFDRCxZQUFJWCxJQUFJLENBQUNZLFVBQVQsRUFBcUI7QUFDbkJILFVBQUFBLFdBQVcsbUNBQVFBLFdBQVI7QUFBcUJHLFlBQUFBLFVBQVUsRUFBRVosSUFBSSxDQUFDWTtBQUF0QyxZQUFYO0FBQ0EsaUJBQU9aLElBQUksQ0FBQ1ksVUFBWjtBQUNEOztBQUNELFlBQUlDLFdBQWdCLEdBQ2xCYixJQUFJLENBQUNRLElBQUwsSUFBYSxRQUFiLCtCQUNVUixJQUFJLENBQUNVLEtBRGYsZ0NBRVVWLElBQUksQ0FBQ1UsS0FGZixDQURGOztBQUlBLFlBQUlWLElBQUksQ0FBQ1EsSUFBTCxJQUFhLGFBQWpCLEVBQWdDO0FBQzlCSyxVQUFBQSxXQUFXLEdBQUcsQ0FBQyxNQUFELEVBQVMsTUFBVCxDQUFkO0FBQ0Q7O0FBQ0QsNEJBQ0Usb0JBQUMsR0FBRDtBQUNFLFVBQUEsRUFBRSxFQUFFO0FBQUVDLFlBQUFBLElBQUksRUFBRTtBQUFSLFdBRE47QUFFRSxVQUFBLEVBQUUsRUFBRTtBQUFFQSxZQUFBQSxJQUFJLEVBQUU7QUFBUixXQUZOO0FBR0UsVUFBQSxFQUFFLEVBQUU7QUFBRUEsWUFBQUEsSUFBSSxFQUFFO0FBQVIsV0FITjtBQUlFLFVBQUEsR0FBRyxFQUFFYixLQUpQO0FBS0UsVUFBQSxLQUFLLEVBQUU7QUFBRWMsWUFBQUEsWUFBWSxFQUFFLENBQWhCO0FBQW1CbkIsWUFBQUEsT0FBTyxFQUFFQTtBQUE1QjtBQUxULHdCQU9FLG9CQUFDLElBQUQsQ0FBTSxJQUFOLEVBQWVhLFdBQWYsRUFDRzlDLE9BQU8sQ0FBQ3FDLElBQUksQ0FBQ1EsSUFBTjtBQUNOSyxVQUFBQSxXQUFXLEVBQUVBLFdBRFA7QUFFTkcsVUFBQUEsS0FBSyxFQUFFO0FBQUVyQixZQUFBQSxLQUFLLEVBQUU7QUFBVDtBQUZELFdBR0haLEtBSEc7QUFJTmtDLFVBQUFBLFFBQVEsRUFBRVY7QUFKSixXQURWLENBUEYsQ0FERjtBQWtCRCxPQTFEQSxDQVRILGVBb0VFLG9CQUFDLEdBQUQ7QUFDRSxRQUFBLEVBQUUsRUFBRTtBQUFFTyxVQUFBQSxJQUFJLEVBQUU7QUFBUixTQUROO0FBRUUsUUFBQSxFQUFFLEVBQUU7QUFBRUEsVUFBQUEsSUFBSSxFQUFFO0FBQVIsU0FGTjtBQUdFLFFBQUEsRUFBRSxFQUFFO0FBQUVBLFVBQUFBLElBQUksRUFBRXpCLGtCQUFrQixJQUFJLE9BQXRCLEdBQWdDLEVBQWhDLEdBQXFDO0FBQTdDLFNBSE47QUFJRSxRQUFBLEtBQUssRUFBRTtBQUFFMEIsVUFBQUEsWUFBWSxFQUFFO0FBQWhCLFNBSlQ7QUFLRSxRQUFBLE1BQU0sRUFDSixDQUFDLEtBQUtWLEtBQUwsQ0FBV3ZDLE1BQVgsSUFBcUJzQixXQUFXLENBQUNSLE1BQVosR0FBcUIsQ0FBM0MsS0FDQVEsV0FBVyxDQUFDUixNQUFaLEdBQXFCLENBRHJCLEdBRUlXLE9BRkosR0FHSTtBQVRSLHNCQVlFO0FBQ0UsUUFBQSxTQUFTLEVBQUV2QyxHQUFHLENBQUNVLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLGdCQUFULENBQVIsc0JBQ1hTLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLHFCQUFULENBREksRUFFVm1DLFdBQVcsQ0FBQ1IsTUFBWixHQUFxQixDQUZYLEVBRGhCO0FBS0UsUUFBQSxLQUFLLEVBQUU7QUFBRXNDLFVBQUFBLFNBQVMsRUFBRTtBQUFiO0FBTFQsc0JBT0U7QUFDRSxRQUFBLFNBQVMsRUFBRWxFLEdBQUcscUJBQ1hVLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLGdCQUFULENBREksRUFFVixLQUFLOEIsS0FBTCxDQUFXb0MsWUFBWCxJQUEyQixJQUZqQjtBQURoQixzQkFNRSxvQkFBQyxNQUFEO0FBQ0UsUUFBQSxJQUFJLEVBQUUsU0FEUixDQUVFO0FBRkY7QUFHRSxRQUFBLElBQUksZUFBRSxvQkFBQyxjQUFELE9BSFI7QUFJRSxRQUFBLEtBQUssRUFBRTtBQUFFQyxVQUFBQSxVQUFVLEVBQUU7QUFBZCxTQUpUO0FBS0UsUUFBQSxRQUFRLEVBQUM7QUFMWCx3QkFORixFQWVHaEMsV0FBVyxDQUFDUixNQUFaLEdBQXFCLENBQXJCLGlCQUNDLG9CQUFDLE1BQUQsQ0FDRTtBQURGO0FBRUUsUUFBQSxPQUFPLEVBQUUsS0FBS3lDLFdBQUwsQ0FBaUJ2QixJQUFqQixDQUFzQixJQUF0QixDQUZYO0FBR0UsUUFBQSxJQUFJLGVBQUUsb0JBQUMsY0FBRDtBQUhSLHdCQWhCSixDQVBGLEVBZ0NHVixXQUFXLENBQUNSLE1BQVosR0FBcUIsQ0FBckIsaUJBQ0M7QUFDRSxRQUFBLFNBQVMsRUFBRWxCLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLGNBQVQsQ0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQVFhLE1BQVIsR0FBbUIsTUFBSSxDQUFDdUMsS0FBeEIsQ0FBUXZDLE1BQVI7O0FBQ0EsVUFBQSxNQUFJLENBQUN3RCxRQUFMLENBQWM7QUFDWnhELFlBQUFBLE1BQU0sRUFBRSxDQUFDQTtBQURHLFdBQWQ7QUFHRDtBQVBILFNBU0csS0FBS3VDLEtBQUwsQ0FBV3ZDLE1BQVgsR0FBb0IsSUFBcEIsR0FBMkIsSUFUOUIsRUFVRyxLQUFLdUMsS0FBTCxDQUFXdkMsTUFBWCxnQkFBb0Isb0JBQUMsVUFBRCxPQUFwQixnQkFBcUMsb0JBQUMsWUFBRCxPQVZ4QyxDQWpDSixDQVpGLENBcEVGLENBREYsQ0FQRixDQURGLENBREY7QUErSUQ7Ozs7RUFyTndCakIsYTs7QUF1TjNCLGVBQWVlLFlBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgUmVsb2FkT3V0bGluZWQsXHJcbiAgU2VhcmNoT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuXHJcbmludGVyZmFjZSBTZWFyY2hJdGVtUHJvcHMge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGxhYmVsQ29sPzogYW55O1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgd3JhcHBlckNvbD86IGFueTtcclxuICBwcm9wcz86IGFueTtcclxufVxyXG5pbnRlcmZhY2UgU2VhcmNoUHJvcHMge1xyXG4gIHNlYXJjaEZvcm1zOiBBcnJheTxTZWFyY2hJdGVtUHJvcHM+OyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIHRvb2xCdXR0b25Qb3NpdGlvbj86IHN0cmluZztcclxuICBvblNlYXJjaD86IGFueTtcclxuICBvblJlc2V0PzogYW55O1xyXG4gIHNlYXJjaEZvcm1Qcm9wcz86IG9iamVjdDtcclxuICBidXR0b25SZXZlcnM/OiBib29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxufVxyXG5cclxuY2xhc3MgSGVhZGVyU2VhcmNoIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxTZWFyY2hQcm9wcywgYW55PiB7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBkYXRlRm9ybWF0ID0ge30gYXMgYW55O1xyXG4gIHN0YXRlID0geyBleHBhbmQ6IGZhbHNlIH07XHJcbiAgc2V0U2VhcmNoUGFyYW1zKHBhcmFtcywgY2FsbEJhY2spIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHBhcmFtcyk7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuZm9ybWF0VmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIGZvcm1hdFZhbHVlKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVGb3JtYXQpKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVGb3JtYXQpIHtcclxuICAgICAgICBsZXQgb2xkZGF0YSA9IGZyb21WYWx1ZVtrZXldO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9sZGRhdGEpKSB7XHJcbiAgICAgICAgICBpZiAob2xkZGF0YS5sZW5ndGggPiAwICYmIG9sZGRhdGFbMF0gJiYgb2xkZGF0YVsxXSkge1xyXG4gICAgICAgICAgICBmcm9tVmFsdWVba2V5XSA9IFtcclxuICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVswXSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVsxXSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG9sZGRhdGEpIHtcclxuICAgICAgICAgIGZyb21WYWx1ZVtrZXldID0gbW9tZW50KG9sZGRhdGEpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py52YWxpZGF0ZUZpZWxkcygpLnRoZW4oKCk9PntcclxuICAgICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgIFxyXG4gIH1cclxuICByZXNldEZpZWxkcygpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMub25SZXNldCkge1xyXG4gICAgICB0aGlzLnByb3BzLm9uUmVzZXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzZWFyY2hGb3JtcyA9IFtdLFxyXG4gICAgICB0b29sQnV0dG9uUG9zaXRpb24sXHJcbiAgICAgIG9uU2VhcmNoLFxyXG4gICAgICBvblJlc2V0LFxyXG4gICAgICBzZWFyY2hGb3JtUHJvcHMgPSB7fSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGxldCBjb2xTcGFuID0gMDtcclxuICAgIGNvbnN0IGhlYWRlckNvdW50ID0gdG9vbEJ1dHRvblBvc2l0aW9uID09IFwicmlnaHRcIiA/IDEgOiAyO1xyXG4gICAgY29uc3QgaGVhZGVyUm91dCA9IHNlYXJjaEZvcm1zLmxlbmd0aCAlIDQ7XHJcbiAgICBpZiAoaGVhZGVyUm91dCA9PSAwKSB7XHJcbiAgICAgIGNvbFNwYW4gPSAxODtcclxuICAgIH0gZWxzZSBpZiAoaGVhZGVyUm91dCA9PSAxKSB7XHJcbiAgICAgIGNvbFNwYW4gPSAxMjtcclxuICAgIH0gZWxzZSBpZiAoaGVhZGVyUm91dCA9PSAyKSB7XHJcbiAgICAgIGNvbFNwYW4gPSA2O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFJvdyBndXR0ZXI9ezI0fSB3cmFwPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJoZWFkZXJcIiksXHJcbiAgICAgICAgICAgIHsgW2dldExlc3Moc3R5bGVzLCBcImhlYWRlci1wYWRkaW5nXCIpXTogc2VhcmNoRm9ybXMubGVuZ3RoID4gMyB9LFxyXG4gICAgICAgICAgICB0aGlzLnByb3BzLmNsYXNzTmFtZVxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImZvcm1cIikpfT5cclxuICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuc2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGRpc3BsYXk6IFwiZmxleFwiLCBmbGV4V3JhcDogXCJ3cmFwXCIgfX1cclxuICAgICAgICAgICAgICBvbkZpbmlzaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIC8vIGxhYmVsQWxpZ249eydsZWZ0J31cclxuICAgICAgICAgICAgICB7Li4uc2VhcmNoRm9ybVByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtUHJvcHMgPSBpdGVtLnByb3BzIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3BsYXkgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICAgICAgICAgICAgICAgICAgLy9yZXR1cm5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBhbGxvd0NoYXJzID0gaXRlbT8ucHJvcHM/LmFsbG93Q2hhcnMgfHwgZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB7IC4uLml0ZW1Qcm9wcyB9O1xyXG4gICAgICAgICAgICAgICAgbGV0IHNlYXJjaERpc2FibGVkID1cclxuICAgICAgICAgICAgICAgICAgcHJvcHMuc2VhcmNoRGlzYWJsZWQgPT09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvcHMuc2VhcmNoRGlzYWJsZWQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgIHByb3BzLmFsbG93Q2hhcnMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgZGVsZXRlIHByb3BzLmFsbG93Q2hhcnM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgZGVmYXVsdEl0ZW0gPSB7XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGFsbG93Q2hhcnM6IGFsbG93Q2hhcnMsXHJcbiAgICAgICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmxhYmVsQ29sKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRJdGVtID0geyAuLi5kZWZhdWx0SXRlbSwgbGFiZWxDb2w6IGl0ZW0ubGFiZWxDb2wgfTtcclxuICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0ubGFiZWxDb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS53cmFwcGVyQ29sKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRJdGVtID0geyAuLi5kZWZhdWx0SXRlbSwgd3JhcHBlckNvbDogaXRlbS53cmFwcGVyQ29sIH07XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLndyYXBwZXJDb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgcGxhY2Vob2xkZXI6IGFueSA9XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9PSBcIlNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPyBg6K+36YCJ5oupJHtpdGVtLmxhYmVsfWBcclxuICAgICAgICAgICAgICAgICAgICA6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YDtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT0gXCJSYW5nZVBpY2tlclwiKSB7XHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gW1wi5byA5aeL5pe26Ze0XCIsIFwi57uT5p2f5pe26Ze0XCJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgPENvbFxyXG4gICAgICAgICAgICAgICAgICAgIG1kPXt7IHNwYW46IDEyIH19XHJcbiAgICAgICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgICAgICBsZz17eyBzcGFuOiA2IH19XHJcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAsIGRpc3BsYXk6IGRpc3BsYXkgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW0gey4uLmRlZmF1bHRJdGVtfT5cclxuICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHNlYXJjaERpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA8Q29sXHJcbiAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgIGxnPXt7IHNwYW46IHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgPyAxMiA6IDYgfX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdSaWdodDogMCB9fVxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0PXtcclxuICAgICAgICAgICAgICAgICAgKHRoaXMuc3RhdGUuZXhwYW5kIHx8IHNlYXJjaEZvcm1zLmxlbmd0aCA8IDQpICYmXHJcbiAgICAgICAgICAgICAgICAgIHNlYXJjaEZvcm1zLmxlbmd0aCA+IDFcclxuICAgICAgICAgICAgICAgICAgICA/IGNvbFNwYW5cclxuICAgICAgICAgICAgICAgICAgICA6IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInNlYXJjaC1idXR0b25zXCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcInNlYXJjaC1idXR0b25zLWZsZXhcIildOlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRm9ybXMubGVuZ3RoID4gMSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImJ1dHRvbi1yZXZlcnNlXCIpXTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5idXR0b25SZXZlcnMgPT0gdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gb25DbGljaz17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgaHRtbFR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5sZW5ndGggPiAxICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFJlbG9hZE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmRfc3R5bGVcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZXhwYW5kIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgPyBcIuaUtui1t1wiIDogXCLlsZXlvIBcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9Sb3c+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBIZWFkZXJTZWFyY2g7XHJcbiJdfQ==
|
|
306
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvSGVhZGVyU2VhcmNoL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiQnV0dG9uIiwiY2xzIiwic3R5bGVzIiwiQ29sIiwiUm93IiwibW9tZW50IiwiaXNFbXB0eU9iaiIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJSZWxvYWRPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJIZWFkZXJTZWFyY2giLCJjcmVhdGVSZWYiLCJleHBhbmQiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImZyb21WYWx1ZSIsImZvcm1hdFZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJkYXRlRm9ybWF0Iiwia2V5Iiwib2xkZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvcm1hdCIsIm9uU2VhcmNoIiwicHJvcHMiLCJyZXNldEZpZWxkcyIsIm9uUmVzZXQiLCJzZWFyY2hGb3JtcyIsInRvb2xCdXR0b25Qb3NpdGlvbiIsInNlYXJjaEZvcm1Qcm9wcyIsImNvbFNwYW4iLCJoZWFkZXJDb3VudCIsImhlYWRlclJvdXQiLCJjbGFzc05hbWUiLCJ3aWR0aCIsImRpc3BsYXkiLCJmbGV4V3JhcCIsImJpbmQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsIm5hbWUiLCJzdGF0ZSIsImFsbG93Q2hhcnMiLCJzZWFyY2hEaXNhYmxlZCIsInR5cGUiLCJkZWZhdWx0SXRlbSIsImxhYmVsIiwiY29tcG9uZW50TmFtZSIsImxhYmVsQ29sIiwid3JhcHBlckNvbCIsInBsYWNlaG9sZGVyIiwic3BhbiIsInBhZGRpbmdSaWdodCIsInN0eWxlIiwiZGlzYWJsZWQiLCJtYXJnaW5Ub3AiLCJidXR0b25SZXZlcnMiLCJtYXJnaW5MZWZ0Iiwi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UixHQUFtQixNQUFJLENBQUNxQyxLQUF4QixDQUFRckMsTUFBUjs7QUFDQSxVQUFBLE1BQUksQ0FBQ3VELFFBQUwsQ0FBYztBQUNadkQsWUFBQUEsTUFBTSxFQUFFLENBQUNBO0FBREcsV0FBZDtBQUdEO0FBUEgsU0FTRyxLQUFLcUMsS0FBTCxDQUFXckMsTUFBWCxHQUFvQixJQUFwQixHQUEyQixJQVQ5QixFQVVHLEtBQUtxQyxLQUFMLENBQVdyQyxNQUFYLGdCQUFvQixvQkFBQyxVQUFELE9BQXBCLGdCQUFxQyxvQkFBQyxZQUFELE9BVnhDLENBakNKLENBWkYsQ0FyRUYsQ0FERixDQVBGLENBREYsQ0FERjtBQWdKRDs7OztFQW5Od0JqQixhOztBQXFOM0IsZUFBZWUsWUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XHJcbmltcG9ydCB7IGlzRW1wdHlPYmogfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHtcclxuICBEb3duT3V0bGluZWQsXHJcbiAgVXBPdXRsaW5lZCxcclxuICBSZWxvYWRPdXRsaW5lZCxcclxuICBTZWFyY2hPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcywgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5cclxuaW50ZXJmYWNlIFNlYXJjaEl0ZW1Qcm9wcyB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGFiZWxDb2w/OiBhbnk7XHJcbiAgdHlwZT86IHN0cmluZztcclxuICB3cmFwcGVyQ29sPzogYW55O1xyXG4gIHByb3BzPzogYW55O1xyXG59XHJcbmludGVyZmFjZSBTZWFyY2hQcm9wcyB7XHJcbiAgc2VhcmNoRm9ybXM6IEFycmF5PFNlYXJjaEl0ZW1Qcm9wcz47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgdG9vbEJ1dHRvblBvc2l0aW9uPzogc3RyaW5nO1xyXG4gIG9uU2VhcmNoPzogYW55O1xyXG4gIG9uUmVzZXQ/OiBhbnk7XHJcbiAgc2VhcmNoRm9ybVByb3BzPzogb2JqZWN0O1xyXG4gIGJ1dHRvblJldmVycz86IGJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG59XHJcblxyXG5jbGFzcyBIZWFkZXJTZWFyY2ggZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFNlYXJjaFByb3BzLCBhbnk+IHtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgc3RhdGUgPSB7IGV4cGFuZDogZmFsc2UgfTtcclxuICBzZXRTZWFyY2hQYXJhbXMocGFyYW1zLCBjYWxsQmFjaykge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUocGFyYW1zKTtcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcbiAgZm9ybWF0VmFsdWUoKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgaWYgKCFpc0VtcHR5T2JqKHRoaXMuZGF0ZUZvcm1hdCkpIHtcclxuICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuZGF0ZUZvcm1hdCkge1xyXG4gICAgICAgIGxldCBvbGRkYXRhID0gZnJvbVZhbHVlW2tleV07XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2xkZGF0YSkpIHtcclxuICAgICAgICAgIGlmIChvbGRkYXRhLmxlbmd0aCA+IDAgJiYgb2xkZGF0YVswXSAmJiBvbGRkYXRhWzFdKSB7XHJcbiAgICAgICAgICAgIGZyb21WYWx1ZVtrZXldID0gW1xyXG4gICAgICAgICAgICAgIG1vbWVudChvbGRkYXRhWzBdKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgIG1vbWVudChvbGRkYXRhWzFdKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAob2xkZGF0YSkge1xyXG4gICAgICAgICAgZnJvbVZhbHVlW2tleV0gPSBtb21lbnQob2xkZGF0YSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgY29uc3QgeyBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuZm9ybWF0VmFsdWUoKTtcclxuICAgIGlmIChvblNlYXJjaCkge1xyXG4gICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgcmVzZXRTZWFyY2goKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5vblJlc2V0KSB7XHJcbiAgICAgIHRoaXMucHJvcHMub25SZXNldCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHNlYXJjaEZvcm1zID0gW10sXHJcbiAgICAgIHRvb2xCdXR0b25Qb3NpdGlvbixcclxuICAgICAgb25TZWFyY2gsXHJcbiAgICAgIG9uUmVzZXQsXHJcbiAgICAgIHNlYXJjaEZvcm1Qcm9wcyA9IHt9LFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgbGV0IGNvbFNwYW4gPSAwO1xyXG4gICAgY29uc3QgaGVhZGVyQ291bnQgPSB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMSA6IDI7XHJcbiAgICBjb25zdCBoZWFkZXJSb3V0ID0gc2VhcmNoRm9ybXMubGVuZ3RoICUgNDtcclxuICAgIGlmIChoZWFkZXJSb3V0ID09IDApIHtcclxuICAgICAgY29sU3BhbiA9IDE4O1xyXG4gICAgfSBlbHNlIGlmIChoZWFkZXJSb3V0ID09IDEpIHtcclxuICAgICAgY29sU3BhbiA9IDEyO1xyXG4gICAgfSBlbHNlIGlmIChoZWFkZXJSb3V0ID09IDIpIHtcclxuICAgICAgY29sU3BhbiA9IDY7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Um93IGd1dHRlcj17MjR9IHdyYXA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKSxcclxuICAgICAgICAgICAgeyBbZ2V0TGVzcyhzdHlsZXMsIFwiaGVhZGVyLXBhZGRpbmdcIildOiBzZWFyY2hGb3Jtcy5sZW5ndGggPiAzIH0sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY2xhc3NOYW1lXHJcbiAgICAgICAgICApfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKSl9PlxyXG4gICAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgIHdyYXBwZXJDb2w9e3t9fVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhXcmFwOiBcIndyYXBcIiB9fVxyXG4gICAgICAgICAgICAgIG9uRmluaXNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgLy8gbGFiZWxBbGlnbj17J2xlZnQnfVxyXG4gICAgICAgICAgICAgIHsuLi5zZWFyY2hGb3JtUHJvcHN9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1Qcm9wcyA9IGl0ZW0ucHJvcHMgfHwge307XHJcbiAgICAgICAgICAgICAgICBsZXQgZGlzcGxheSA9IFwiYmxvY2tcIjtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtUHJvcHMudmFsdWVGb3JtYXQpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0W2l0ZW0ubmFtZV0gPSBpdGVtUHJvcHMudmFsdWVGb3JtYXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiBoZWFkZXJDb3VudCAmJiAhdGhpcy5zdGF0ZS5leHBhbmQpIHtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgICAgICAgICAgICAgICAvL3JldHVyblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IGFsbG93Q2hhcnMgPSBpdGVtPy5wcm9wcz8uYWxsb3dDaGFycyB8fCBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGxldCBwcm9wcyA9IHsgLi4uaXRlbVByb3BzIH07XHJcbiAgICAgICAgICAgICAgICBsZXQgc2VhcmNoRGlzYWJsZWQgPVxyXG4gICAgICAgICAgICAgICAgICBwcm9wcy5zZWFyY2hEaXNhYmxlZCA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy5zZWFyY2hEaXNhYmxlZDtcclxuICAgICAgICAgICAgICAgIGlmICghaXRlbS50eXBlIHx8IGl0ZW0udHlwZSA9PSBcIklucHV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgcHJvcHMuYWxsb3dDaGFycyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBkZWxldGUgcHJvcHMuYWxsb3dDaGFycztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBkZWZhdWx0SXRlbSA9IHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGl0ZW0ubGFiZWwsXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgYWxsb3dDaGFyczogYWxsb3dDaGFycyxcclxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50TmFtZTogaXRlbS50eXBlID8gaXRlbS50eXBlIDogXCJJbnB1dFwiLFxyXG4gICAgICAgICAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5sYWJlbENvbCkge1xyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0SXRlbSA9IHsgLi4uZGVmYXVsdEl0ZW0sIGxhYmVsQ29sOiBpdGVtLmxhYmVsQ29sIH07XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmxhYmVsQ29sO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0ud3JhcHBlckNvbCkge1xyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0SXRlbSA9IHsgLi4uZGVmYXVsdEl0ZW0sIHdyYXBwZXJDb2w6IGl0ZW0ud3JhcHBlckNvbCB9O1xyXG4gICAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS53cmFwcGVyQ29sO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyOiBhbnkgPVxyXG4gICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT0gXCJTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgID8gYOivt+mAieaLqSR7aXRlbS5sYWJlbH1gXHJcbiAgICAgICAgICAgICAgICAgICAgOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlID09IFwiUmFuZ2VQaWNrZXJcIikge1xyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlciA9IFtcIuW8gOWni+aXtumXtFwiLCBcIue7k+adn+aXtumXtFwiXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgIDxDb2xcclxuICAgICAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIHNtPXt7IHNwYW46IDI0IH19XHJcbiAgICAgICAgICAgICAgICAgICAgbGc9e3sgc3BhbjogNiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgcGFkZGluZ1JpZ2h0OiAwLCBkaXNwbGF5OiBkaXNwbGF5IH19XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtIHsuLi5kZWZhdWx0SXRlbX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBzZWFyY2hEaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPENvbFxyXG4gICAgICAgICAgICAgICAgbWQ9e3sgc3BhbjogMTIgfX1cclxuICAgICAgICAgICAgICAgIHNtPXt7IHNwYW46IDI0IH19XHJcbiAgICAgICAgICAgICAgICBsZz17eyBzcGFuOiB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMTIgOiA2IH19XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgICAgIG9mZnNldD17XHJcbiAgICAgICAgICAgICAgICAgICh0aGlzLnN0YXRlLmV4cGFuZCB8fCBzZWFyY2hGb3Jtcy5sZW5ndGggPCA0KSAmJlxyXG4gICAgICAgICAgICAgICAgICBzZWFyY2hGb3Jtcy5sZW5ndGggPiAxXHJcbiAgICAgICAgICAgICAgICAgICAgPyBjb2xTcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgOiAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9ucy1mbGV4XCIpXTpcclxuICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZvcm1zLmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKHtcclxuICAgICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJidXR0b24tcmV2ZXJzZVwiKV06XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYnV0dG9uUmV2ZXJzID09IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICAgIGljb249ezxTZWFyY2hPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIGh0bWxUeXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxSZWxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAg6YeN572uXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZXhwYW5kX3N0eWxlXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgPyA8VXBPdXRsaW5lZCAvPiA6IDxEb3duT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvUm93PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgSGVhZGVyU2VhcmNoO1xyXG4iXX0=
|