nsc-react-component 2.0.10 → 2.0.13

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.
@@ -95,10 +95,15 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
95
95
  _props$deleteData = props.deleteData,
96
96
  deleteData = _props$deleteData === void 0 ? [] : _props$deleteData,
97
97
  _props$valueField = props.valueField,
98
- valueField = _props$valueField === void 0 ? "value" : _props$valueField;
98
+ valueField = _props$valueField === void 0 ? "dictKey" : _props$valueField,
99
+ _props$viewtype = props.viewtype,
100
+ viewtype = _props$viewtype === void 0 ? "system" : _props$viewtype;
99
101
 
100
102
  var _config = config(),
101
- viewUrl = _config.viewUrl;
103
+ viewUrl = _config.viewUrl,
104
+ viewBizUrl = _config.viewBizUrl;
105
+
106
+ var requestViewUrl = viewtype == "system" ? viewUrl : viewBizUrl;
102
107
 
103
108
  if (!children) {
104
109
  var url = store.url,
@@ -182,7 +187,7 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
182
187
 
183
188
  storeProps = _objectSpread(_objectSpread({}, {
184
189
  autoLoad: true,
185
- url: url || viewUrl + viewname,
190
+ url: url || requestViewUrl + viewname,
186
191
  //读字典,url固定,viewname
187
192
  cached: isCached,
188
193
  cacheKey: isCacheKey
@@ -200,9 +205,9 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
200
205
  value: function convertData(data) {
201
206
  var _this$props = this.props,
202
207
  _this$props$labelFiel = _this$props.labelField,
203
- labelField = _this$props$labelFiel === void 0 ? "label" : _this$props$labelFiel,
208
+ labelField = _this$props$labelFiel === void 0 ? "dictValue" : _this$props$labelFiel,
204
209
  _this$props$valueFiel = _this$props.valueField,
205
- valueField = _this$props$valueFiel === void 0 ? "value" : _this$props$valueFiel,
210
+ valueField = _this$props$valueFiel === void 0 ? "dictKey" : _this$props$valueFiel,
206
211
  _this$props$store = _this$props.store,
207
212
  store = _this$props$store === void 0 ? {} : _this$props$store;
208
213
  var dataSoure = [];
@@ -330,4 +335,4 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
330
335
  }(PureComponent);
331
336
 
332
337
  export default NSCCheckboxGroup;
333
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoZWNrYm94L0NoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlN0b3JlIiwidXRpbHMiLCJvbWl0IiwiY29uZmlnIiwiTlNDQ2hlY2tib3hHcm91cCIsInByb3BzIiwiZGF0YVNvdXJjZSIsImRhdGFTdG9yZSIsInZhbHVlIiwiX3RoaXMiLCJzdG9yZSIsIm9wdGlvbnMiLCJkYXRhIiwiY2hpbGRyZW4iLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInZhbHVlRmllbGQiLCJ2aWV3VXJsIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJzdG9yZXMiLCJFcnJvciIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwidmFsdWVGaWVsZHMiLCJzcGxpdCIsIm1hcCIsIml0ZW0iLCJpIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsImNvbnZlcnREYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwibGFiZWxGaWVsZCIsImRhdGFTb3VyZSIsIm9iaiIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZGlzYWJsZWQiLCJwdXNoIiwiY2hlY2tlZFZhbHVlIiwib25DaGFuZ2UiLCJzdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJwYXJhbXMiLCJDaGVja0JveFByb3BzIiwiYmluZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7O0lBWU1DLGdCOzs7OztBQU9KLDRCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw2REFOWDtBQUNOQyxNQUFBQSxVQUFVLEVBQUUsRUFETjtBQUVOQyxNQUFBQSxTQUFTLEVBQUUsRUFGTDtBQUdOQyxNQUFBQSxLQUFLLEVBQUU7QUFIRCxLQU1XOztBQUFBLDZEQURYLEVBQ1c7O0FBRWpCLFFBQU1DLEtBQUssaUNBQVg7O0FBQ0EsdUJBUUlKLEtBUkosQ0FDRUssS0FERjtBQUFBLFFBQ0VBLEtBREYsNkJBQ1UsRUFEVjtBQUFBLFFBRUVDLE9BRkYsR0FRSU4sS0FSSixDQUVFTSxPQUZGO0FBQUEsUUFHRUMsSUFIRixHQVFJUCxLQVJKLENBR0VPLElBSEY7QUFBQSxRQUlFQyxRQUpGLEdBUUlSLEtBUkosQ0FJRVEsUUFKRjtBQUFBLHlCQVFJUixLQVJKLENBS0VTLE9BTEY7QUFBQSxRQUtFQSxPQUxGLCtCQUtZLEVBTFo7QUFBQSw0QkFRSVQsS0FSSixDQU1FVSxVQU5GO0FBQUEsUUFNRUEsVUFORixrQ0FNZSxFQU5mO0FBQUEsNEJBUUlWLEtBUkosQ0FPRVcsVUFQRjtBQUFBLFFBT0VBLFVBUEYsa0NBT2UsT0FQZjs7QUFTQSxrQkFBa0JiLE1BQU0sRUFBeEI7QUFBQSxRQUFNYyxPQUFOLFdBQU1BLE9BQU47O0FBQ0EsUUFBSSxDQUFDSixRQUFMLEVBQWU7QUFDYixVQUNFSyxHQURGLEdBUUlSLEtBUkosQ0FDRVEsR0FERjtBQUFBLDZCQVFJUixLQVJKLENBRUVTLFNBRkY7QUFBQSxVQUVhQyxhQUZiLGlDQUU2QixFQUY3QjtBQUFBLFVBR0VDLFFBSEYsR0FRSVgsS0FSSixDQUdFVyxRQUhGO0FBQUEsVUFJRUMsTUFKRixHQVFJWixLQVJKLENBSUVZLE1BSkY7QUFBQSxVQUtFQyxRQUxGLEdBUUliLEtBUkosQ0FLRWEsUUFMRjtBQUFBLFVBT0tDLE1BUEwsNEJBUUlkLEtBUko7O0FBU0EsVUFBSSxDQUFDUSxHQUFELElBQVEsQ0FBQ1AsT0FBVCxJQUFvQixDQUFDQyxJQUFyQixJQUE2QixDQUFDUyxRQUFsQyxFQUNFLE1BQU0sSUFBSUksS0FBSixDQUFVLGlDQUFWLENBQU47O0FBQ0YsVUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ2QsSUFBRCxFQUFVO0FBQzNCLFlBQUllLE9BQU8sc0JBQU9mLElBQVAsQ0FBWDs7QUFDQSxZQUFJRSxPQUFPLENBQUNjLE1BQVIsR0FBaUIsQ0FBckIsRUFBd0I7QUFDdEJELFVBQUFBLE9BQU8sZ0NBQU9iLE9BQVAsc0JBQW1CYSxPQUFuQixFQUFQO0FBQ0Q7O0FBQ0QsWUFBSVosVUFBVSxDQUFDYSxNQUFYLEdBQW9CLENBQXhCLEVBQTJCO0FBQ3pCLGNBQU1DLFdBQWdCLEdBQUdiLFVBQVUsQ0FBQ2MsS0FBWCxDQUFpQixHQUFqQixDQUF6QjtBQUNBSCxVQUFBQSxPQUFPLENBQUNJLEdBQVIsQ0FBWSxVQUFDQyxJQUFELEVBQU9DLENBQVAsRUFBYTtBQUN2QixnQkFBSSxRQUFPRCxJQUFQLE1BQWdCLFFBQXBCLEVBQThCO0FBQzVCLGtCQUFJeEIsS0FBSyxHQUFHLEVBQVo7QUFDQXFCLGNBQUFBLFdBQVcsQ0FBQ0UsR0FBWixDQUFnQixVQUFDRyxDQUFELEVBQUlDLEtBQUosRUFBYztBQUM1QjNCLGdCQUFBQSxLQUFLLEdBQUcyQixLQUFLLElBQUksQ0FBVCxHQUFhM0IsS0FBSyxHQUFHd0IsSUFBSSxDQUFDRSxDQUFELENBQXpCLEdBQStCMUIsS0FBSyxHQUFHLEdBQVIsR0FBY3dCLElBQUksQ0FBQ0UsQ0FBRCxDQUF6RDtBQUNELGVBRkQ7O0FBR0Esa0JBQUluQixVQUFVLENBQUNxQixPQUFYLENBQW1CNUIsS0FBbkIsSUFBNEIsQ0FBQyxDQUFqQyxFQUFvQztBQUNsQ21CLGdCQUFBQSxPQUFPLENBQUNVLE1BQVIsQ0FBZUosQ0FBZixFQUFrQixDQUFsQjtBQUNEO0FBQ0YsYUFSRCxNQVFPLElBQUksT0FBT0QsSUFBUCxLQUFnQixRQUFwQixFQUE4QjtBQUNuQyxrQkFBSWpCLFVBQVUsQ0FBQ3FCLE9BQVgsQ0FBbUJKLElBQW5CLElBQTJCLENBQUMsQ0FBaEMsRUFBbUM7QUFDakNMLGdCQUFBQSxPQUFPLENBQUNVLE1BQVIsQ0FBZUosQ0FBZixFQUFrQixDQUFsQjtBQUNEO0FBQ0Y7QUFDRixXQWREO0FBZUQ7O0FBQ0QsZUFBT04sT0FBUDtBQUNELE9BeEJEOztBQXlCQSxVQUFJVyxVQUFVO0FBQ1pDLFFBQUFBLEtBQUssRUFBRSxPQURLO0FBRVpDLFFBQUFBLFNBQVMsZ0NBRkc7QUFHWnJCLFFBQUFBLFNBQVMsRUFBRTtBQUNUc0IsVUFBQUEsWUFBWSxFQUFFLHNCQUFVL0IsS0FBVixFQUFpQkMsT0FBakIsRUFBMEI7QUFDdENWLFlBQUFBLEtBQUssQ0FBQ3lDLFFBQU4sQ0FBZXRCLGFBQWEsQ0FBQ3FCLFlBQTdCLEVBQTJDaEMsS0FBM0MsRUFBa0QsQ0FBQ0MsS0FBRCxFQUFRQyxPQUFSLENBQWxEO0FBQ0QsV0FIUTtBQUlUZ0MsVUFBQUEsSUFBSSxFQUFFLGNBQVUvQixJQUFWLEVBQWdCZ0MsU0FBaEIsRUFBMkJsQyxLQUEzQixFQUFrQztBQUN0QyxnQkFBSUosVUFBVSxHQUFHRyxLQUFLLENBQUNvQyxXQUFOLENBQWtCbkIsVUFBVSxDQUFDZCxJQUFELENBQTVCLENBQWpCOztBQUNBSCxZQUFBQSxLQUFLLENBQUNxQyxRQUFOLENBQWU7QUFBRXhDLGNBQUFBLFVBQVUsRUFBRUE7QUFBZCxhQUFmOztBQUNBTCxZQUFBQSxLQUFLLENBQUN5QyxRQUFOLENBQWV0QixhQUFhLENBQUN1QixJQUE3QixFQUFtQ2xDLEtBQW5DLEVBQTBDLENBQUNHLElBQUQsRUFBT2dDLFNBQVAsRUFBa0JsQyxLQUFsQixDQUExQztBQUNELFdBUlE7QUFTVHFDLFVBQUFBLFdBQVcsRUFBRSxxQkFBVW5DLElBQVYsRUFBZ0JnQyxTQUFoQixFQUEyQmxDLEtBQTNCLEVBQWtDO0FBQzdDRCxZQUFBQSxLQUFLLENBQUNxQyxRQUFOLENBQWU7QUFBRXhDLGNBQUFBLFVBQVUsRUFBRUcsS0FBSyxDQUFDb0MsV0FBTixDQUFrQm5CLFVBQVUsQ0FBQ2QsSUFBRCxDQUE1QjtBQUFkLGFBQWY7O0FBQ0FYLFlBQUFBLEtBQUssQ0FBQ3lDLFFBQU4sQ0FBZXRCLGFBQWEsQ0FBQzJCLFdBQTdCLEVBQTBDdEMsS0FBMUMsRUFBaUQsQ0FDL0NHLElBRCtDLEVBRS9DZ0MsU0FGK0MsRUFHL0NsQyxLQUgrQyxDQUFqRDtBQUtEO0FBaEJRO0FBSEMsU0FxQlRjLE1BckJTLENBQWQ7O0FBdUJBLGFBQUtkLEtBQUwsR0FBYSxJQUFJVixLQUFKLENBQVVzQyxVQUFWLENBQWI7O0FBQ0EsVUFBSSxDQUFDakIsUUFBUSxJQUFJSCxHQUFiLEtBQXFCTixJQUFJLElBQUksSUFBN0IsSUFBcUNELE9BQU8sSUFBSSxJQUFwRCxFQUEwRDtBQUN4RCxZQUFJcUMsUUFBUSxHQUFHMUIsTUFBZjtBQUNBLFlBQUkyQixVQUFVLEdBQUcxQixRQUFqQjs7QUFDQSxZQUFJRixRQUFKLEVBQWM7QUFDWixjQUFJLE9BQU9DLE1BQVAsS0FBa0IsU0FBdEIsRUFBaUM7QUFDL0IwQixZQUFBQSxRQUFRLEdBQUcsSUFBWDtBQUNBQyxZQUFBQSxVQUFVLEdBQUdBLFVBQVUsR0FBR0EsVUFBSCxHQUFnQjVCLFFBQXZDO0FBQ0Q7QUFDRjs7QUFDRGlCLFFBQUFBLFVBQVUsbUNBQ0w7QUFDRFksVUFBQUEsUUFBUSxFQUFFLElBRFQ7QUFFRGhDLFVBQUFBLEdBQUcsRUFBRUEsR0FBRyxJQUFJRCxPQUFPLEdBQUdJLFFBRnJCO0FBRStCO0FBQ2hDQyxVQUFBQSxNQUFNLEVBQUUwQixRQUhQO0FBSUR6QixVQUFBQSxRQUFRLEVBQUUwQjtBQUpULFNBREssR0FPTFgsVUFQSyxDQUFWO0FBU0Q7O0FBQ0QsYUFBSzVCLEtBQUwsR0FBYSxJQUFJVixLQUFKLENBQVVzQyxVQUFWLENBQWI7QUFDRDs7QUE5RmdCO0FBK0ZsQjs7OztXQUNELHFCQUFZMUIsSUFBWixFQUFrQjtBQUNoQix3QkFBaUUsS0FBS1AsS0FBdEU7QUFBQSw4Q0FBTThDLFVBQU47QUFBQSxVQUFNQSxVQUFOLHNDQUFtQixPQUFuQjtBQUFBLDhDQUE0Qm5DLFVBQTVCO0FBQUEsVUFBNEJBLFVBQTVCLHNDQUF5QyxPQUF6QztBQUFBLDBDQUFrRE4sS0FBbEQ7QUFBQSxVQUFrREEsS0FBbEQsa0NBQTBELEVBQTFEO0FBQ0EsVUFBSTBDLFNBQVMsR0FBRyxFQUFoQjs7QUFGZ0IsaUNBR1BuQixDQUhPO0FBSWQsWUFBSSxRQUFPckIsSUFBSSxDQUFDcUIsQ0FBRCxDQUFYLE1BQW1CLFFBQXZCLEVBQWlDO0FBQy9CLGNBQUlvQixHQUFHLHFCQUFRekMsSUFBSSxDQUFDcUIsQ0FBRCxDQUFaLENBQVA7O0FBQ0EsY0FBSXpCLEtBQUssR0FBRyxFQUFaOztBQUNBLGNBQUlRLFVBQVUsQ0FBQ2MsS0FBWCxDQUFpQixHQUFqQixFQUFzQkYsTUFBdEIsSUFBZ0MsQ0FBcEMsRUFBdUM7QUFDckNwQixZQUFBQSxLQUFLLEdBQUdJLElBQUksQ0FBQ3FCLENBQUQsQ0FBSixDQUFRakIsVUFBUixDQUFSO0FBQ0QsV0FGRCxNQUVPO0FBQ0wsZ0JBQU1hLFdBQWdCLEdBQUdiLFVBQVUsQ0FBQ2MsS0FBWCxDQUFpQixHQUFqQixDQUF6QjtBQUNBRCxZQUFBQSxXQUFXLENBQUNFLEdBQVosQ0FBZ0IsVUFBQ0csQ0FBRCxFQUFJQyxLQUFKLEVBQWM7QUFDNUIzQixjQUFBQSxLQUFLLEdBQUcyQixLQUFLLElBQUksQ0FBVCxHQUFhM0IsS0FBSyxHQUFHSSxJQUFJLENBQUNxQixDQUFELENBQUosQ0FBUUMsQ0FBUixDQUFyQixHQUFrQzFCLEtBQUssR0FBRyxHQUFSLEdBQWNJLElBQUksQ0FBQ3FCLENBQUQsQ0FBSixDQUFRQyxDQUFSLENBQXhEO0FBQ0QsYUFGRDtBQUdEOztBQUNELGNBQUlvQixLQUFLLEdBQUcsRUFBWjs7QUFDQSxjQUFJSCxVQUFVLENBQUNyQixLQUFYLENBQWlCLEdBQWpCLEVBQXNCRixNQUF0QixJQUFnQyxDQUFwQyxFQUF1QztBQUNyQzBCLFlBQUFBLEtBQUssR0FBRzFDLElBQUksQ0FBQ3FCLENBQUQsQ0FBSixDQUFRa0IsVUFBUixDQUFSO0FBQ0QsV0FGRCxNQUVPO0FBQ0wsZ0JBQU1JLFdBQWdCLEdBQUdKLFVBQVUsQ0FBQ3JCLEtBQVgsQ0FBaUIsR0FBakIsQ0FBekI7QUFDQXlCLFlBQUFBLFdBQVcsQ0FBQ3hCLEdBQVosQ0FBZ0IsVUFBQ3lCLENBQUQsRUFBSXJCLEtBQUosRUFBYztBQUM1Qm1CLGNBQUFBLEtBQUssR0FBR25CLEtBQUssSUFBSSxDQUFULEdBQWFtQixLQUFLLEdBQUcxQyxJQUFJLENBQUNxQixDQUFELENBQUosQ0FBUXVCLENBQVIsQ0FBckIsR0FBa0NGLEtBQUssR0FBRyxHQUFSLEdBQWMxQyxJQUFJLENBQUNxQixDQUFELENBQUosQ0FBUXVCLENBQVIsQ0FBeEQ7QUFDRCxhQUZEO0FBR0Q7O0FBQ0RILFVBQUFBLEdBQUcsQ0FBQ0MsS0FBSixHQUFZQSxLQUFaO0FBQ0FELFVBQUFBLEdBQUcsQ0FBQzdDLEtBQUosR0FBWUEsS0FBWjtBQUNBNkMsVUFBQUEsR0FBRyxDQUFDSSxRQUFKLEdBQWU3QyxJQUFJLENBQUNxQixDQUFELENBQUosQ0FBUXdCLFFBQVIsR0FBbUI3QyxJQUFJLENBQUNxQixDQUFELENBQUosQ0FBUXdCLFFBQTNCLEdBQXNDLEtBQXJEO0FBQ0FMLFVBQUFBLFNBQVMsQ0FBQ00sSUFBVixDQUFlTCxHQUFmO0FBQ0QsU0F4QkQsTUF3Qk87QUFDTCxjQUFJQSxJQUFHLEdBQUcsRUFBVjtBQUNBQSxVQUFBQSxJQUFHLENBQUNDLEtBQUosR0FBWTFDLElBQUksQ0FBQ3FCLENBQUQsQ0FBaEI7QUFDQW9CLFVBQUFBLElBQUcsQ0FBQzdDLEtBQUosR0FBWUksSUFBSSxDQUFDcUIsQ0FBRCxDQUFoQjtBQUNBb0IsVUFBQUEsSUFBRyxDQUFDSSxRQUFKLEdBQWUsS0FBZjtBQUNBTCxVQUFBQSxTQUFTLENBQUNNLElBQVYsQ0FBZUwsSUFBZjtBQUNEO0FBbENhOztBQUdoQixXQUFLLElBQUlwQixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHckIsSUFBSSxDQUFDZ0IsTUFBekIsRUFBaUNLLENBQUMsRUFBbEMsRUFBc0M7QUFBQSxjQUE3QkEsQ0FBNkI7QUFnQ3JDOztBQUNELGFBQU9tQixTQUFQO0FBQ0Q7OztXQUNELGtCQUFTTyxZQUFULEVBQXVCO0FBQ3JCLFdBQUtiLFFBQUwsQ0FBYztBQUNadEMsUUFBQUEsS0FBSyxFQUFFbUQ7QUFESyxPQUFkO0FBR0EsVUFBUUMsUUFBUixHQUFxQixLQUFLdkQsS0FBMUIsQ0FBUXVELFFBQVI7O0FBQ0EsVUFBSUEsUUFBSixFQUFjO0FBQ1pBLFFBQUFBLFFBQVEsQ0FBQ0QsWUFBRCxDQUFSO0FBQ0Q7QUFDRjs7O1dBQ0Qsb0JBQVc7QUFDVCxhQUFPLEtBQUtFLEtBQUwsQ0FBV3JELEtBQWxCO0FBQ0Q7OztXQUNELGtCQUFTQSxLQUFULEVBQWdCO0FBQ2QsV0FBS3NDLFFBQUwsQ0FBYztBQUNadEMsUUFBQUEsS0FBSyxFQUFFQTtBQURLLE9BQWQ7QUFHRDs7O1dBQ0QsNkJBQW9CO0FBQ2xCLHlCQUFvQyxLQUFLSCxLQUF6QztBQUFBLFVBQVFPLElBQVIsZ0JBQVFBLElBQVI7QUFBQSxVQUFjRCxPQUFkLGdCQUFjQSxPQUFkO0FBQUEsVUFBdUJFLFFBQXZCLGdCQUF1QkEsUUFBdkI7O0FBQ0EsVUFBSSxDQUFDQSxRQUFELEtBQWNELElBQUksSUFBSUQsT0FBdEIsQ0FBSixFQUFvQztBQUNsQyxhQUFLbUMsUUFBTCxDQUFjO0FBQ1p4QyxVQUFBQSxVQUFVLEVBQUUsS0FBS3VDLFdBQUwsQ0FBaUJqQyxJQUFJLEdBQUdBLElBQUgsR0FBVUQsT0FBL0IsQ0FEQTtBQUVaSixVQUFBQSxTQUFTLEVBQUVLLElBQUksR0FBR0EsSUFBSCxHQUFVRDtBQUZiLFNBQWQ7QUFJRDtBQUNGOzs7V0FDRCw4QkFBcUI7QUFDbkIsVUFBUUosU0FBUixHQUFzQixLQUFLc0QsS0FBM0IsQ0FBUXRELFNBQVI7QUFDQSx5QkFBMEIsS0FBS0YsS0FBL0I7QUFBQSxVQUFRTyxJQUFSLGdCQUFRQSxJQUFSO0FBQUEsVUFBY0QsT0FBZCxnQkFBY0EsT0FBZDtBQUNBLFVBQU1nQixPQUFPLEdBQUdmLElBQUksR0FBR0EsSUFBSCxHQUFVRCxPQUE5Qjs7QUFDQSxVQUFJQyxJQUFJLElBQUlELE9BQVosRUFBcUI7QUFDbkIsWUFBSW1ELElBQUksQ0FBQ0MsU0FBTCxDQUFleEQsU0FBZixNQUE4QnVELElBQUksQ0FBQ0MsU0FBTCxDQUFlcEMsT0FBZixDQUFsQyxFQUEyRDtBQUN6RCxlQUFLbUIsUUFBTCxDQUFjO0FBQ1p4QyxZQUFBQSxVQUFVLEVBQUUsS0FBS3VDLFdBQUwsQ0FBaUJsQixPQUFqQixDQURBO0FBRVpwQixZQUFBQSxTQUFTLEVBQUVvQjtBQUZDLFdBQWQ7QUFJRDtBQUNGO0FBQ0Y7OztXQUVELGtCQUFTO0FBQ1AseUJBQXFDLEtBQUt0QixLQUExQztBQUFBLFVBQVFPLElBQVIsZ0JBQVFBLElBQVI7QUFBQSxVQUFjRCxPQUFkLGdCQUFjQSxPQUFkO0FBQUEsVUFBMEJxRCxNQUExQjs7QUFDQSxVQUFNQyxhQUFhLEdBQUcvRCxJQUFJLG1CQUFNOEQsTUFBTixHQUFnQixDQUN4QyxPQUR3QyxFQUV4QyxZQUZ3QyxFQUd4QyxZQUh3QyxFQUl4QyxNQUp3QyxFQUt4QyxVQUx3QyxFQU14QyxTQU53QyxFQU94QyxZQVB3QyxDQUFoQixDQUExQjtBQVNBLDBCQUNFLDhCQUFVLEtBQVY7QUFDRSxRQUFBLEtBQUssRUFBRSxLQUFLSCxLQUFMLENBQVdyRCxLQURwQjtBQUVFLFFBQUEsT0FBTyxFQUFFLEtBQUtxRCxLQUFMLENBQVd2RCxVQUZ0QjtBQUdFLFFBQUEsUUFBUSxFQUFFLEtBQUtzRCxRQUFMLENBQWNNLElBQWQsQ0FBbUIsSUFBbkI7QUFIWixTQUlNRCxhQUpOLEVBREY7QUFRRDs7OztFQXhNNEJsRSxhOztBQTJNL0IsZUFBZUssZ0JBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTQgMDg6NTk6MTlcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjMzXHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBDaGVja2JveCwgQ2hlY2tib3hQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuXHJcbmludGVyZmFjZSBJQ2hlY2tib3hHcm91cFByb3BzIGV4dGVuZHMgQ2hlY2tib3hQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBhZGREYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjtcclxuICBkZWxldGVEYXRhPzogQXJyYXk8c3RyaW5nPjtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuY2xhc3MgTlNDQ2hlY2tib3hHcm91cCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUNoZWNrYm94R3JvdXBQcm9wcz4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBkYXRhU3RvcmU6IFtdLFxyXG4gICAgdmFsdWU6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCA9IFwidmFsdWVcIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgdXJsLFxyXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICAgIHZpZXduYW1lLFxyXG4gICAgICAgIGNhY2hlZCxcclxuICAgICAgICBjYWNoZUtleSxcclxuXHJcbiAgICAgICAgLi4uc3RvcmVzXHJcbiAgICAgIH0gPSBzdG9yZTtcclxuICAgICAgaWYgKCF1cmwgJiYgIW9wdGlvbnMgJiYgIWRhdGEgJiYgIXZpZXduYW1lKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeWSjG9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgbmV3RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZihpdGVtKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfTtcclxuICAgICAgdmFyIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhU291cmNlID0gX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCB2aWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgZGF0YVNvdXJlID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uZGF0YVtpXSB9O1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGRhdGFbaV1bdmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBkYXRhW2ldW3ZdIDogdmFsdWUgKyBcIixcIiArIGRhdGFbaV1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIGxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGRhdGFbaV1bbF0gOiBsYWJlbCArIFwiLVwiICsgZGF0YVtpXVtsXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYmoubGFiZWwgPSBsYWJlbDtcclxuICAgICAgICBvYmoudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBkYXRhW2ldLmRpc2FibGVkID8gZGF0YVtpXS5kaXNhYmxlZCA6IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHt9IGFzIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhU291cmU7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlKGNoZWNrZWRWYWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiBjaGVja2VkVmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UoY2hlY2tlZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBDaGVja0JveFByb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICBcImFkZERhdGFcIixcclxuICAgICAgXCJkZWxldGVEYXRhXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxDaGVja2JveC5Hcm91cFxyXG4gICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX1cclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIHsuLi5DaGVja0JveFByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5TQ0NoZWNrYm94R3JvdXA7XHJcbiJdfQ==
338
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoZWNrYm94L0NoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlN0b3JlIiwidXRpbHMiLCJvbWl0IiwiY29uZmlnIiwiTlNDQ2hlY2tib3hHcm91cCIsInByb3BzIiwiZGF0YVNvdXJjZSIsImRhdGFTdG9yZSIsInZhbHVlIiwiX3RoaXMiLCJzdG9yZSIsIm9wdGlvbnMiLCJkYXRhIiwiY2hpbGRyZW4iLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInZhbHVlRmllbGQiLCJ2aWV3dHlwZSIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwicmVxdWVzdFZpZXdVcmwiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInN0b3JlcyIsIkVycm9yIiwiZ2V0QWxsRGF0YSIsIm5ld0RhdGEiLCJsZW5ndGgiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiY29udmVydERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiaXNDYWNoZWQiLCJpc0NhY2hlS2V5IiwiYXV0b0xvYWQiLCJsYWJlbEZpZWxkIiwiZGF0YVNvdXJlIiwib2JqIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJkaXNhYmxlZCIsInB1c2giLCJjaGVja2VkVmFsdWUiLCJvbkNoYW5nZSIsInN0YXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsInBhcmFtcyIsIkNoZWNrQm94UHJvcHMiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNB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QkFDRSw4QkFBVSxLQUFWO0FBQ0UsUUFBQSxLQUFLLEVBQUUsS0FBS0gsS0FBTCxDQUFXeEQsS0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxLQUFLd0QsS0FBTCxDQUFXMUQsVUFGdEI7QUFHRSxRQUFBLFFBQVEsRUFBRSxLQUFLeUQsUUFBTCxDQUFjTSxJQUFkLENBQW1CLElBQW5CO0FBSFosU0FJTUQsYUFKTixFQURGO0FBUUQ7Ozs7RUExTTRCckUsYTs7QUE2TS9CLGVBQWVLLGdCQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTE0IDA4OjU5OjE5XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NjozM1xyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgQ2hlY2tib3gsIENoZWNrYm94UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBQcm9wcyBleHRlbmRzIENoZWNrYm94UHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgYWRkRGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47XHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PHN0cmluZz47XHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmNsYXNzIE5TQ0NoZWNrYm94R3JvdXAgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElDaGVja2JveEdyb3VwUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgZGF0YVN0b3JlOiBbXSxcclxuICAgIHZhbHVlOiBbXSxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZhbHVlRmllbGQgPSBcImRpY3RLZXlcIixcclxuICAgICAgdmlld3R5cGUgPSBcInN5c3RlbVwiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICB1cmwsXHJcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgICAgdmlld25hbWUsXHJcbiAgICAgICAgY2FjaGVkLFxyXG4gICAgICAgIGNhY2hlS2V5LFxyXG5cclxuICAgICAgICAuLi5zdG9yZXNcclxuICAgICAgfSA9IHN0b3JlO1xyXG4gICAgICBpZiAoIXVybCAmJiAhb3B0aW9ucyAmJiAhZGF0YSAmJiAhdmlld25hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IF90aGlzLmNvbnZlcnREYXRhKGdldEFsbERhdGEoZGF0YSkpIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImRpY3RWYWx1ZVwiLCB2YWx1ZUZpZWxkID0gXCJkaWN0S2V5XCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgZGF0YVNvdXJlID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uZGF0YVtpXSB9O1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGRhdGFbaV1bdmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBkYXRhW2ldW3ZdIDogdmFsdWUgKyBcIixcIiArIGRhdGFbaV1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIGxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGRhdGFbaV1bbF0gOiBsYWJlbCArIFwiLVwiICsgZGF0YVtpXVtsXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYmoubGFiZWwgPSBsYWJlbDtcclxuICAgICAgICBvYmoudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBkYXRhW2ldLmRpc2FibGVkID8gZGF0YVtpXS5kaXNhYmxlZCA6IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHt9IGFzIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhU291cmU7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlKGNoZWNrZWRWYWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiBjaGVja2VkVmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UoY2hlY2tlZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBDaGVja0JveFByb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICBcImFkZERhdGFcIixcclxuICAgICAgXCJkZWxldGVEYXRhXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxDaGVja2JveC5Hcm91cFxyXG4gICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX1cclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIHsuLi5DaGVja0JveFByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5TQ0NoZWNrYm94R3JvdXA7XHJcbiJdfQ==
package/lib/config.d.ts CHANGED
@@ -6,6 +6,7 @@ interface IComponentConfig {
6
6
  exception403?: string;
7
7
  iconfontUrl?: string;
8
8
  viewUrl?: string;
9
+ viewBizUrl?: string;
9
10
  antdStyle?: boolean;
10
11
  allowChars?: boolean;
11
12
  }
@@ -17,6 +18,7 @@ export declare const setConfig: (config: IComponentConfig) => {
17
18
  exception403: string;
18
19
  iconfontUrl: string;
19
20
  viewUrl: string;
21
+ viewBizUrl: string;
20
22
  antdStyle: boolean;
21
23
  allowChars: boolean;
22
24
  } & IComponentConfig;
package/lib/config.js CHANGED
@@ -19,8 +19,10 @@ var configData = {
19
19
  exception403: "/exception/403",
20
20
  //阿里图标库URL
21
21
  iconfontUrl: "",
22
- //后台视图获取地址
23
- viewUrl: "/dict/v1/",
22
+ //后台系统视图获取地址
23
+ viewUrl: "/blade-system/dict/dictionary?code=",
24
+ //后台业务视图获取地址
25
+ viewBizUrl: "/blade-system/dict-biz/dictionary?code=",
24
26
  //默认antd样式
25
27
  antdStyle: true,
26
28
  //input特殊字符全局变量
@@ -32,4 +34,4 @@ export var setConfig = function setConfig(config) {
32
34
  export default (function () {
33
35
  return configData;
34
36
  });
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJhbnRkU3R5bGUiLCJhbGxvd0NoYXJzIiwic2V0Q29uZmlnIiwiY29uZmlnIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUEsSUFBSUEsVUFBVSxHQUFHO0FBQ2Y7QUFDQUMsRUFBQUEsZ0JBQWdCLEVBQUUsZUFGSDtBQUdmO0FBQ0FDLEVBQUFBLGFBQWEsRUFBRSxvQkFKQTtBQUtmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxRQU5JO0FBT2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVJDO0FBU2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVZDO0FBV2Y7QUFDQUMsRUFBQUEsV0FBVyxFQUFFLEVBWkU7QUFhZjtBQUNBQyxFQUFBQSxPQUFPLEVBQUUsV0FkTTtBQWVmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxJQWhCSTtBQWlCZjtBQUNBQyxFQUFBQSxVQUFVLEVBQUU7QUFsQkcsQ0FBakI7QUFxQkEsT0FBTyxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDQyxNQUFEO0FBQUEsU0FDdkJDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjYixVQUFkLEVBQTBCVyxNQUExQixDQUR1QjtBQUFBLENBQWxCO0FBRVAsZ0JBQWU7QUFBQSxTQUF3QlgsVUFBeEI7QUFBQSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI1IDEwOjM0OjUzXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NTowM1xyXG4gKi9cclxuaW50ZXJmYWNlIElDb21wb25lbnRDb25maWcge1xyXG4gIGxvZ2luUHJvamVjdE5hbWU/OiBzdHJpbmc7XHJcbiAgYXV0aG9yaXphdGlvbj86IHN0cmluZztcclxuICBsb2dpblBhdGg/OiBzdHJpbmc7XHJcbiAgZXhjZXB0aW9uNTA1Pzogc3RyaW5nO1xyXG4gIGV4Y2VwdGlvbjQwMz86IHN0cmluZztcclxuICBpY29uZm9udFVybD86IHN0cmluZztcclxuICB2aWV3VXJsPzogc3RyaW5nO1xyXG4gIGFudGRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmxldCBjb25maWdEYXRhID0ge1xyXG4gIC8v55m75b2V55WM6Z2i6aG555uu5ZCN56ewXHJcbiAgbG9naW5Qcm9qZWN0TmFtZTogXCJOU0MgRnJhbWV3b3JrXCIsXHJcbiAgLy/ns7vnu5/mjIfnurnvvIznmbvlvZXml7blgJnpnIDopoHkvKDpgJJcclxuICBhdXRob3JpemF0aW9uOiBcIkJhc2ljIGJuTmpPbTV6WXc9PVwiLFxyXG4gIC8v55m76ZmG55WM6Z2iVVJMXHJcbiAgbG9naW5QYXRoOiBcIi9sb2dpblwiLFxyXG4gIC8vNTA16ZSZ6K+vVVJMXHJcbiAgZXhjZXB0aW9uNTA1OiBcIi9leGNlcHRpb24vNTAwXCIsXHJcbiAgLy80MDPplJnor69VUkxcclxuICBleGNlcHRpb240MDM6IFwiL2V4Y2VwdGlvbi80MDNcIixcclxuICAvL+mYv+mHjOWbvuagh+W6k1VSTFxyXG4gIGljb25mb250VXJsOiBcIlwiLFxyXG4gIC8v5ZCO5Y+w6KeG5Zu+6I635Y+W5Zyw5Z2AXHJcbiAgdmlld1VybDogXCIvZGljdC92MS9cIixcclxuICAvL+m7mOiupGFudGTmoLflvI9cclxuICBhbnRkU3R5bGU6IHRydWUsXHJcbiAgLy9pbnB1dOeJueauiuWtl+espuWFqOWxgOWPmOmHj1xyXG4gIGFsbG93Q2hhcnM6IGZhbHNlLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldENvbmZpZyA9IChjb25maWc6IElDb21wb25lbnRDb25maWcpID0+XHJcbiAgT2JqZWN0LmFzc2lnbihjb25maWdEYXRhLCBjb25maWcpO1xyXG5leHBvcnQgZGVmYXVsdCAoKTogSUNvbXBvbmVudENvbmZpZyA9PiBjb25maWdEYXRhO1xyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwiYW50ZFN0eWxlIiwiYWxsb3dDaGFycyIsInNldENvbmZpZyIsImNvbmZpZyIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWNBLElBQUlBLFVBQVUsR0FBRztBQUNmO0FBQ0FDLEVBQUFBLGdCQUFnQixFQUFFLGVBRkg7QUFHZjtBQUNBQyxFQUFBQSxhQUFhLEVBQUUsb0JBSkE7QUFLZjtBQUNBQyxFQUFBQSxTQUFTLEVBQUUsUUFOSTtBQU9mO0FBQ0FDLEVBQUFBLFlBQVksRUFBRSxnQkFSQztBQVNmO0FBQ0FDLEVBQUFBLFlBQVksRUFBRSxnQkFWQztBQVdmO0FBQ0FDLEVBQUFBLFdBQVcsRUFBRSxFQVpFO0FBYWY7QUFDQUMsRUFBQUEsT0FBTyxFQUFFLHFDQWRNO0FBZWY7QUFDQUMsRUFBQUEsVUFBVSxFQUFFLHlDQWhCRztBQWlCZjtBQUNBQyxFQUFBQSxTQUFTLEVBQUUsSUFsQkk7QUFtQmY7QUFDQUMsRUFBQUEsVUFBVSxFQUFFO0FBcEJHLENBQWpCO0FBdUJBLE9BQU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsTUFBRDtBQUFBLFNBQ3ZCQyxNQUFNLENBQUNDLE1BQVAsQ0FBY2QsVUFBZCxFQUEwQlksTUFBMUIsQ0FEdUI7QUFBQSxDQUFsQjtBQUVQLGdCQUFlO0FBQUEsU0FBd0JaLFVBQXhCO0FBQUEsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNSAxMDozNDo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTY6NDU6MDNcclxuICovXHJcbmludGVyZmFjZSBJQ29tcG9uZW50Q29uZmlnIHtcclxuICBsb2dpblByb2plY3ROYW1lPzogc3RyaW5nO1xyXG4gIGF1dGhvcml6YXRpb24/OiBzdHJpbmc7XHJcbiAgbG9naW5QYXRoPzogc3RyaW5nO1xyXG4gIGV4Y2VwdGlvbjUwNT86IHN0cmluZztcclxuICBleGNlcHRpb240MDM/OiBzdHJpbmc7XHJcbiAgaWNvbmZvbnRVcmw/OiBzdHJpbmc7XHJcbiAgdmlld1VybD86IHN0cmluZztcclxuICB2aWV3Qml6VXJsPzogc3RyaW5nO1xyXG4gIGFudGRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmxldCBjb25maWdEYXRhID0ge1xyXG4gIC8v55m75b2V55WM6Z2i6aG555uu5ZCN56ewXHJcbiAgbG9naW5Qcm9qZWN0TmFtZTogXCJOU0MgRnJhbWV3b3JrXCIsXHJcbiAgLy/ns7vnu5/mjIfnurnvvIznmbvlvZXml7blgJnpnIDopoHkvKDpgJJcclxuICBhdXRob3JpemF0aW9uOiBcIkJhc2ljIGJuTmpPbTV6WXc9PVwiLFxyXG4gIC8v55m76ZmG55WM6Z2iVVJMXHJcbiAgbG9naW5QYXRoOiBcIi9sb2dpblwiLFxyXG4gIC8vNTA16ZSZ6K+vVVJMXHJcbiAgZXhjZXB0aW9uNTA1OiBcIi9leGNlcHRpb24vNTAwXCIsXHJcbiAgLy80MDPplJnor69VUkxcclxuICBleGNlcHRpb240MDM6IFwiL2V4Y2VwdGlvbi80MDNcIixcclxuICAvL+mYv+mHjOWbvuagh+W6k1VSTFxyXG4gIGljb25mb250VXJsOiBcIlwiLFxyXG4gIC8v5ZCO5Y+w57O757uf6KeG5Zu+6I635Y+W5Zyw5Z2AXHJcbiAgdmlld1VybDogXCIvYmxhZGUtc3lzdGVtL2RpY3QvZGljdGlvbmFyeT9jb2RlPVwiLFxyXG4gIC8v5ZCO5Y+w5Lia5Yqh6KeG5Zu+6I635Y+W5Zyw5Z2AXHJcbiAgdmlld0JpelVybDogXCIvYmxhZGUtc3lzdGVtL2RpY3QtYml6L2RpY3Rpb25hcnk/Y29kZT1cIixcclxuICAvL+m7mOiupGFudGTmoLflvI9cclxuICBhbnRkU3R5bGU6IHRydWUsXHJcbiAgLy9pbnB1dOeJueauiuWtl+espuWFqOWxgOWPmOmHj1xyXG4gIGFsbG93Q2hhcnM6IGZhbHNlLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldENvbmZpZyA9IChjb25maWc6IElDb21wb25lbnRDb25maWcpID0+XHJcbiAgT2JqZWN0LmFzc2lnbihjb25maWdEYXRhLCBjb25maWcpO1xyXG5leHBvcnQgZGVmYXVsdCAoKTogSUNvbXBvbmVudENvbmZpZyA9PiBjb25maWdEYXRhO1xyXG4iXX0=
@@ -6,10 +6,15 @@ declare class EditorForm extends PureComponent<any> {
6
6
  label: string;
7
7
  editorFlag: boolean;
8
8
  value: any;
9
+ dictNames: any;
9
10
  };
10
11
  valid: any;
11
12
  show(value?: any, flag?: boolean): void;
12
13
  onSubmit(): void;
14
+ valueChange({ type, dictName }: {
15
+ type: any;
16
+ dictName: any;
17
+ }, value: any, valueOption: any): void;
13
18
  render(): JSX.Element;
14
19
  }
15
20
  export default EditorForm;
@@ -55,7 +55,8 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
55
55
  loading: false,
56
56
  label: "",
57
57
  editorFlag: true,
58
- value: {}
58
+ value: {},
59
+ dictNames: {}
59
60
  });
60
61
 
61
62
  _defineProperty(_assertThisInitialized(_this), "valid", []);
@@ -81,7 +82,7 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
81
82
  this.setState({
82
83
  label: label,
83
84
  editorFlag: !flag,
84
- value: value
85
+ value: value === null || value === void 0 ? void 0 : value.attribute
85
86
  });
86
87
  }
87
88
 
@@ -95,8 +96,6 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
95
96
  _this2 = this;
96
97
 
97
98
  var _this$props = this.props,
98
- _this$props$autoSubmi = _this$props.autoSubmit,
99
- autoSubmit = _this$props$autoSubmi === void 0 ? true : _this$props$autoSubmi,
100
99
  _this$props$submitUrl = _this$props.submitUrl,
101
100
  submitUrl = _this$props$submitUrl === void 0 ? "" : _this$props$submitUrl,
102
101
  _this$props$submitPar = _this$props.submitParams,
@@ -105,7 +104,8 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
105
104
  callBack = _this$props.callBack;
106
105
  var _this$state = this.state,
107
106
  label = _this$state.label,
108
- value = _this$state.value;
107
+ value = _this$state.value,
108
+ dictNames = _this$state.dictNames;
109
109
  var formValue = (_this$formRef$current2 = this.formRef.current) === null || _this$formRef$current2 === void 0 ? void 0 : _this$formRef$current2.getFieldsValue();
110
110
  var valid = this.valid;
111
111
  (_this$formRef$current3 = this.formRef.current) === null || _this$formRef$current3 === void 0 ? void 0 : _this$formRef$current3.validateFields(valid).then(function () {
@@ -118,9 +118,16 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
118
118
 
119
119
  _this2.setState({
120
120
  loading: true
121
- });
121
+ }); // const newValue = { ...value };
122
+ // delete newValue.createDept;
123
+ // delete newValue.createUser;
124
+ // delete newValue.createTime;
125
+ // delete newValue.key;
126
+ // delete newValue.updateUser;
127
+ // delete newValue.updateTime;
128
+
122
129
 
123
- var data = _objectSpread({}, formValue);
130
+ var data = _objectSpread(_objectSpread({}, formValue), dictNames);
124
131
 
125
132
  if (label == "编辑") {
126
133
  data = _objectSpread(_objectSpread({}, data), {}, {
@@ -133,7 +140,7 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
133
140
  }
134
141
 
135
142
  (_this2$formRef$curren = _this2.formRef.current) === null || _this2$formRef$curren === void 0 ? void 0 : _this2$formRef$curren.onSubmit(submitUrl, {
136
- data: _objectSpread({}, formValue),
143
+ data: _objectSpread({}, data),
137
144
  noUndefined: label == "编辑",
138
145
  submitParams: submitParams
139
146
  }, function (res) {
@@ -144,12 +151,34 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
144
151
  });
145
152
 
146
153
  if (code === 200) {
154
+ var _this2$formRef$curren2;
155
+
147
156
  message.success(label + "成功");
157
+ (_this2$formRef$curren2 = _this2.formRef.current) === null || _this2$formRef$curren2 === void 0 ? void 0 : _this2$formRef$curren2.hideForm();
148
158
  callBack && callBack();
149
159
  }
150
160
  });
151
161
  }).catch(function (errorInfo) {});
152
162
  }
163
+ }, {
164
+ key: "valueChange",
165
+ value: function valueChange(_ref, value, valueOption) {
166
+ var type = _ref.type,
167
+ dictName = _ref.dictName;
168
+
169
+ if (valueOption) {
170
+ if (dictName) {
171
+ var dictNames = this.state.dictNames;
172
+
173
+ var newNames = _objectSpread({}, dictNames);
174
+
175
+ newNames[dictName] = valueOption.label;
176
+ this.setState({
177
+ dictNames: newNames
178
+ });
179
+ }
180
+ }
181
+ }
153
182
  }, {
154
183
  key: "render",
155
184
  value: function render() {
@@ -205,7 +234,11 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
205
234
  rules: item.rules
206
235
  }, getNode(item.type, _objectSpread(_objectSpread({}, item.props), {}, {
207
236
  placeholder: "\u8BF7\u8F93\u5165".concat(item.label),
208
- disabled: label == "查看"
237
+ disabled: label == "查看",
238
+ onChange: _this3.valueChange.bind(_this3, {
239
+ type: item.type,
240
+ dictName: item.dictName
241
+ })
209
242
  }))));
210
243
  })));
211
244
  }
@@ -215,4 +248,4 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
215
248
  }(PureComponent);
216
249
 
217
250
  export default EditorForm;
218
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2VDb21wb25lbnRzL0Jhc2VQYWdlL0Zvcm0udHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIkZvcm0iLCJnZXROb2RlIiwibWVzc2FnZSIsIkNvbCIsIlJvdyIsIkVkaXRvckZvcm0iLCJjcmVhdGVSZWYiLCJsb2FkaW5nIiwibGFiZWwiLCJlZGl0b3JGbGFnIiwidmFsdWUiLCJmbGFnIiwic2V0U3RhdGUiLCJmb3JtUmVmIiwiY3VycmVudCIsInNob3dGb3JtIiwiYXR0cmlidXRlIiwicHJvcHMiLCJhdXRvU3VibWl0Iiwic3VibWl0VXJsIiwic3VibWl0UGFyYW1zIiwib25TdWJtaXQiLCJjYWxsQmFjayIsInN0YXRlIiwiZm9ybVZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJ2YWxpZCIsInZhbGlkYXRlRmllbGRzIiwidGhlbiIsImRhdGEiLCJpZCIsIkVycm9yIiwibm9VbmRlZmluZWQiLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImNhdGNoIiwiZXJyb3JJbmZvIiwiZm9ybVByb3BzIiwibW9kYWxQcm9wcyIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsIm9uT2siLCJiaW5kIiwib2tCdXR0b25Qcm9wcyIsImNlbnRlcmVkIiwid2lkdGgiLCJuZXdWYWxpZCIsImZsZXgiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJydWxlcyIsImxlbmd0aCIsInB1c2giLCJuYW1lIiwic3BhbiIsInR5cGUiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFlBQWpCO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsZUFBcEI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLGdC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LE9BdkJBLENBREgsQ0FQRixDQURGO0FBb0NEOzs7O0VBeEhzQlQsYTs7QUEySHpCLGVBQWVNLFVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vZm9ybVwiO1xyXG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9tZXNzYWdlXCI7XHJcbmltcG9ydCBDb2wgZnJvbSBcIi4uLy4uL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2dyaWQvUm93XCI7XHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gIH07XHJcbiAgdmFsaWQ6IGFueSA9IFtdO1xyXG4gIHNob3codmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICBsZXQgbGFiZWwgPSBcIuaWsOWinlwiO1xyXG4gICAgaWYgKHZhbHVlICYmIGZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmICghZmxhZykge1xyXG4gICAgICBsYWJlbCA9IFwi5p+l55yLXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIGVkaXRvckZsYWc6ICFmbGFnLFxyXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWU/LmF0dHJpYnV0ZSk7XHJcbiAgfVxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBhdXRvU3VibWl0ID0gdHJ1ZSxcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIG9uU3VibWl0LFxyXG4gICAgICBjYWxsQmFjayxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsYWJlbCwgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCB2YWxpZCA9IHRoaXMudmFsaWQ7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudFxyXG4gICAgICA/LnZhbGlkYXRlRmllbGRzKHZhbGlkKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgaWYgKG9uU3VibWl0KSB7XHJcbiAgICAgICAgICBvblN1Ym1pdCAmJiBvblN1Ym1pdChmb3JtVmFsdWUsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB7IC4uLmZvcm1WYWx1ZSB9O1xyXG4gICAgICAgIGlmIChsYWJlbCA9PSBcIue8lui+kVwiKSB7XHJcbiAgICAgICAgICBkYXRhID0geyAuLi5kYXRhLCBpZDogdmFsdWU/LmlkIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghc3VibWl0VXJsKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5vblN1Ym1pdChcclxuICAgICAgICAgIHN1Ym1pdFVybCxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZGF0YTogeyAuLi5mb3JtVmFsdWUgfSxcclxuICAgICAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhsYWJlbCArIFwi5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZvcm1Qcm9wcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsb2FkaW5nLCBsYWJlbCwgZWRpdG9yRmxhZyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IG1vZGFsUHJvcHMgPSB7XHJcbiAgICAgIHRpdGxlOiBsYWJlbCxcclxuICAgICAgb2tUZXh0OiBcIuehruWumlwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9rQnV0dG9uUHJvcHM6IHsgbG9hZGluZzogbG9hZGluZyB9LFxyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IFwiNTB2d1wiLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IG5ld1ZhbGlkOiBhbnlbXSA9IFtdO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPEZvcm1cclxuICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICBzaG93TW9kZWw9e1wibW9kYWxcIn1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBsYWJlbENvbD17eyBmbGV4OiBcIjEwMHB4XCIgfX1cclxuICAgICAgICB3cmFwcGVyQ29sPXt7IGZsZXg6IFwiMTV2d1wiIH19XHJcbiAgICAgID5cclxuICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAge2Zvcm1Qcm9wcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcm9wcyA9IHsgLi4uaXRlbS5wcm9wcyB9O1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5ydWxlcyAmJiBpdGVtLnJ1bGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBuZXdWYWxpZC5wdXNoKGl0ZW0ubmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGluZGV4ICsgMSA9PT0gZm9ybVByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMudmFsaWQgPSBuZXdWYWxpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDxDb2wgc3Bhbj17aXRlbS5zcGFuIHx8IDEyfSBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogbGFiZWwgPT0gXCLmn6XnnItcIixcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvUm93PlxyXG4gICAgICA8L0Zvcm0+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRWRpdG9yRm9ybTtcclxuIl19
251
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2VDb21wb25lbnRzL0Jhc2VQYWdlL0Zvcm0udHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIkZvcm0iLCJnZXROb2RlIiwibWVzc2FnZSIsIkNvbCIsIlJvdyIsIkVkaXRvckZvcm0iLCJjcmVhdGVSZWYiLCJsb2FkaW5nIiwibGFiZWwiLCJlZGl0b3JGbGFnIiwidmFsdWUiLCJkaWN0TmFtZXMiLCJmbGFnIiwic2V0U3RhdGUiLCJhdHRyaWJ1dGUiLCJmb3JtUmVmIiwiY3VycmVudCIsInNob3dGb3JtIiwicHJvcHMiLCJzdWJtaXRVcmwiLCJzdWJtaXRQYXJhbXMiLCJvblN1Ym1pdCIsImNhbGxCYWNrIiwic3RhdGUiLCJmb3JtVmFsdWUiLCJnZXRGaWVsZHNWYWx1ZSIsInZhbGlkIiwidmFsaWRhdGVGaWVsZHMiLCJ0aGVuIiwiZGF0YSIsImlkIiwiRXJyb3IiLCJub1VuZGVmaW5lZCIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiaGlkZUZvcm0iLCJjYXRjaCIsImVycm9ySW5mbyIsInZhbHVlT3B0aW9uIiwidHlwZSIsImRpY3ROYW1lIiwibmV3TmFtZXMiLCJmb3JtUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImJpbmQiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZmxleCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLElBQVAsTUFBaUIsWUFBakI7QUFDQSxTQUFT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LENBQVdDLE1BQVgsR0FBb0IsQ0FBdEMsRUFBeUM7QUFDdkNOLFVBQUFBLFFBQVEsQ0FBQ08sSUFBVCxDQUFjSixJQUFJLENBQUNLLElBQW5CO0FBQ0Q7O0FBQ0QsWUFBSUosS0FBSyxHQUFHLENBQVIsS0FBY2QsU0FBUyxDQUFDZ0IsTUFBNUIsRUFBb0M7QUFDbEMsVUFBQSxNQUFJLENBQUNqQyxLQUFMLEdBQWEyQixRQUFiO0FBQ0Q7O0FBQ0QsNEJBQ0Usb0JBQUMsR0FBRDtBQUFLLFVBQUEsSUFBSSxFQUFFRyxJQUFJLENBQUNNLElBQUwsSUFBYSxFQUF4QjtBQUE0QixVQUFBLEdBQUcsRUFBRUw7QUFBakMsd0JBQ0Usb0JBQUMsSUFBRCxDQUFNLElBQU47QUFDRSxVQUFBLEtBQUssRUFBRUQsSUFBSSxDQUFDaEQsS0FEZDtBQUVFLFVBQUEsSUFBSSxFQUFFZ0QsSUFBSSxDQUFDSyxJQUZiO0FBR0UsVUFBQSxLQUFLLEVBQUVMLElBQUksQ0FBQ0U7QUFIZCxXQUtHekQsT0FBTyxDQUFDdUQsSUFBSSxDQUFDaEIsSUFBTixrQ0FDSGdCLElBQUksQ0FBQ3RDLEtBREY7QUFFTjZDLFVBQUFBLFdBQVcsOEJBQVFQLElBQUksQ0FBQ2hELEtBQWIsQ0FGTDtBQUdOd0QsVUFBQUEsUUFBUSxFQUFFeEQsS0FBSyxJQUFJLElBSGI7QUFJTnlELFVBQUFBLFFBQVEsRUFBRSxNQUFJLENBQUNDLFdBQUwsQ0FBaUJqQixJQUFqQixDQUFzQixNQUF0QixFQUE0QjtBQUNwQ1QsWUFBQUEsSUFBSSxFQUFFZ0IsSUFBSSxDQUFDaEIsSUFEeUI7QUFFcENDLFlBQUFBLFFBQVEsRUFBRWUsSUFBSSxDQUFDZjtBQUZxQixXQUE1QjtBQUpKLFdBTFYsQ0FERixDQURGO0FBbUJELE9BM0JBLENBREgsQ0FQRixDQURGO0FBd0NEOzs7O0VBaEpzQjFDLGE7O0FBbUp6QixlQUFlTSxVQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Zvcm1cIjtcclxuaW1wb3J0IHsgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9ncmlkL1Jvd1wiO1xyXG5jbGFzcyBFZGl0b3JGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxhbnk+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgbGFiZWw6IFwiXCIsXHJcbiAgICBlZGl0b3JGbGFnOiB0cnVlLFxyXG4gICAgdmFsdWU6IHt9IGFzIGFueSxcclxuICAgIGRpY3ROYW1lczoge30gYXMgYW55LFxyXG4gIH07XHJcbiAgdmFsaWQ6IGFueSA9IFtdO1xyXG4gIHNob3codmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICBsZXQgbGFiZWwgPSBcIuaWsOWinlwiO1xyXG4gICAgaWYgKHZhbHVlICYmIGZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmICghZmxhZykge1xyXG4gICAgICBsYWJlbCA9IFwi5p+l55yLXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIGVkaXRvckZsYWc6ICFmbGFnLFxyXG4gICAgICAgIHZhbHVlOiB2YWx1ZT8uYXR0cmlidXRlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zaG93Rm9ybSh2YWx1ZT8uYXR0cmlidXRlKTtcclxuICB9XHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN1Ym1pdFVybCA9IFwiXCIsXHJcbiAgICAgIHN1Ym1pdFBhcmFtcyA9IHt9LFxyXG4gICAgICBvblN1Ym1pdCxcclxuICAgICAgY2FsbEJhY2ssXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbGFiZWwsIHZhbHVlLCBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCB2YWxpZCA9IHRoaXMudmFsaWQ7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudFxyXG4gICAgICA/LnZhbGlkYXRlRmllbGRzKHZhbGlkKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgaWYgKG9uU3VibWl0KSB7XHJcbiAgICAgICAgICBvblN1Ym1pdCAmJiBvblN1Ym1pdChmb3JtVmFsdWUsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgLy8gY29uc3QgbmV3VmFsdWUgPSB7IC4uLnZhbHVlIH07XHJcbiAgICAgICAgLy8gZGVsZXRlIG5ld1ZhbHVlLmNyZWF0ZURlcHQ7XHJcbiAgICAgICAgLy8gZGVsZXRlIG5ld1ZhbHVlLmNyZWF0ZVVzZXI7XHJcbiAgICAgICAgLy8gZGVsZXRlIG5ld1ZhbHVlLmNyZWF0ZVRpbWU7XHJcbiAgICAgICAgLy8gZGVsZXRlIG5ld1ZhbHVlLmtleTtcclxuICAgICAgICAvLyBkZWxldGUgbmV3VmFsdWUudXBkYXRlVXNlcjtcclxuICAgICAgICAvLyBkZWxldGUgbmV3VmFsdWUudXBkYXRlVGltZTtcclxuICAgICAgICBsZXQgZGF0YSA9IHsgLi4uZm9ybVZhbHVlLCAuLi5kaWN0TmFtZXMgfTtcclxuICAgICAgICBpZiAobGFiZWwgPT0gXCLnvJbovpFcIikge1xyXG4gICAgICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgaWQ6IHZhbHVlPy5pZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXN1Ym1pdFVybCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ub25TdWJtaXQoXHJcbiAgICAgICAgICBzdWJtaXRVcmwsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICBub1VuZGVmaW5lZDogbGFiZWwgPT0gXCLnvJbovpFcIixcclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGxhYmVsICsgXCLmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgICAgICAgICAgICAgY2FsbEJhY2sgJiYgY2FsbEJhY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3JJbmZvOiBhbnkpID0+IHt9KTtcclxuICB9XHJcbiAgdmFsdWVDaGFuZ2UoeyB0eXBlLCBkaWN0TmFtZSB9LCB2YWx1ZSwgdmFsdWVPcHRpb24pIHtcclxuICAgIGlmICh2YWx1ZU9wdGlvbikge1xyXG4gICAgICBpZiAoZGljdE5hbWUpIHtcclxuICAgICAgICBjb25zdCB7IGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICBjb25zdCBuZXdOYW1lcyA9IHsgLi4uZGljdE5hbWVzIH0gYXMgYW55O1xyXG4gICAgICAgIG5ld05hbWVzW2RpY3ROYW1lXSA9IHZhbHVlT3B0aW9uLmxhYmVsO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGljdE5hbWVzOiBuZXdOYW1lcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmb3JtUHJvcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwsIGVkaXRvckZsYWcgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBtb2RhbFByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogdGhpcy5vblN1Ym1pdC5iaW5kKHRoaXMpLFxyXG4gICAgICBva0J1dHRvblByb3BzOiB7IGxvYWRpbmc6IGxvYWRpbmcgfSxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH07XHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxGb3JtXHJcbiAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgc2hvd01vZGVsPXtcIm1vZGFsXCJ9XHJcbiAgICAgICAgbW9kYWxQcm9wcz17eyAuLi5tb2RhbFByb3BzIH19XHJcbiAgICAgICAgbGFiZWxDb2w9e3sgZmxleDogXCIxMDBweFwiIH19XHJcbiAgICAgICAgd3JhcHBlckNvbD17eyBmbGV4OiBcIjE1dndcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPFJvdyBndXR0ZXI9ezI0fT5cclxuICAgICAgICAgIHtmb3JtUHJvcHMubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB7IC4uLml0ZW0ucHJvcHMgfTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0ucnVsZXMgJiYgaXRlbS5ydWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpbmRleCArIDEgPT09IGZvcm1Qcm9wcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGxhYmVsID09IFwi5p+l55yLXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZCh0aGlzLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvUm93PlxyXG4gICAgICA8L0Zvcm0+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRWRpdG9yRm9ybTtcclxuIl19
@@ -30,7 +30,9 @@ interface NSCBaseBageProps {
30
30
  showDeleteButton?: boolean;
31
31
  deleteUrl?: string;
32
32
  onDelete?: any;
33
+ deleteParams?: Object;
33
34
  children?: React.ReactNode;
35
+ onSearch?: any;
34
36
  }
35
37
  declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
36
38
  tableRef: React.RefObject<any>;
@@ -123,7 +123,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
123
123
  value: function onDelete() {
124
124
  var _this$props = this.props,
125
125
  deleteUrl = _this$props.deleteUrl,
126
- onDelete = _this$props.onDelete;
126
+ onDelete = _this$props.onDelete,
127
+ deleteParams = _this$props.deleteParams;
127
128
  var selectedRowKeys = this.state.selectedRowKeys;
128
129
 
129
130
  if (selectedRowKeys.length == 0) {
@@ -146,13 +147,20 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
146
147
  okText: "确认",
147
148
  cancelText: "取消",
148
149
  onOk: function onOk() {
149
- var requestParam = {
150
+ var defaultParams = {
150
151
  method: "post",
151
- data: {
152
- ids: selectedRowKeys
152
+ params: {
153
+ ids: selectedRowKeys.join()
153
154
  }
154
155
  };
155
- request(deleteUrl, _objectSpread({}, requestParam)).then(function (res) {
156
+ var requestParams = {};
157
+
158
+ if (defaultParams) {
159
+ requestParams = _objectSpread({}, deleteParams);
160
+ }
161
+
162
+ requestParams = _objectSpread({}, defaultParams);
163
+ request(deleteUrl, _objectSpread({}, requestParams)).then(function (res) {
156
164
  var code = res.code;
157
165
 
158
166
  if (code === 200) {
@@ -181,7 +189,14 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
181
189
  value: function onSearch() {
182
190
  var _this$searchRef$curre;
183
191
 
192
+ var onSearch = this.props.onSearch;
184
193
  var fromValue = (_this$searchRef$curre = this.searchRef.current) === null || _this$searchRef$curre === void 0 ? void 0 : _this$searchRef$curre.getFieldsValue();
194
+
195
+ if (onSearch) {
196
+ onSearch(fromValue);
197
+ return;
198
+ }
199
+
185
200
  this.load(fromValue);
186
201
  } //表格重新加载
187
202
 
@@ -437,7 +452,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
437
452
  rules: temp.rules,
438
453
  type: temp.type,
439
454
  props: temp.props,
440
- span: temp.span
455
+ span: temp.span,
456
+ dictName: temp.dictName
441
457
  });
442
458
  delete temp.rules;
443
459
  delete temp.span;
@@ -523,7 +539,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
523
539
  return /*#__PURE__*/React.createElement(Form.Item, {
524
540
  label: item.label,
525
541
  name: item.name // rules={item.rules}
526
-
542
+ ,
543
+ key: index
527
544
  }, getNode(item.type, _objectSpread(_objectSpread({}, item.props), {}, {
528
545
  placeholder: "\u8BF7\u8F93\u5165".concat(item.label)
529
546
  })));
@@ -600,4 +617,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
600
617
  }(PureComponent);
601
618
 
602
619
  export default BasePage;
603
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2VDb21wb25lbnRzL0Jhc2VQYWdlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUYWJsZSIsIlRyZWUiLCJGb3JtIiwiQnV0dG9uIiwiTW9kYWwiLCJQb3BvdmVyIiwibWVzc2FnZSIsIkljb24iLCJpY29uVHlwZSIsIkVkaXRvckZvcm0iLCJjbHMiLCJzdHlsZXMiLCJEb3duT3V0bGluZWQiLCJVcE91dGxpbmVkIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJCYXNlUGFnZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiY2hlY2tlZFRyZWVLZXlzIiwic3RhdGUiLCJuYW1lIiwidXNlclR5cGUiLCJhY2NvdW50IiwidmFsdWUiLCJkZXB0SWQiLCJ0YWJsZUxvYWQiLCJ0eXBlIiwic2VsZWN0ZWRSb3dLZXlzIiwidHJlZVNlbGVjdGVkS2V5IiwiZXhwYW5kIiwiZmxhZyIsImVkaXRvclJlZiIsImN1cnJlbnQiLCJzaG93IiwiZGVsZXRlVXJsIiwib25EZWxldGUiLCJsZW5ndGgiLCJ3YXJuaW5nIiwiRXJyb3IiLCJjb25maXJtIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsInJlcXVlc3RQYXJhbSIsIm1ldGhvZCIsImRhdGEiLCJpZHMiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInBhcmFtcyIsInRhYmxlUmVmIiwic3RvcmUiLCJsb2FkIiwiZnJvbVZhbHVlIiwic2VhcmNoUmVmIiwiZ2V0RmllbGRzVmFsdWUiLCJyZWxvYWQiLCJyZWNvcmQiLCJzZWxlY3RlZCIsIm5ld1NlbGVjdGVkUm93S2V5cyIsImlkIiwibWFwIiwiaXRlbSIsImluZGV4Iiwic3BsaWNlIiwic2V0U3RhdGUiLCJzZWxlY3RlZFJvd3MiLCJjaGFuZ2VSb3dzIiwibmV3aWRzIiwiY2hhbmdlSWRzIiwiaW5kZXhPZiIsInB1c2giLCJjb2x1bW5CdXR0b25zIiwiYWN0aW9uQnV0dG9uIiwiZWRpdG9yRm9ybSIsImNvbnRlbnQiLCJjaGlsZHJlbiIsInBhZ2VUeXBlIiwib25DbGljayIsIm51bSIsInNlbGVjdGVkS2V5cyIsInNlbGVjdGVkTm9kZXMiLCJrZXl3b3JkIiwidHJlZVByb3BzIiwic2VhcmNoS2V5Iiwic2VhcmNoRmllbGQiLCJpc0xlYWYiLCJkYXRhcmVmIiwiYXR0cmlidXRlIiwiY29sdW1ucyIsInNob3dTZWFyY2giLCJzdWJtaXRVcmwiLCJ0YWJsZVByb3BzIiwic2hvd0xlZnQiLCJzdWJtaXRQYXJhbXMiLCJzaG93VG9vbEJ1dHRvbiIsInNob3dBZGRCdXR0b24iLCJzaG93RGVsZXRlQnV0dG9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsInRyZWVTdG9yZSIsInRyZWVTZWFyY2giLCJ0aXRsZUFsaWFzIiwidGFibGVQYXJhbXMiLCJyb3dTZWxlY3Rpb24iLCJvblNlbGVjdCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0IiwiYmluZCIsIm9uU2VsZWN0QWxsIiwicm93U2VsZWN0aW9uT25TZWxlY3RBbGwiLCJjb2x1bW5XaWR0aCIsInRhYmxlQ29sdW1uIiwic2VhcmNoRm9ybXMiLCJlZGl0b3JGb3JtcyIsInRlbXAiLCJzZWFyY2giLCJmaWVsZCIsImRhdGFJbmRleCIsImxhYmVsIiwiZWRpdG9yIiwicnVsZXMiLCJzcGFuIiwiY29sdW1uU2VhcmNoIiwiZmlsdGVyUHJvcHMiLCJCdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJ3aWR0aCIsInJlbmRlciIsInRleHQiLCJzaG93Rm9ybSIsInJlbmRlckNsb3VtbkJ1dHRvbiIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJvblNlYXJjaCIsInJlc2V0RmllbGRzIiwicmVmcmVzaCIsImFfc3R5bGUiLCJtYXJnaW5MZWZ0IiwiYWRkIiwiZGVsZXRlMyIs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LEdBQUcsRUFBRSxLQUFLbEQsU0FEWjtBQUVFLFFBQUEsUUFBUSxFQUFFLEtBQUs0RyxRQUFMLENBQWN4QixJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxRQUFBLFFBQVEsRUFBRSxLQUFLcUMsV0FBTCxDQUFpQnJDLElBQWpCLENBQXNCLElBQXRCLENBSFo7QUFJRSxRQUFBLFNBQVMsRUFBRU0sV0FKYjtBQUtFLFFBQUEsU0FBUyxFQUFFdkIsU0FMYjtBQU1FLFFBQUEsWUFBWSxFQUFFRyxZQU5oQjtBQU9FLFFBQUEsUUFBUSxFQUFFLEtBQUtyRixLQUFMLENBQVd5STtBQVB2QixRQTFHSixDQURGO0FBdUhEOzs7O0VBamNvQjNKLGE7O0FBbWN2QixlQUFlaUIsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi4vLi4vdGFibGVcIjtcclxuaW1wb3J0IFRyZWUgZnJvbSBcIi4uLy4uL3RyZWVcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYnV0dG9uXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vbW9kYWxcIjtcclxuaW1wb3J0IFBvcG92ZXIgZnJvbSBcIi4uLy4uL3BvcG92ZXJcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgeyBpY29uVHlwZSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IEVkaXRvckZvcm0gZnJvbSBcIi4vRm9ybVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFBhZ2VTdG9yZSwgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyBEb3duT3V0bGluZWQsIFVwT3V0bGluZWQgfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgcmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0IHsgQnV0dG9uUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbnRlcmZhY2UgVGFibGVQcm9wcyB7XHJcbiAgYWN0aW9uQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmk43kvZzliJdcclxuICBhY3Rpb25CdXR0b24/OiBib29sZWFuOyAvL+aYr+WQpum7mOiupOaYvuekuuaWsOWinu+8jOe8lui+kem7mOiupOaMiemSrlxyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuui/h+a7pOaMiemSrlxyXG4gIHNob3dSb3dTZWxlY3Rpb24/OiBib29sZWFuOyAvL+aYr+WQpuihqOagvOWLvumAieWIl1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmkJzntKLmoYZcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7IC8v5pCc57SidmFsdWXlr7nlupTnmoRrZXlcclxuICBzZWFyY2hGaWVsZD86IHN0cmluZzsgLy/mn6Xor6Llr7nlupTnmoRrZXlcclxuICB0aXRsZUFsaWFzPzogc3RyaW5nOyAvL+agkXRpdGxl5a+55bqU55qEa2V5LOm7mOiupHRpdGxlXHJcbiAgbm9kZVBvcnBzPzogb2JqZWN0O1xyXG59XHJcbmludGVyZmFjZSBOU0NCYXNlQmFnZVByb3BzIHtcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlpLTpg6jmkJzntKLmoI9cclxuICB0YWJsZVByb3BzPzogVGFibGVQcm9wczsgLy/ooajmoLzlj4LmlbBcclxuICB0cmVlUHJvcHM/OiBUcmVlUHJvcHM7IC8v5bem5L6n5qCR5Y+C5pWwXHJcbiAgc3VibWl0UGFyYW1zPzogT2JqZWN0O1xyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86IGFueTtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgc2hvd0FkZEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65re75Yqg5oyJ6ZKuXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgc2hvd0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65Yig6Zmk5oyJ6ZKuXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogYW55O1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG59XHJcblxyXG5jbGFzcyBCYXNlUGFnZSBleHRlbmRzIFB1cmVDb21wb25lbnQ8TlNDQmFzZUJhZ2VQcm9wcywgYW55PiB7XHJcbiAgdGFibGVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHRyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZWRpdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgdHJlZVNlbGVjdGVkS2V5OiBcIlwiLFxyXG4gICAgICBleHBhbmQ6IGZhbHNlLFxyXG4gICAgfTtcclxuICB9XHJcbiAgb25TZWxlY3QgPSAoY2hlY2tlZFRyZWVLZXlzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQsIGRlcHRJZDogY2hlY2tlZFRyZWVLZXlzWzBdIH07XHJcbiAgICB0aGlzLnRhYmxlTG9hZCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgLy/mmL7npLrooajljZVcclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgZmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LnNob3codmFsdWUsIGZsYWcpO1xyXG4gIH1cclxuICAvL+aJuemHj+WIoOmZpFxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgY29uc3QgeyBkZWxldGVVcmwsIG9uRGVsZXRlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoc2VsZWN0ZWRSb3dLZXlzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIG1lc3NhZ2Uud2FybmluZyhcIuivt+mAieaLqeimgeWIoOmZpOeahOaVsOaNru+8gVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG9uRGVsZXRlKSB7XHJcbiAgICAgIG9uRGVsZXRlICYmIG9uRGVsZXRlKHNlbGVjdGVkUm93S2V5cyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghZGVsZXRlVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIE1vZGFsLmNvbmZpcm0oe1xyXG4gICAgICB0aXRsZTogXCLmmK/lkKbnoa7orqTliKDpmaTmiYDpgInpobnvvJ9cIixcclxuICAgICAgLy8gaWNvbjogPEljb24gdHlwZT17J2ljb250aXNoaS0zJ30gLz4sXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBcInBvc3RcIiwgZGF0YTogeyBpZHM6IHNlbGVjdGVkUm93S2V5cyB9IH07XHJcbiAgICAgICAgcmVxdWVzdChkZWxldGVVcmwsIHtcclxuICAgICAgICAgIC4uLnJlcXVlc3RQYXJhbSxcclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLliKDpmaTlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgdGhpcy5sb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCgpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLm5ld1NlbGVjdGVkUm93S2V5cywgcmVjb3JkLmlkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFsuLi5uZXdpZHNdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHsgZWRpdG9yRm9ybSA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBjb250ZW50ID0gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcImVkaXRvclwiXSwgc3R5bGVzW1wiY29udGVudC1pdGVtXCJdKX1cclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgbnVtID0gMTtcclxuICAgIGlmICghYWN0aW9uQnV0dG9uIHx8ICFlZGl0b3JGb3JtKSBudW0gPSAzO1xyXG4gICAgaWYgKGNvbHVtbkJ1dHRvbnMubGVuZ3RoID4gbnVtKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfT5cclxuICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzW1wiaWNvblwiXX0+XHJcbiAgICAgICAgICAgICAgPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCBJY29uLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge0ljb259IHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMubG9hZCh7IC4uLmZyb21WYWx1ZSwgW3NlYXJjaEZpZWxkXToga2V5d29yZCB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJzdHlsZXNcIiwgc3R5bGVzKTtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgc2hvd0FkZEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIHNob3dEZWxldGVCdXR0b24gPSB0cnVlLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25CdXR0b24gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgIH0gPSB0YWJsZVByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmU6IHRyZWVTdG9yZSA9IHt9LFxyXG4gICAgICBzaG93U2VhcmNoOiB0cmVlU2VhcmNoID0gdHJ1ZSxcclxuICAgICAgdGl0bGVBbGlhcyA9IFwidGl0bGVcIixcclxuICAgIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlIH0gYXMgYW55O1xyXG5cclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICBvblNlbGVjdDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgb25TZWxlY3RBbGw6IHRoaXMucm93U2VsZWN0aW9uT25TZWxlY3RBbGwuYmluZCh0aGlzKSxcclxuICAgICAgICAgIGNvbHVtbldpZHRoOiA0MCxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb2x1bW5zLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmICh0ZW1wLnNlYXJjaCkge1xyXG4gICAgICAgIHNlYXJjaEZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAuc2VhcmNoO1xyXG4gICAgICB0ZW1wLmVkaXRvciAhPT0gZmFsc2UgJiZcclxuICAgICAgICBlZGl0b3JGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHJ1bGVzOiB0ZW1wLnJ1bGVzLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgICBzcGFuOiB0ZW1wLnNwYW4sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnJ1bGVzO1xyXG4gICAgICBkZWxldGUgdGVtcC5zcGFuO1xyXG4gICAgICBpZiAodGVtcC5jb2x1bW5TZWFyY2gpIHtcclxuICAgICAgICB0ZW1wLmZpbHRlclByb3BzID0ge1xyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC50eXBlO1xyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpb25Db2x1bW4gJiZcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5pON5L2cXCIsXHJcbiAgICAgICAgZGF0YUluZGV4OiBcImFjdGlvblwiLFxyXG4gICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICAgICAgcmVuZGVyOiAodGV4dDogYW55LCByZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImFjdGlvblwiXX0+XHJcbiAgICAgICAgICAgICAge2FjdGlvbkJ1dHRvbiAmJiBlZGl0b3JGb3JtID09IHRydWUgJiYgKFxyXG4gICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfVxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzLCByZWNvcmQsIGZhbHNlKX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIOafpeeci1xyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfVxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzLCByZWNvcmQsIHRydWUpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg57yW6L6RXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkLCBhY3Rpb25CdXR0b24pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInBhZ2VcIl19IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgIHtzaG93TGVmdCAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wibGVmdFwiXX0+XHJcbiAgICAgICAgICAgIDxUcmVlXHJcbiAgICAgICAgICAgICAgc3RvcmU9e3sgLi4udHJlZVN0b3JlIH19XHJcbiAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIGNoZWNrYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZT17dHJlZVNlYXJjaH1cclxuICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzPXtbdGhpcy5zdGF0ZS50cmVlU2VsZWN0ZWRLZXldfVxyXG4gICAgICAgICAgICAgIHRpdGxlQWxpYXM9e3RpdGxlQWxpYXN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJyaWdodFwiXX0+XHJcbiAgICAgICAgICB7c2hvd1NlYXJjaCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJoZWFkZXJcIl19PlxyXG4gICAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgICByZWY9e3RoaXMuc2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgICBsYXlvdXQ9XCJpbmxpbmVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAyICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiYnV0dG9uc1wiXX0gc3R5bGU9e3sgbWFyZ2luVG9wOiAwIH19PlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5zZWFyY2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFfc3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX0+XHJcbiAgICAgICAgICAgICAge3Nob3dBZGRCdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlICYmIChcclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuYWRkfSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5re75YqgXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtzaG93RGVsZXRlQnV0dG9uICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmRlbGV0ZTN9IC8+fVxyXG4gICAgICAgICAgICAgICAgICBkYW5nZXJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtCdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJ0YWJsZVwiXX0+XHJcbiAgICAgICAgICAgIDxUYWJsZSByZWY9e3RoaXMudGFibGVSZWZ9IGNvbHVtbnM9e3RhYmxlQ29sdW1ufSB7Li4udGFibGVQYXJhbXN9IC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB7ZWRpdG9yRm9ybSAmJiAoXHJcbiAgICAgICAgICA8RWRpdG9yRm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZWRpdG9yUmVmfVxyXG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBjYWxsQmFjaz17dGhpcy50YWJsZVJlbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmb3JtUHJvcHM9e2VkaXRvckZvcm1zfVxyXG4gICAgICAgICAgICBzdWJtaXRVcmw9e3N1Ym1pdFVybH1cclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zPXtzdWJtaXRQYXJhbXN9XHJcbiAgICAgICAgICAgIG9uU3VibWl0PXt0aGlzLnByb3BzLm9uU3VibWl0fVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEJhc2VQYWdlO1xyXG4iXX0=
620
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2VDb21wb25lbnRzL0Jhc2VQYWdlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJUYWJsZSIsIlRyZWUiLCJGb3JtIiwiQnV0dG9uIiwiTW9kYWwiLCJQb3BvdmVyIiwibWVzc2FnZSIsIkljb24iLCJpY29uVHlwZSIsIkVkaXRvckZvcm0iLCJjbHMiLCJzdHlsZXMiLCJEb3duT3V0bGluZWQiLCJVcE91dGxpbmVkIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJCYXNlUGFnZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiY2hlY2tlZFRyZWVLZXlzIiwic3RhdGUiLCJuYW1lIiwidXNlclR5cGUiLCJhY2NvdW50IiwidmFsdWUiLCJkZXB0SWQiLCJ0YWJsZUxvYWQiLCJ0eXBlIiwic2VsZWN0ZWRSb3dLZXlzIiwidHJlZVNlbGVjdGVkS2V5IiwiZXhwYW5kIiwiZmxhZyIsImVkaXRvclJlZiIsImN1cnJlbnQiLCJzaG93IiwiZGVsZXRlVXJsIiwib25EZWxldGUiLCJkZWxldGVQYXJhbXMiLCJsZW5ndGgiLCJ3YXJuaW5nIiwiRXJyb3IiLCJjb25maXJtIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJwYXJhbXMiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImZyb21WYWx1ZSIsInNlYXJjaFJlZiIsImdldEZpZWxkc1ZhbHVlIiwicmVsb2FkIiwicmVjb3JkIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RlZFJvd0tleXMiLCJpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInNwbGljZSIsInNldFN0YXRlIiwic2VsZWN0ZWRSb3dzIiwiY2hhbmdlUm93cyIsIm5ld2lkcyIsImNoYW5nZUlkcyIsImluZGV4T2YiLCJwdXNoIiwiY29sdW1uQnV0dG9ucyIsImFjdGlvbkJ1dHRvbiIsImVkaXRvckZvcm0iLCJjb250ZW50IiwiY2hpbGRyZW4iLCJwYWdlVHlwZSIsIm9uQ2xpY2siLCJudW0iLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsImNvbHVtbnMiLCJzaG93U2VhcmNoIiwic3VibWl0VXJsIiwidGFibGVQcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJzaG93QWRkQnV0dG9uIiwic2hvd0RlbGV0ZUJ1dHRvbiIsImZpbHRlckNvbHVtbiIsImFjdGlvbkNvbHVtbiIsInNob3dSb3dTZWxlY3Rpb24iLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsInRhYmxlUGFyYW1zIiwicm93U2VsZWN0aW9uIiwib25TZWxlY3QiLCJyb3dTZWxlY3Rpb25PblNlbGVjdCIsImJpbmQiLCJvblNlbGVjdEFsbCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0QWxsIiwiY29sdW1uV2lkdGgiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJsYWJlbCIsImVkaXRvciIsInJ1bGVzIiwic3BhbiIsImRpY3ROYW1lIiwiY29sdW1uU2VhcmNoIiwiZmlsdGVyUHJvcHMiLCJCdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJ3aWR0aCIsInJlbmRlciIsInRleHQiLCJzaG93Rm9ybSIsInJlbmRlckNsb3VtbkJ1dHRvbiIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJyZXNldEZpZWxkcyIsInJlZnJlc2giLCJhX3N0eWxlIiwibWFyZ2luTGVmdCIsImFkZCIsImRlbGV0ZTMiLCJ0YWJsZVJlbG9hZCIsIm9uU3VibWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGFBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixZQUFqQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsWUFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixhQUFsQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsZUFBcEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLGVBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQix1QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsUUFBdkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7QUFFQSxTQUFTQyxZQUFULEVBQXVCQyxVQUF2QixRQUF5QyxtQkFBekM7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixhQUFwQjs7SUFxQ01DLFE7Ozs7O0FBTUosb0JBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47O0FBRHNCLDRFQUxibkIsS0FBSyxDQUFDb0IsU0FBTixFQUthOztBQUFBLDJFQUpkcEIsS0FBSyxDQUFDb0IsU0FBTixFQUljOztBQUFBLDZFQUhacEIsS0FBSyxDQUFDb0IsU0FBTixFQUdZOztBQUFBLDZFQUZacEIsS0FBSyxDQUFDb0IsU0FBTixFQUVZOztBQUFBLCtEQVNiLFVBQUNDLGVBQUQsRUFBMEI7QUFDbkMsd0JBQW9DLE1BQUtDLEtBQXpDO0FBQUEsVUFBUUMsSUFBUixlQUFRQSxJQUFS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QU0sVUFBQSxJQUFJLEVBQUUvRyxRQUFRLENBQUNtSjtBQUFyQixVQUhSO0FBSUUsUUFBQSxNQUFNO0FBSlIsd0JBWEosRUFvQkdsQixPQUFPLENBQUNqRSxHQUFSLENBQVksVUFBQ0MsSUFBRCxFQUFZQyxLQUFaLEVBQTJCO0FBQ3RDLDRCQUFPO0FBQUssVUFBQSxHQUFHLEVBQUVBO0FBQVYsV0FBa0JELElBQWxCLENBQVA7QUFDRCxPQUZBLENBcEJILENBL0RKLGVBd0ZFO0FBQUssUUFBQSxTQUFTLEVBQUU5RCxNQUFNLENBQUMsT0FBRDtBQUF0QixzQkFDRSxvQkFBQyxLQUFEO0FBQU8sUUFBQSxHQUFHLEVBQUUsS0FBS2lELFFBQWpCO0FBQTJCLFFBQUEsT0FBTyxFQUFFK0Q7QUFBcEMsU0FBcURSLFdBQXJELEVBREYsQ0F4RkYsQ0FkRixFQTBHRzlCLFVBQVUsaUJBQ1Qsb0JBQUMsVUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUtyRCxTQURaO0FBRUUsUUFBQSxRQUFRLEVBQUUsS0FBS2dILFFBQUwsQ0FBY3pCLElBQWQsQ0FBbUIsSUFBbkIsQ0FGWjtBQUdFLFFBQUEsUUFBUSxFQUFFLEtBQUtxQyxXQUFMLENBQWlCckMsSUFBakIsQ0FBc0IsSUFBdEIsQ0FIWjtBQUlFLFFBQUEsU0FBUyxFQUFFTSxXQUpiO0FBS0UsUUFBQSxTQUFTLEVBQUV2QixTQUxiO0FBTUUsUUFBQSxZQUFZLEVBQUVHLFlBTmhCO0FBT0UsUUFBQSxRQUFRLEVBQUUsS0FBS3hGLEtBQUwsQ0FBVzRJO0FBUHZCLFFBM0dKLENBREY7QUF3SEQ7Ozs7RUFoZG9COUosYTs7QUFrZHZCLGVBQWVpQixRQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLi8uLi90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9idXR0b25cIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi9tb2RhbFwiO1xyXG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwiLi4vLi4vcG9wb3ZlclwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vbWVzc2FnZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vY29tbW9uL0ljb25Gb250XCI7XHJcbmltcG9ydCB7IGljb25UeXBlIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgRWRpdG9yRm9ybSBmcm9tIFwiLi9Gb3JtXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IERvd25PdXRsaW5lZCwgVXBPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbn1cclxuaW50ZXJmYWNlIFRyZWVQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaQnOe0ouahhlxyXG4gIHNlYXJjaEtleT86IHN0cmluZzsgLy/mkJzntKJ2YWx1ZeWvueW6lOeahGtleVxyXG4gIHNlYXJjaEZpZWxkPzogc3RyaW5nOyAvL+afpeivouWvueW6lOeahGtleVxyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7IC8v5qCRdGl0bGXlr7nlupTnmoRrZXks6buY6K6kdGl0bGVcclxuICBub2RlUG9ycHM/OiBvYmplY3Q7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86IGFueTtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgc2hvd0FkZEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65re75Yqg5oyJ6ZKuXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgc2hvd0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65Yig6Zmk5oyJ6ZKuXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogYW55OyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86IGFueTtcclxufVxyXG5cclxuY2xhc3MgQmFzZVBhZ2UgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5TQ0Jhc2VCYWdlUHJvcHMsIGFueT4ge1xyXG4gIHRhYmxlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICB0cmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGVkaXRvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBhbnkpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIG9uU2VsZWN0ID0gKGNoZWNrZWRUcmVlS2V5czogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgdmFsdWUgPSB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50LCBkZXB0SWQ6IGNoZWNrZWRUcmVlS2V5c1swXSB9O1xyXG4gICAgdGhpcy50YWJsZUxvYWQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIC8v5pi+56S66KGo5Y2VXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zaG93KHZhbHVlLCBmbGFnKTtcclxuICB9XHJcbiAgLy/mibnph4/liKDpmaRcclxuICBvbkRlbGV0ZSgpIHtcclxuICAgIGNvbnN0IHsgZGVsZXRlVXJsLCBvbkRlbGV0ZSwgZGVsZXRlUGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoc2VsZWN0ZWRSb3dLZXlzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIG1lc3NhZ2Uud2FybmluZyhcIuivt+mAieaLqeimgeWIoOmZpOeahOaVsOaNru+8gVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG9uRGVsZXRlKSB7XHJcbiAgICAgIG9uRGVsZXRlICYmIG9uRGVsZXRlKHNlbGVjdGVkUm93S2V5cyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghZGVsZXRlVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIE1vZGFsLmNvbmZpcm0oe1xyXG4gICAgICB0aXRsZTogXCLmmK/lkKbnoa7orqTliKDpmaTmiYDpgInpobnvvJ9cIixcclxuICAgICAgLy8gaWNvbjogPEljb24gdHlwZT17J2ljb250aXNoaS0zJ30gLz4sXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRQYXJhbXMgPSB7XHJcbiAgICAgICAgICBtZXRob2Q6IFwicG9zdFwiLFxyXG4gICAgICAgICAgcGFyYW1zOiB7IGlkczogc2VsZWN0ZWRSb3dLZXlzLmpvaW4oKSB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbGV0IHJlcXVlc3RQYXJhbXMgPSB7fSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRQYXJhbXMpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlbGV0ZVBhcmFtcyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWZhdWx0UGFyYW1zIH07XHJcbiAgICAgICAgcmVxdWVzdChkZWxldGVVcmwsIHtcclxuICAgICAgICAgIC4uLnJlcXVlc3RQYXJhbXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuWIoOmZpOaIkOWKn++8gVwiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5Yig6Zmk5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55KSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLmxvYWQoe1xyXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL+afpeivolxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgY29uc3QgeyBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2goZnJvbVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCgpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLm5ld1NlbGVjdGVkUm93S2V5cywgcmVjb3JkLmlkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFsuLi5uZXdpZHNdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHsgZWRpdG9yRm9ybSA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBjb250ZW50ID0gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcImVkaXRvclwiXSwgc3R5bGVzW1wiY29udGVudC1pdGVtXCJdKX1cclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgbnVtID0gMTtcclxuICAgIGlmICghYWN0aW9uQnV0dG9uIHx8ICFlZGl0b3JGb3JtKSBudW0gPSAzO1xyXG4gICAgaWYgKGNvbHVtbkJ1dHRvbnMubGVuZ3RoID4gbnVtKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiZWRpdG9yXCJdfT5cclxuICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzW1wiaWNvblwiXX0+XHJcbiAgICAgICAgICAgICAgPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCBJY29uLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge0ljb259IHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMubG9hZCh7IC4uLmZyb21WYWx1ZSwgW3NlYXJjaEZpZWxkXToga2V5d29yZCB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJzdHlsZXNcIiwgc3R5bGVzKTtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgc2hvd0FkZEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIHNob3dEZWxldGVCdXR0b24gPSB0cnVlLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25CdXR0b24gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgIH0gPSB0YWJsZVByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmU6IHRyZWVTdG9yZSA9IHt9LFxyXG4gICAgICBzaG93U2VhcmNoOiB0cmVlU2VhcmNoID0gdHJ1ZSxcclxuICAgICAgdGl0bGVBbGlhcyA9IFwidGl0bGVcIixcclxuICAgIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlIH0gYXMgYW55O1xyXG5cclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICBvblNlbGVjdDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgb25TZWxlY3RBbGw6IHRoaXMucm93U2VsZWN0aW9uT25TZWxlY3RBbGwuYmluZCh0aGlzKSxcclxuICAgICAgICAgIGNvbHVtbldpZHRoOiA0MCxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb2x1bW5zLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmICh0ZW1wLnNlYXJjaCkge1xyXG4gICAgICAgIHNlYXJjaEZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAuc2VhcmNoO1xyXG4gICAgICB0ZW1wLmVkaXRvciAhPT0gZmFsc2UgJiZcclxuICAgICAgICBlZGl0b3JGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHJ1bGVzOiB0ZW1wLnJ1bGVzLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgICBzcGFuOiB0ZW1wLnNwYW4sXHJcbiAgICAgICAgICBkaWN0TmFtZTogdGVtcC5kaWN0TmFtZSxcclxuICAgICAgICB9KTtcclxuICAgICAgZGVsZXRlIHRlbXAucnVsZXM7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNwYW47XHJcbiAgICAgIGlmICh0ZW1wLmNvbHVtblNlYXJjaCkge1xyXG4gICAgICAgIHRlbXAuZmlsdGVyUHJvcHMgPSB7XHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnR5cGU7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnByb3BzO1xyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBCdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0ucHJvcHMucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgIEJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ucHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIEJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IDE1MCxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiYWN0aW9uXCJdfT5cclxuICAgICAgICAgICAgICB7YWN0aW9uQnV0dG9uICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMsIHJlY29yZCwgZmFsc2UpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg5p+l55yLXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMsIHJlY29yZCwgdHJ1ZSl9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zLCByZWNvcmQsIGFjdGlvbkJ1dHRvbil9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wicGFnZVwiXX0gc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJsZWZ0XCJdfT5cclxuICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICBzdG9yZT17eyAuLi50cmVlU3RvcmUgfX1cclxuICAgICAgICAgICAgICBzaG93SWNvbj17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cmVlU2VhcmNofVxyXG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnRyZWVTZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgdGl0bGVBbGlhcz17dGl0bGVBbGlhc31cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInJpZ2h0XCJdfT5cclxuICAgICAgICAgIHtzaG93U2VhcmNoICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImhlYWRlclwiXX0+XHJcbiAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgICBsYWJlbENvbD17e319XHJcbiAgICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgIGxheW91dD1cImlubGluZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDIgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlcz17aXRlbS5ydWxlc31cclxuICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiYnV0dG9uc1wiXX0gc3R5bGU9e3sgbWFyZ2luVG9wOiAwIH19PlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5zZWFyY2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFfc3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX0+XHJcbiAgICAgICAgICAgICAge3Nob3dBZGRCdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlICYmIChcclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2hvd0Zvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuYWRkfSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5re75YqgXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtzaG93RGVsZXRlQnV0dG9uICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmRlbGV0ZTN9IC8+fVxyXG4gICAgICAgICAgICAgICAgICBkYW5nZXJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtCdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJ0YWJsZVwiXX0+XHJcbiAgICAgICAgICAgIDxUYWJsZSByZWY9e3RoaXMudGFibGVSZWZ9IGNvbHVtbnM9e3RhYmxlQ29sdW1ufSB7Li4udGFibGVQYXJhbXN9IC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB7ZWRpdG9yRm9ybSAmJiAoXHJcbiAgICAgICAgICA8RWRpdG9yRm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZWRpdG9yUmVmfVxyXG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBjYWxsQmFjaz17dGhpcy50YWJsZVJlbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmb3JtUHJvcHM9e2VkaXRvckZvcm1zfVxyXG4gICAgICAgICAgICBzdWJtaXRVcmw9e3N1Ym1pdFVybH1cclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zPXtzdWJtaXRQYXJhbXN9XHJcbiAgICAgICAgICAgIG9uU3VibWl0PXt0aGlzLnByb3BzLm9uU3VibWl0fVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEJhc2VQYWdlO1xyXG4iXX0=
@@ -95,10 +95,15 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
95
95
  _props$deleteData = props.deleteData,
96
96
  deleteData = _props$deleteData === void 0 ? [] : _props$deleteData,
97
97
  _props$valueField = props.valueField,
98
- valueField = _props$valueField === void 0 ? "value" : _props$valueField;
98
+ valueField = _props$valueField === void 0 ? "dictKey" : _props$valueField,
99
+ _props$viewtype = props.viewtype,
100
+ viewtype = _props$viewtype === void 0 ? "system" : _props$viewtype;
99
101
 
100
102
  var _config = config(),
101
- viewUrl = _config.viewUrl;
103
+ viewUrl = _config.viewUrl,
104
+ viewBizUrl = _config.viewBizUrl;
105
+
106
+ var requestViewUrl = viewtype == "system" ? viewUrl : viewBizUrl;
102
107
 
103
108
  if (!children) {
104
109
  var url = store.url,
@@ -180,7 +185,7 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
180
185
 
181
186
  storeProps = _objectSpread(_objectSpread({}, {
182
187
  autoLoad: true,
183
- url: url ? url : viewUrl + viewname,
188
+ url: url ? url : requestViewUrl + viewname,
184
189
  //读字典,url固定,viewname
185
190
  cached: isCached,
186
191
  cacheKey: isCacheKey
@@ -229,9 +234,9 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
229
234
  value: function convertData(data) {
230
235
  var _this$props2 = this.props,
231
236
  _this$props2$labelFie = _this$props2.labelField,
232
- labelField = _this$props2$labelFie === void 0 ? "label" : _this$props2$labelFie,
237
+ labelField = _this$props2$labelFie === void 0 ? "dictValue" : _this$props2$labelFie,
233
238
  _this$props2$valueFie = _this$props2.valueField,
234
- valueField = _this$props2$valueFie === void 0 ? "value" : _this$props2$valueFie,
239
+ valueField = _this$props2$valueFie === void 0 ? "dictKey" : _this$props2$valueFie,
235
240
  _this$props2$store = _this$props2.store,
236
241
  store = _this$props2$store === void 0 ? {} : _this$props2$store;
237
242
  var dataSoure = [];
@@ -368,4 +373,4 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
368
373
  }(Component);
369
374
 
370
375
  export { RadioGroup as default };
371
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3JhZGlvL1JhZGlvR3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50Iiwib21pdCIsIlN0b3JlIiwidXRpbHMiLCJjb25maWciLCJSYWRpb0dyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInZpZXdVcmwiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInN0b3JlcyIsIkVycm9yIiwiZ2V0QWxsRGF0YSIsIm5ld0RhdGEiLCJsZW5ndGgiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiY29udmVydERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiaXNDYWNoZWQiLCJpc0NhY2hlS2V5IiwiYXV0b0xvYWQiLCJlIiwiY3VzdG9taXplIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJzdGF0ZSIsImxhYmVsRmllbGQiLCJkYXRhU291cmUiLCJvYmoiLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImRpc2FibGVkIiwicHVzaCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyYWRpb3MiLCJpc0FycmF5IiwiQXJyYXkiLCJjaGlsZCIsImlzQWN0aXZlIiwiY2xvbmVFbGVtZW50IiwiYWN0aXZlIiwib25DbGljayIsImhhbmRsZUFjdGl2ZUNoYW5nZSIsImJpbmQiLCJrZXkiLCJwYXJhbXMiLCJSYWRpb1Byb3BzIl0sIm1hcHBpbmdzIjoiOzs7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QUFNLEVBQUVGLFFBSHdCO0FBSWhDRyxZQUFBQSxPQUFPLEVBQUUsS0FBS0Msa0JBQUwsQ0FBd0JDLElBQXhCLENBQTZCLElBQTdCLEVBQW1DVCxNQUFNLENBQUM3RCxLQUFQLENBQWFHLEtBQWhEO0FBSnVCLFdBQTNCLENBQVA7QUFNRDtBQUNGLE9BckJELE1BcUJPO0FBQ0wsMkJBQXFDLEtBQUtILEtBQTFDO0FBQUEsWUFBUU8sSUFBUixnQkFBUUEsSUFBUjtBQUFBLFlBQWNELE9BQWQsZ0JBQWNBLE9BQWQ7QUFBQSxZQUEwQmtFLE1BQTFCOztBQUNBLFlBQU1DLFVBQVUsR0FBRzlFLElBQUksbUJBQU02RSxNQUFOLEdBQWdCLENBQ3JDLE9BRHFDLEVBRXJDLFlBRnFDLEVBR3JDLFlBSHFDLEVBSXJDLFdBSnFDLEVBS3JDLFVBTHFDLEVBTXJDLFNBTnFDLEVBT3JDLFlBUHFDLENBQWhCLENBQXZCO0FBU0EsNEJBQ0UsdURBQ0UsMkJBQU8sS0FBUDtBQUNFLFVBQUEsS0FBSyxFQUFFLEtBQUt0QixLQUFMLENBQVcvQyxLQURwQjtBQUVFLFVBQUEsT0FBTyxFQUFFLEtBQUsrQyxLQUFMLENBQVdqRCxVQUZ0QjtBQUdFLFVBQUEsUUFBUSxFQUFFLEtBQUtvRSxrQkFBTCxDQUF3QkMsSUFBeEIsQ0FBNkIsSUFBN0I7QUFIWixXQUlNRyxVQUpOLEVBREYsQ0FERjtBQVVEO0FBQ0Y7Ozs7RUE1T3FDL0UsUzs7U0FBbkJLLFUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTQ6MzM6MzVcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjE3XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJhZGlvR3JvdXBQcm9wcyBleHRlbmRzIFJhZGlvR3JvdXBQcm9wcyB7XHJcbiAgY3VzdG9taXplPzogYm9vbGVhbjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZERhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+S4jnN0b3Jl5LiA6LW355SoXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PHN0cmluZz47XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSwgZT86IGFueSkgPT4gdm9pZDtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50PElSYWRpb0dyb3VwUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgZGF0YVN0b3JlOiBbXSxcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCA9IFwidmFsdWVcIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgdXJsLFxyXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICAgIHZpZXduYW1lLFxyXG4gICAgICAgIGNhY2hlZCxcclxuICAgICAgICBjYWNoZUtleSxcclxuICAgICAgICAuLi5zdG9yZXNcclxuICAgICAgfSA9IHN0b3JlO1xyXG4gICAgICBpZiAoIXVybCAmJiAhb3B0aW9ucyAmJiAhZGF0YSAmJiAhdmlld25hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsID8gdXJsIDogdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWN0aXZlQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgY3VzdG9taXplLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChjdXN0b21pemUpIHtcclxuICAgICAgb25DaGFuZ2UgJiYgb25DaGFuZ2UoZSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHZhbHVlOiBlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29udmVydERhdGEoZGF0YSkge1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCA9IFwibGFiZWxcIiwgdmFsdWVGaWVsZCA9IFwidmFsdWVcIiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBkYXRhU291cmUgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodHlwZW9mIGRhdGFbaV0gPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICBsZXQgb2JqID0geyAuLi5kYXRhW2ldIH07XHJcbiAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICBpZiAodmFsdWVGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIHZhbHVlID0gZGF0YVtpXVt2YWx1ZUZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGRhdGFbaV1bdl0gOiB2YWx1ZSArIFwiLFwiICsgZGF0YVtpXVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgbGFiZWwgPSBkYXRhW2ldW2xhYmVsRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgZGF0YVtpXVtsXSA6IGxhYmVsICsgXCItXCIgKyBkYXRhW2ldW2xdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9iai5sYWJlbCA9IGxhYmVsO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGRhdGFbaV0uZGlzYWJsZWQgPyBkYXRhW2ldLmRpc2FibGVkIDogZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgb2JqID0ge30gYXMgeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55OyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcclxuICAgICAgICBvYmoubGFiZWwgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGFTb3VyZTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xyXG4gICAgY29uc3QgeyBkYXRhU3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgaWYgKGRhdGEgfHwgb3B0aW9ucykge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVN0b3JlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEobmV3RGF0YSksXHJcbiAgICAgICAgICBkYXRhU3RvcmU6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGN1c3RvbWl6ZSA9IGZhbHNlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHJhZGlvczogYW55O1xyXG4gICAgcmFkaW9zID0gY2hpbGRyZW47XHJcbiAgICBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheShjaGlsZHJlbik7XHJcbiAgICBpZiAoY3VzdG9taXplKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHJhZGlvcy5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGV0IGlzQWN0aXZlID0gdGhpcy5wcm9wcy52YWx1ZSA9PT0gY2hpbGQucHJvcHMudmFsdWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBjaGlsZC5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgdmFsdWU6IGNoaWxkLnByb3BzLnZhbHVlLFxyXG4gICAgICAgICAgICBhY3RpdmU6IGlzQWN0aXZlLFxyXG4gICAgICAgICAgICBvbkNsaWNrOiB0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMsIGNoaWxkLnByb3BzLnZhbHVlKSxcclxuICAgICAgICAgICAga2V5OiBpbmRleCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBpc0FjdGl2ZSA9IHRoaXMucHJvcHMudmFsdWUgPT09IHJhZGlvcy5wcm9wcy52YWx1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KHJhZGlvcywge1xyXG4gICAgICAgICAgbGFiZWw6IHJhZGlvcy5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgIHZhbHVlOiByYWRpb3MucHJvcHMudmFsdWUsXHJcbiAgICAgICAgICBhY3RpdmU6IGlzQWN0aXZlLFxyXG4gICAgICAgICAgb25DbGljazogdGhpcy5oYW5kbGVBY3RpdmVDaGFuZ2UuYmluZCh0aGlzLCByYWRpb3MucHJvcHMudmFsdWUpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgUmFkaW9Qcm9wcyA9IG9taXQoeyAuLi5wYXJhbXMgfSwgW1xyXG4gICAgICAgIFwic3RvcmVcIixcclxuICAgICAgICBcImxhYmVsRmllbGRcIixcclxuICAgICAgICBcInZhbHVlRmllbGRcIixcclxuICAgICAgICBcImN1c3RvbWl6ZVwiLFxyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImFkZERhdGFcIixcclxuICAgICAgICBcImRlbGV0ZURhdGFcIixcclxuICAgICAgXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgIDxSYWRpby5Hcm91cFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgb3B0aW9ucz17dGhpcy5zdGF0ZS5kYXRhU291cmNlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVBY3RpdmVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLlJhZGlvUHJvcHN9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
376
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3JhZGlvL1JhZGlvR3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50Iiwib21pdCIsIlN0b3JlIiwidXRpbHMiLCJjb25maWciLCJSYWRpb0dyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInZpZXd0eXBlIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiRXJyb3IiLCJnZXRBbGxEYXRhIiwibmV3RGF0YSIsImxlbmd0aCIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJjb252ZXJ0RGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsImUiLCJjdXN0b21pemUiLCJvbkNoYW5nZSIsInRhcmdldCIsInN0YXRlIiwibGFiZWxGaWVsZCIsImRhdGFTb3VyZSIsIm9iaiIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZGlzYWJsZWQiLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsInJhZGlvcyIsImlzQXJyYXkiLCJBcnJheSIsImNoaWxkIiwiaXNBY3RpdmUiLCJjbG9uZUVsZW1lbnQiLCJhY3RpdmUiLCJvbkNsaWNrIiwiaGFuZGxlQWN0aXZlQ2hhbmdlIiwiYmluZCIsImtl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ICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTQ6MzM6MzVcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjE3XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJhZGlvR3JvdXBQcm9wcyBleHRlbmRzIFJhZGlvR3JvdXBQcm9wcyB7XHJcbiAgY3VzdG9taXplPzogYm9vbGVhbjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZERhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+S4jnN0b3Jl5LiA6LW355SoXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PHN0cmluZz47XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSwgZT86IGFueSkgPT4gdm9pZDtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50PElSYWRpb0dyb3VwUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgZGF0YVN0b3JlOiBbXSxcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCA9IFwiZGljdEtleVwiLFxyXG4gICAgICB2aWV3dHlwZSA9IFwic3lzdGVtXCIsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzdGVtXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHVybCxcclxuICAgICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgICB2aWV3bmFtZSxcclxuICAgICAgICBjYWNoZWQsXHJcbiAgICAgICAgY2FjaGVLZXksXHJcbiAgICAgICAgLi4uc3RvcmVzXHJcbiAgICAgIH0gPSBzdG9yZTtcclxuICAgICAgaWYgKCF1cmwgJiYgIW9wdGlvbnMgJiYgIWRhdGEgJiYgIXZpZXduYW1lKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeWSjG9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgbmV3RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZihpdGVtKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfTtcclxuICAgICAgdmFyIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhU291cmNlID0gX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGRhdGFTb3VyY2U6IF90aGlzLmNvbnZlcnREYXRhKGdldEFsbERhdGEoZGF0YSkpLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCA/IHVybCA6IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3RpdmVDaGFuZ2UoZSkge1xyXG4gICAgY29uc3QgeyBjdXN0b21pemUsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGN1c3RvbWl6ZSkge1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShlKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgdmFsdWU6IGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICB9KTtcclxuICAgICAgb25DaGFuZ2UgJiYgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBjb252ZXJ0RGF0YShkYXRhKSB7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkID0gXCJkaWN0VmFsdWVcIiwgdmFsdWVGaWVsZCA9IFwiZGljdEtleVwiLCBzdG9yZSA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IGRhdGFTb3VyZSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtpXSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgIGxldCBvYmogPSB7IC4uLmRhdGFbaV0gfTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgdmFsdWUgPSBkYXRhW2ldW3ZhbHVlRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgZGF0YVtpXVt2XSA6IHZhbHVlICsgXCIsXCIgKyBkYXRhW2ldW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICBsYWJlbCA9IGRhdGFbaV1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBkYXRhW2ldW2xdIDogbGFiZWwgKyBcIi1cIiArIGRhdGFbaV1bbF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JqLmxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgb2JqLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZGF0YVtpXS5kaXNhYmxlZCA/IGRhdGFbaV0uZGlzYWJsZWQgOiBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBvYmogPSB7fSBhcyB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgICAgIG9iai5sYWJlbCA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLnZhbHVlID0gZGF0YVtpXTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YVNvdXJlO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEoZGF0YSA/IGRhdGEgOiBvcHRpb25zKSxcclxuICAgICAgICBkYXRhU3RvcmU6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY3VzdG9taXplID0gZmFsc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcmFkaW9zOiBhbnk7XHJcbiAgICByYWRpb3MgPSBjaGlsZHJlbjtcclxuICAgIGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNoaWxkcmVuKTtcclxuICAgIGlmIChjdXN0b21pemUpIHtcclxuICAgICAgaWYgKGlzQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gcmFkaW9zLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBsZXQgaXNBY3RpdmUgPSB0aGlzLnByb3BzLnZhbHVlID09PSBjaGlsZC5wcm9wcy52YWx1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcclxuICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICB2YWx1ZTogY2hpbGQucHJvcHMudmFsdWUsXHJcbiAgICAgICAgICAgIGFjdGl2ZTogaXNBY3RpdmUsXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6IHRoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcywgY2hpbGQucHJvcHMudmFsdWUpLFxyXG4gICAgICAgICAgICBrZXk6IGluZGV4LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGlzQWN0aXZlID0gdGhpcy5wcm9wcy52YWx1ZSA9PT0gcmFkaW9zLnByb3BzLnZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQocmFkaW9zLCB7XHJcbiAgICAgICAgICBsYWJlbDogcmFkaW9zLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgdmFsdWU6IHJhZGlvcy5wcm9wcy52YWx1ZSxcclxuICAgICAgICAgIGFjdGl2ZTogaXNBY3RpdmUsXHJcbiAgICAgICAgICBvbkNsaWNrOiB0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMsIHJhZGlvcy5wcm9wcy52YWx1ZSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBSYWRpb1Byb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICAgIFwidmFsdWVGaWVsZFwiLFxyXG4gICAgICAgIFwiY3VzdG9taXplXCIsXHJcbiAgICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICAgIFwiYWRkRGF0YVwiLFxyXG4gICAgICAgIFwiZGVsZXRlRGF0YVwiLFxyXG4gICAgICBdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgPFJhZGlvLkdyb3VwXHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICBvcHRpb25zPXt0aGlzLnN0YXRlLmRhdGFTb3VyY2V9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4uUmFkaW9Qcm9wc31cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -11,6 +11,7 @@ interface ISelectProps extends SelectProps<any> {
11
11
  addData?: Array<Object>;
12
12
  deleteData?: Array<String>;
13
13
  valueBreak?: string;
14
+ valueType?: "string" | "number";
14
15
  [proName: string]: any;
15
16
  }
16
17
  export default class NSCSelect extends PureComponent<ISelectProps> {
@@ -2,8 +2,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
2
2
 
3
3
  import "antd/es/select/style/css";
4
4
  import _Select from "antd/es/select";
5
- var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey"],
6
- _excluded2 = ["children", "store", "data", "onChange", "options", "labelField", "valueField", "defaultStyle", "showGroup", "addData", "deleteData"];
5
+ var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey", "viewtype"],
6
+ _excluded2 = ["children", "store", "data", "onChange", "options", "labelField", "valueField", "defaultStyle", "showGroup", "addData", "deleteData", "valueType"];
7
7
 
8
8
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
9
 
@@ -91,7 +91,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
91
91
  _props$deleteData = props.deleteData,
92
92
  deleteData = _props$deleteData === void 0 ? [] : _props$deleteData,
93
93
  _props$valueField = props.valueField,
94
- valueField = _props$valueField === void 0 ? "value" : _props$valueField;
94
+ valueField = _props$valueField === void 0 ? "dictKey" : _props$valueField;
95
95
 
96
96
  var url = store.url,
97
97
  _store$listeners = store.listeners,
@@ -99,10 +99,15 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
99
99
  viewname = store.viewname,
100
100
  cached = store.cached,
101
101
  cacheKey = store.cacheKey,
102
+ _store$viewtype = store.viewtype,
103
+ viewtype = _store$viewtype === void 0 ? "system" : _store$viewtype,
102
104
  stores = _objectWithoutProperties(store, _excluded);
103
105
 
104
106
  var _config = config(),
105
- viewUrl = _config.viewUrl;
107
+ viewUrl = _config.viewUrl,
108
+ viewBizUrl = _config.viewBizUrl;
109
+
110
+ var requestViewUrl = viewtype == "system" ? viewUrl : viewBizUrl;
106
111
 
107
112
  var getAllData = function getAllData(data) {
108
113
  var newData = _toConsumableArray(data);
@@ -180,7 +185,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
180
185
 
181
186
  storeProps = _objectSpread(_objectSpread({}, {
182
187
  autoLoad: true,
183
- url: url || viewUrl + viewname,
188
+ url: url || requestViewUrl + viewname,
184
189
  //读字典,url固定,viewname
185
190
  cached: isCached,
186
191
  cacheKey: isCacheKey
@@ -294,7 +299,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
294
299
  allChildren = _this$state3.allChildren;
295
300
  var _this$props3 = this.props,
296
301
  _this$props3$labelFie = _this$props3.labelField,
297
- labelField = _this$props3$labelFie === void 0 ? "label" : _this$props3$labelFie,
302
+ labelField = _this$props3$labelFie === void 0 ? "dictValue" : _this$props3$labelFie,
298
303
  _this$props3$filterOp = _this$props3.filterOption,
299
304
  filterOption = _this$props3$filterOp === void 0 ? true : _this$props3$filterOp,
300
305
  onSearch = _this$props3.onSearch,
@@ -364,16 +369,18 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
364
369
  value: function renderOption(optionData) {
365
370
  var _this$props4 = this.props,
366
371
  _this$props4$labelFie = _this$props4.labelField,
367
- labelField = _this$props4$labelFie === void 0 ? "label" : _this$props4$labelFie,
372
+ labelField = _this$props4$labelFie === void 0 ? "dictValue" : _this$props4$labelFie,
368
373
  _this$props4$valueFie = _this$props4.valueField,
369
- valueField = _this$props4$valueFie === void 0 ? "value" : _this$props4$valueFie,
374
+ valueField = _this$props4$valueFie === void 0 ? "dictKey" : _this$props4$valueFie,
370
375
  _this$props4$store = _this$props4.store,
371
- store = _this$props4$store === void 0 ? {} : _this$props4$store;
376
+ store = _this$props4$store === void 0 ? {} : _this$props4$store,
377
+ _this$props4$valueTyp = _this$props4.valueType,
378
+ valueType = _this$props4$valueTyp === void 0 ? "string" : _this$props4$valueTyp;
372
379
  return optionData.map(function (item) {
373
- var value = "";
380
+ var value;
374
381
 
375
382
  if (valueField.split(",").length == 1) {
376
- value = item[valueField];
383
+ value = valueType === "number" ? Number(item[valueField]) : item[valueField] + "";
377
384
  } else {
378
385
  var valueFields = valueField.split(",");
379
386
  valueFields.map(function (v, index) {
@@ -472,6 +479,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
472
479
  showGroup = _this$props5$showGrou === void 0 ? true : _this$props5$showGrou,
473
480
  addData = _this$props5.addData,
474
481
  deleteData = _this$props5.deleteData,
482
+ valueType = _this$props5.valueType,
475
483
  params = _objectWithoutProperties(_this$props5, _excluded2);
476
484
 
477
485
  var props = {
@@ -513,4 +521,4 @@ _defineProperty(NSCSelect, "Option", Option);
513
521
  _defineProperty(NSCSelect, "OptGroup", OptGroup);
514
522
 
515
523
  export { NSCSelect as default };
516
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic3RhdGUiLCJuZXdQcm9wcyIsIm5ld1N0YXRlIiwiU25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGVDaGlsZHJlblByb3BzIiwicyIsImNoaWxkcmVuUHJvcHMiLCJjIiwibGFiZWxGaWVsZCIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwicmVzdWx0IiwiZm9yRWFjaCIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZmxhZyIsIm1hdGNoIiwiY2hpbGQiLCJvcHRpb25EYXRhIiwia2V5IiwiaWQiLCJkaXNhYmxlZCIsInNob3dHcm91cCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsInJlbmRlck9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib3BlbiIsInJlc2V0RGF0YSIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsInNob3dTZWFyY2giLCJvcHRpb25GaWx0ZXJQcm9wIiwicGxhY2Vob2xkZXIiLCJhbGxvd0NsZWFyIiwiYW50ZFN0eWxlIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBY3FCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsV0FBVyxFQUFFLElBRlA7QUFHTkMsTUFBQUEsYUFBYSxFQUFFLEVBSFQ7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLElBSko7QUFLTkMsTUFBQUEsV0FBVyxFQUFFO0FBTFAsS0FRVzs7QUFBQSw2REFEWCxFQUNXOztBQUVqQixR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RCxRQUFMLENBQWNnQyxJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxVQUFBLFFBQVEsRUFBRSxLQUFLWCxRQUFMLENBQWNXLElBQWQsQ0FBbUIsSUFBbkIsQ0FIWjtBQUlFLFVBQUEsdUJBQXVCLEVBQUUsS0FBS0MsdUJBQUwsQ0FBNkJELElBQTdCLENBQWtDLElBQWxDO0FBSjNCLFdBS005RixLQUxOLEVBTU11RixNQU5OLEdBUUcsS0FBS1MsY0FBTCxFQVJILENBREY7QUFZRDtBQUNGOzs7O0VBN1dvQzFHLGE7O2dCQUFsQlMsUyxZQUNIRixNOztnQkFER0UsUyxjQUVERCxROztTQUZDQyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFBpbnlpbk1hdGNoIGZyb20gXCJwaW55aW4tbWF0Y2hcIjtcclxuY29uc3QgeyBPcHRpb24sIE9wdEdyb3VwIH0gPSBTZWxlY3Q7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFByb3BzIGV4dGVuZHMgU2VsZWN0UHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlQnJlYWs/OiBzdHJpbmc7IC8v5aSa5LiqdmFsdWXkvb/nlKjnmoTliIbpmpTnrKZcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2YWx1ZUZpZWxkID0gXCJ2YWx1ZVwiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzcGxpY2VEYXRhID0gW107XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbGFiZWxGaWVsZCA9IFwibGFiZWxcIixcclxuICAgICAgZmlsdGVyT3B0aW9uID0gdHJ1ZSxcclxuICAgICAgb25TZWFyY2gsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPSBpdGVtW3ZhbHVlRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZShvcGVuKSB7XHJcbiAgICBpZiAoIW9wZW4pIHtcclxuICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3RvcmUsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIG9uQ2hhbmdlLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
524
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwidmlld3R5cGUiLCJzdG9yZXMiLCJ2aWV3VXJsIiwidmlld0JpelVybCIsInJlcXVlc3RWaWV3VXJsIiwiZ2V0QWxsRGF0YSIsIm5ld0RhdGEiLCJsZW5ndGgiLCJzcGxpY2VEYXRhIiwidmFsdWVGaWVsZHMiLCJzcGxpdCIsIm1hcCIsIml0ZW0iLCJpIiwidmFsdWUiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwicHVzaCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiaXNDYWNoZWQiLCJpc0NhY2hlS2V5IiwiYXV0b0xvYWQiLCJzdGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJBcnJheSIsImlzQXJyYXkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJsYWJlbEZpZWxkIiwiZmlsdGVyT3B0aW9uIiwib25TZWFyY2giLCJyZXN1bHQiLCJmb3JFYWNoIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJmbGFnIiwibWF0Y2giLCJjaGlsZCIsIm9wdGlvbkRhdGEiLCJ2YWx1ZVR5cGUiLCJOdW1iZXIiLCJrZXkiLCJpZCIsImRpc2FibGVkIiwic2hvd0dyb3VwIiwib3B0R3JvdXBEYXRhIiwiZ3JvdXBOYW1lIiwib3B0aW9uIiwicmVuZGVyT3B0aW9uIiwib3B0R3JvdXAiLCJPYmplY3QiLCJrZXlzIiwib25DaGFuZ2UiLCJvcGVuIiwicmVzZXREYXRhIiwiZGVmYXVsdFN0eWxlIiwicGFyYW1zIiwic2hvd1NlYXJjaCIsIm9wdGlvbkZpbHRlclByb3AiLCJwbGFjZWhvbGRlciIsImFsbG93Q2xlYXIiLCJhbnRkU3R5bGUiLCJjbGFzc05hbWUiLCJiaW5kIiwib25Ecm9wZG93blZpc2libGVDaGFuZ2UiLCJyZW5kZXJDaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFFQSxPQUFPQyxLQUFQLE1BQWtDLGFBQWxDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFFQSxPQUFPQyxXQUFQLE1BQXdCLGNBQXhCO0FBQ0EsSUFBUUMsTUFBUixXQUFRQSxNQUFSO0FBQUEsSUFBZ0JDLFFBQWhCLFdBQWdCQSxRQUFoQjs7SUFlcUJDLFM7Ozs7O0FBV25CLHFCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw2REFSWDtBQUNOQyxNQUFBQSxVQUFVLEVBQUUsRUFETjtBQUVOQyxNQUFBQSxXQUFXLEVBQUUsSUFGUDtBQUdOQyxNQUFBQSxhQUFhLEVBQUUsRUFIVDtBQUlOQyxNQUFBQSxRQUFRLEVBQUUs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LENBQVdqRCxXQURwQjtBQUVFLFVBQUEsUUFBUSxFQUFFLEtBQUtzRixRQUFMLENBQWNXLElBQWQsQ0FBbUIsSUFBbkIsQ0FGWjtBQUdFLFVBQUEsUUFBUSxFQUFFLEtBQUtsQyxRQUFMLENBQWNrQyxJQUFkLENBQW1CLElBQW5CLENBSFo7QUFJRSxVQUFBLHVCQUF1QixFQUFFLEtBQUtDLHVCQUFMLENBQTZCRCxJQUE3QixDQUFrQyxJQUFsQztBQUozQixXQUtNbkcsS0FMTixFQU1NNEYsTUFOTixHQVFHLEtBQUtTLGNBQUwsRUFSSCxDQURGLENBREY7QUFjRCxPQWZELE1BZU87QUFDTCw0QkFDRTtBQUNFLFVBQUEsS0FBSyxFQUFFLEtBQUtsRCxLQUFMLENBQVdqRCxXQURwQjtBQUVFLFVBQUEsUUFBUSxFQUFFLEtBQUsrRCxRQUFMLENBQWNrQyxJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxVQUFBLFFBQVEsRUFBRSxLQUFLWCxRQUFMLENBQWNXLElBQWQsQ0FBbUIsSUFBbkIsQ0FIWjtBQUlFLFVBQUEsdUJBQXVCLEVBQUUsS0FBS0MsdUJBQUwsQ0FBNkJELElBQTdCLENBQWtDLElBQWxDO0FBSjNCLFdBS01uRyxLQUxOLEVBTU00RixNQU5OLEdBUUcsS0FBS1MsY0FBTCxFQVJILENBREY7QUFZRDtBQUNGOzs7O0VBelhvQy9HLGE7O2dCQUFsQlMsUyxZQUNIRixNOztnQkFER0UsUyxjQUVERCxROztTQUZDQyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFBpbnlpbk1hdGNoIGZyb20gXCJwaW55aW4tbWF0Y2hcIjtcclxuY29uc3QgeyBPcHRpb24sIE9wdEdyb3VwIH0gPSBTZWxlY3Q7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFByb3BzIGV4dGVuZHMgU2VsZWN0UHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlQnJlYWs/OiBzdHJpbmc7IC8v5aSa5LiqdmFsdWXkvb/nlKjnmoTliIbpmpTnrKZcclxuICB2YWx1ZVR5cGU/OiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIjtcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2YWx1ZUZpZWxkID0gXCJkaWN0S2V5XCIsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHVybCxcclxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgIHZpZXduYW1lLFxyXG4gICAgICBjYWNoZWQsXHJcbiAgICAgIGNhY2hlS2V5LFxyXG4gICAgICB2aWV3dHlwZSA9IFwic3lzdGVtXCIsXHJcbiAgICAgIC4uLnN0b3Jlc1xyXG4gICAgfSA9IHN0b3JlO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBsZXQgc3BsaWNlRGF0YSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChkZWxldGVEYXRhLmluZGV4T2YodmFsdWUpID09IC0xKSB7XHJcbiAgICAgICAgICAgIHNwbGljZURhdGEucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gc3BsaWNlRGF0YTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB2aWV3bmFtZSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHjgIFvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbGFiZWxGaWVsZCA9IFwiZGljdFZhbHVlXCIsXHJcbiAgICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXHJcbiAgICAgIG9uU2VhcmNoLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gW107XHJcbiAgICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWxsQ2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgIGFsbENoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjaGlsZD8ucHJvcHM/LmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaCAmJiBvblNlYXJjaCh2YWx1ZSk7XHJcbiAgfVxyXG4gIHJlbmRlck9wdGlvbihvcHRpb25EYXRhKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBsYWJlbEZpZWxkID0gXCJkaWN0VmFsdWVcIixcclxuICAgICAgdmFsdWVGaWVsZCA9IFwiZGljdEtleVwiLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICB2YWx1ZVR5cGUgPSBcInN0cmluZ1wiLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlOiBhbnk7XHJcbiAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHZhbHVlID1cclxuICAgICAgICAgIHZhbHVlVHlwZSA9PT0gXCJudW1iZXJcIlxyXG4gICAgICAgICAgICA/IE51bWJlcihpdGVtW3ZhbHVlRmllbGRdKVxyXG4gICAgICAgICAgICA6IGl0ZW1bdmFsdWVGaWVsZF0gKyBcIlwiO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZShvcGVuKSB7XHJcbiAgICBpZiAoIW9wZW4pIHtcclxuICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3RvcmUsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIG9uQ2hhbmdlLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIHZhbHVlVHlwZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHByb3BzID0ge1xyXG4gICAgICBmaWx0ZXJPcHRpb246IGZhbHNlLFxyXG4gICAgICBzaG93U2VhcmNoOiB0cnVlLFxyXG4gICAgICBvcHRpb25GaWx0ZXJQcm9wOiBcImxhYmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqVwiLFxyXG4gICAgICBhbGxvd0NsZWFyOiB0cnVlLFxyXG4gICAgfTtcclxuICAgIGxldCB7IGFudGRTdHlsZSB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAoKGRlZmF1bHRTdHlsZSB8fCBhbnRkU3R5bGUpICYmIGRlZmF1bHRTdHlsZSA9PT0gdHJ1ZSkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoc3R5bGVzW1wibnNjX3NlbGVjdFwiXSwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfT5cclxuICAgICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uU2VhcmNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgIG9uU2VhcmNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,6 +1,6 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
2
 
3
- var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey"];
3
+ var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey", "viewtype"];
4
4
 
5
5
  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; }
6
6
 
@@ -68,12 +68,17 @@ var NSCTagSelect = /*#__PURE__*/function (_PureComponent) {
68
68
  viewname = store.viewname,
69
69
  cached = store.cached,
70
70
  cacheKey = store.cacheKey,
71
+ _store$viewtype = store.viewtype,
72
+ viewtype = _store$viewtype === void 0 ? "system" : _store$viewtype,
71
73
  stores = _objectWithoutProperties(store, _excluded);
72
74
 
73
75
  var data = props.data;
74
76
 
75
77
  var _config = config(),
76
- viewUrl = _config.viewUrl;
78
+ viewUrl = _config.viewUrl,
79
+ viewBizUrl = _config.viewBizUrl;
80
+
81
+ var requestViewUrl = viewtype == "system" ? viewUrl : viewBizUrl;
77
82
 
78
83
  if (!(data || viewname || url)) {
79
84
  throw new Error("url、viewname、data不能都为空!");
@@ -114,7 +119,7 @@ var NSCTagSelect = /*#__PURE__*/function (_PureComponent) {
114
119
 
115
120
  storeProps = _objectSpread(_objectSpread({}, {
116
121
  autoLoad: true,
117
- url: url || viewUrl + viewname,
122
+ url: url || requestViewUrl + viewname,
118
123
  cached: isCached,
119
124
  cacheKey: isCacheKey
120
125
  }), storeProps);
@@ -139,9 +144,9 @@ var NSCTagSelect = /*#__PURE__*/function (_PureComponent) {
139
144
  value: function renderOption(optionData) {
140
145
  var _this$props = this.props,
141
146
  _this$props$labelFiel = _this$props.labelField,
142
- labelField = _this$props$labelFiel === void 0 ? "label" : _this$props$labelFiel,
147
+ labelField = _this$props$labelFiel === void 0 ? "dictValue" : _this$props$labelFiel,
143
148
  _this$props$valueFiel = _this$props.valueField,
144
- valueField = _this$props$valueFiel === void 0 ? "value" : _this$props$valueFiel,
149
+ valueField = _this$props$valueFiel === void 0 ? "dictKey" : _this$props$valueFiel,
145
150
  _this$props$store = _this$props.store,
146
151
  store = _this$props$store === void 0 ? {} : _this$props$store;
147
152
  var label = labelField;
@@ -182,4 +187,4 @@ var NSCTagSelect = /*#__PURE__*/function (_PureComponent) {
182
187
  }(PureComponent);
183
188
 
184
189
  export { NSCTagSelect as default };
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ1NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiVGFnU2VsZWN0IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsIk5TQ1RhZ1NlbGVjdCIsInByb3BzIiwiZGF0YVNvdXJjZSIsIl90aGlzIiwic3RvcmUiLCJjaGlsZHJlbiIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiZGF0YSIsInZpZXdVcmwiLCJFcnJvciIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiaXNDYWNoZWQiLCJpc0NhY2hlS2V5IiwiYXV0b0xvYWQiLCJzZXREYXRhIiwib3B0aW9uRGF0YSIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwibGFiZWwiLCJ2YWx1ZSIsIm1hcCIsIml0ZW0iLCJpZCIsInN0YXRlIiwicmVuZGVyT3B0aW9uIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBQ0EsT0FBT0MsU0FBUCxNQUFxQyxhQUFyQztBQUNBLE9BQU9DLEtBQVAsTUFBa0MsYUFBbEM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7O0lBVXFCQyxZOzs7OztBQWlCbkIsd0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLEtBQU47O0FBRGlCLDZEQWhCWDtBQUNOQyxNQUFBQSxVQUFVLEVB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U0FBaEMsRUFBMkNDLFNBQTNDLEVBQTJEO0FBQ3pELFVBQVF2QyxVQUFSLEdBQXVCdUMsU0FBdkIsQ0FBUXZDLFVBQVI7QUFDQSxVQUFRVyxJQUFSLEdBQWlCMkIsU0FBakIsQ0FBUTNCLElBQVI7O0FBQ0EsVUFBSUEsSUFBSixFQUFVO0FBQ1IsWUFBSTZCLElBQUksQ0FBQ0MsU0FBTCxDQUFlekMsVUFBZixNQUErQndDLElBQUksQ0FBQ0MsU0FBTCxDQUFlOUIsSUFBZixDQUFuQyxFQUF5RDtBQUN2RCxpQkFBTztBQUNMWCxZQUFBQSxVQUFVLEVBQUVXO0FBRFAsV0FBUDtBQUdEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUFoQnVDbEIsYTs7U0FBckJLLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFnU2VsZWN0LCB7IElUYWdQcm9wcyB9IGZyb20gXCIuL1RhZ1NlbGVjdFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RUYWdQcm9wcyBleHRlbmRzIElUYWdQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDVGFnU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0VGFnUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGU6IGFueSkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEgfSA9IG5leHRQcm9wcztcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkoZGF0YSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogZGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgc3RvcmUgPSB7fSwgY2hpbGRyZW4gfSA9IHByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIC4uLnN0b3Jlc1xyXG4gICAgfSA9IHN0b3JlO1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBwcm9wcztcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKCEoZGF0YSB8fCB2aWV3bmFtZSB8fCB1cmwpKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeS4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIHZhciBzdG9yZVByb3BzID0ge1xyXG4gICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgLi4uc3RvcmVzLFxyXG4gICAgfTtcclxuICAgIGlmICh2aWV3bmFtZSB8fCAodXJsICYmICFkYXRhKSkge1xyXG4gICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgLi4ue1xyXG4gICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICB1cmw6IHVybCB8fCB2aWV3VXJsICsgdmlld25hbWUsXHJcbiAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgX3RoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZGF0YSkge1xyXG4gICAgICB0aGlzLnN0b3JlLnNldERhdGEodGhpcy5wcm9wcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5wcm9wcy5kYXRhLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlck9wdGlvbihvcHRpb25EYXRhKSB7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkID0gXCJsYWJlbFwiLCB2YWx1ZUZpZWxkID0gXCJ2YWx1ZVwiLCBzdG9yZSA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IGxhYmVsID0gbGFiZWxGaWVsZDtcclxuICAgIGxldCB2YWx1ZSA9IHZhbHVlRmllbGQ7XHJcblxyXG4gICAgcmV0dXJuIG9wdGlvbkRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFRhZ1NlbGVjdC5PcHRpb25cclxuICAgICAgICAgIGtleT17aXRlbS5pZCB8fCBpdGVtW3ZhbHVlXX1cclxuICAgICAgICAgIHZhbHVlPXtpdGVtW3ZhbHVlXX1cclxuICAgICAgICAgIHRpdGxlPXtpdGVtW2xhYmVsXX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbVtsYWJlbF19XHJcbiAgICAgICAgPC9UYWdTZWxlY3QuT3B0aW9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxUYWdTZWxlY3Qgey4uLnRoaXMucHJvcHN9Pnt0aGlzLnJlbmRlck9wdGlvbihkYXRhU291cmNlKX08L1RhZ1NlbGVjdD5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ1NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiVGFnU2VsZWN0IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsIk5TQ1RhZ1NlbGVjdCIsInByb3BzIiwiZGF0YVNvdXJjZSIsIl90aGlzIiwic3RvcmUiLCJjaGlsZHJlbiIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwidmlld3R5cGUiLCJzdG9yZXMiLCJkYXRhIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsIkVycm9yIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwib3B0aW9ucyIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInNldERhdGEiLCJvcHRpb25EYXRhIiwibGFiZWxGaWVsZCIsInZhbHVlRmllbGQiLCJsYWJlbCIsInZhbHVlIiwibWFwIiwiaXRlbSIsImlkIiwic3RhdGUiLCJyZW5kZXJPcHRpb24iLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxTQUFQLE1BQXFDLGFBQXJDO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjs7SUFTcUJDLFk7Ozs7O0FBaUJuQix3QkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFB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Q0FMUCxDQURGO0FBU0QsT0FWTSxDQUFQO0FBV0Q7OztXQUNELGtCQUFTO0FBQ1AsVUFBUWxDLFVBQVIsR0FBdUIsS0FBS3VDLEtBQTVCLENBQVF2QyxVQUFSO0FBQ0EsMEJBQ0Usb0JBQUMsU0FBRCxFQUFlLEtBQUtELEtBQXBCLEVBQTRCLEtBQUt5QyxZQUFMLENBQWtCeEMsVUFBbEIsQ0FBNUIsQ0FERjtBQUdEOzs7V0FyR0Qsa0NBQWdDeUMsU0FBaEMsRUFBMkNDLFNBQTNDLEVBQTJEO0FBQ3pELFVBQVExQyxVQUFSLEdBQXVCMEMsU0FBdkIsQ0FBUTFDLFVBQVI7QUFDQSxVQUFRWSxJQUFSLEdBQWlCNkIsU0FBakIsQ0FBUTdCLElBQVI7O0FBQ0EsVUFBSUEsSUFBSixFQUFVO0FBQ1IsWUFBSStCLElBQUksQ0FBQ0MsU0FBTCxDQUFlNUMsVUFBZixNQUErQjJDLElBQUksQ0FBQ0MsU0FBTCxDQUFlaEMsSUFBZixDQUFuQyxFQUF5RDtBQUN2RCxpQkFBTztBQUNMWixZQUFBQSxVQUFVLEVBQUVZO0FBRFAsV0FBUDtBQUdEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUFoQnVDbkIsYTs7U0FBckJLLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFnU2VsZWN0LCB7IElUYWdQcm9wcyB9IGZyb20gXCIuL1RhZ1NlbGVjdFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFRhZ1Byb3BzIGV4dGVuZHMgSVRhZ1Byb3BzIHtcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NUYWdTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RUYWdQcm9wcz4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZTogYW55KSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHByZXZTdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gbmV4dFByb3BzO1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBkYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBzdG9yZSA9IHt9LCBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgdmlld3R5cGUgPSBcInN5c3RlbVwiLFxyXG4gICAgICAuLi5zdG9yZXNcclxuICAgIH0gPSBzdG9yZTtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzdGVtXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIC4uLnN0b3JlcyxcclxuICAgIH07XHJcbiAgICBpZiAodmlld25hbWUgfHwgKHVybCAmJiAhZGF0YSkpIHtcclxuICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIC4uLntcclxuICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgdXJsOiB1cmwgfHwgcmVxdWVzdFZpZXdVcmwgKyB2aWV3bmFtZSxcclxuICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBfdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0RGF0YSh0aGlzLnByb3BzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLnByb3BzLmRhdGEsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImRpY3RWYWx1ZVwiLCB2YWx1ZUZpZWxkID0gXCJkaWN0S2V5XCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgbGFiZWwgPSBsYWJlbEZpZWxkO1xyXG4gICAgbGV0IHZhbHVlID0gdmFsdWVGaWVsZDtcclxuXHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8VGFnU2VsZWN0Lk9wdGlvblxyXG4gICAgICAgICAga2V5PXtpdGVtLmlkIHx8IGl0ZW1bdmFsdWVdfVxyXG4gICAgICAgICAgdmFsdWU9e2l0ZW1bdmFsdWVdfVxyXG4gICAgICAgICAgdGl0bGU9e2l0ZW1bbGFiZWxdfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtW2xhYmVsXX1cclxuICAgICAgICA8L1RhZ1NlbGVjdC5PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFRhZ1NlbGVjdCB7Li4udGhpcy5wcm9wc30+e3RoaXMucmVuZGVyT3B0aW9uKGRhdGFTb3VyY2UpfTwvVGFnU2VsZWN0PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.0.10",
3
+ "version": "2.0.13",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {