nsc-react-component 4.4.5 → 4.4.7

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.
@@ -129,7 +129,7 @@ export default class NSCSelect extends PureComponent {
129
129
  let isCacheKey = cacheKey;
130
130
  if (_viewname) {
131
131
  if (typeof cached !== "boolean") {
132
- isCached = true;
132
+ isCached = _viewname ? true : false;
133
133
  isCacheKey = isCacheKey ? isCacheKey : _viewname;
134
134
  }
135
135
  }
@@ -496,4 +496,4 @@ export default class NSCSelect extends PureComponent {
496
496
  }
497
497
  _defineProperty(NSCSelect, "Option", Option);
498
498
  _defineProperty(NSCSelect, "OptGroup", OptGroup);
499
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiX1NlbGVjdCIsIk5TQ1NlbGVjdCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGFTdG9yZSIsImRhdGEiLCJzdG9yZSIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInZpZXduYW1lIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInNwbGljZURhdGEiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2YWx1ZSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJwdXNoIiwib3B0aW9ucyIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiZ2V0QWxsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInJlc2V0RGF0YSIsInN0YXRlIiwiZ2V0RGF0YSIsImdldFZhbHVlIiwic2V0VmFsdWUiLCJnZXRTZWxlY3REYXRhIiwia2V5RmllbGQiLCJyZXMiLCJ2YWwiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9uU2VhcmNoIiwiZmlsdGVyT3B0aW9uIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwicmVuZGVyT3B0aW9uIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiY3JlYXRlRWxlbWVudCIsImRpc2FibGVkIiwicmVuZGVyQ2hpbGRyZW4iLCJzaG93R3JvdXAiLCJncm91cEZpZWxkIiwiRnJhZ21lbnQiLCJvcHRHcm91cERhdGEiLCJvcHRpb24iLCJvcHRHcm91cCIsIk9iamVjdCIsImtleXMiLCJvbkNoYW5nZSIsIm9uU2VsZWN0Iiwib25Ecm9wZG93blZpc2libGVDaGFuZ2UiLCJvcGVuIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJkZWZhdWx0U3R5bGUiLCJkYXRhVHlwZSIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsIm1vdW50RWxlbWVudElkIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9zZWxlY3QvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmltcG9ydCB7IGdldEZsYXR0ZW5EYXRhIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZ3JvdXBGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlVHlwZT86IFwic3RyaW5nXCIgfCBcIm51bWJlclwiO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbiAgb25DaGFuZ2U/OiBhbnk7XHJcbiAgb25TZWxlY3Q/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0UHJvcHM+IHtcclxuICBzdGF0aWMgT3B0aW9uID0gT3B0aW9uO1xyXG4gIHN0YXRpYyBPcHRHcm91cCA9IE9wdEdyb3VwO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBzZWxlY3RWYWx1ZTogbnVsbCxcclxuICAgIGFsbERhdGFTb3VyY2U6IFtdLFxyXG4gICAgY2hpbGRyZW46IG51bGwsXHJcbiAgICBhbGxDaGlsZHJlbjogbnVsbCxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGxldCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXNcIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c1wiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcblxyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBfdGhpcy5nZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgICAgIGRhdGFTdG9yZTogZGF0YSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBfdGhpcy5nZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgICAgIGRhdGFTdG9yZTogZGF0YSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldERhdGEoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRyZW46IGFsbENoaWxkcmVuIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgIGxldCB7IHN0b3JlID0ge30sIGFkZERhdGEgPSBbXSwgZGVsZXRlRGF0YSA9IFtdLCB2YWx1ZUZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgfVxyXG4gICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgc3BsaWNlRGF0YSA9IFtdO1xyXG4gICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA9PSAtMSkge1xyXG4gICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICB9XHJcbiAgfTtcclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3REYXRhKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCB2YWx1ZUZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGdldEZsYXR0ZW5EYXRhKGRhdGFTb3VyY2UsIHsga2V5RmllbGQ6IHZhbHVlRmllbGQgfSk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgbGV0IHJlcyA9IFtdIGFzIGFueTtcclxuICAgICAgdmFsdWUubWFwKCh2YWwpID0+IHtcclxuICAgICAgICByZXMucHVzaChuZXdEYXRhW3ZhbF0gfHwge30pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHJlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXdEYXRhW3ZhbHVlXSB8fCB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICAgIGFsbERhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuLCBkYXRhU3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhbGxEYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9ICBcclxuICAgICBpZiAoXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KG5ld1Byb3BzLmRlbGV0ZURhdGEpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZGVsZXRlRGF0YSkgfHxcclxuICAgICAgSlNPTi5zdHJpbmdpZnkobmV3UHJvcHMuYWRkRGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuYWRkRGF0YSlcclxuICAgICkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gdGhpcy5nZXRBbGxEYXRhKGRhdGFTdG9yZSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICBkYXRhU3RvcmU6IGRhdGFTdG9yZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUgPSAoc3RhdGUsIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH07XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJPcHRpb24gPSB0cnVlLCBvblNlYXJjaCwgY2hpbGRyZW4sIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pIDogaXRlbVt2YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSwgZ3JvdXBGaWVsZCA9IFwiZ3JvdXBOYW1lXCIgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtW2dyb3VwRmllbGRdO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRTZWxlY3REYXRhKHZhbHVlKTtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMsIGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvblNlbGVjdCB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAob25TZWxlY3QpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uU2VsZWN0KHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3Blbikge1xyXG4gICAgaWYgKCFvcGVuKSB7XHJcbiAgICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIHN0b3JlLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBvbkNoYW5nZSxcclxuICAgICAgb25TZWxlY3QsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICBncm91cEZpZWxkLFxyXG4gICAgICBkYXRhVHlwZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH0gYXMgYW55O1xyXG4gICAgbGV0IHsgYW50ZFN0eWxlLCBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICgoZGVmYXVsdFN0eWxlIHx8IGFudGRTdHlsZSkgJiYgZGVmYXVsdFN0eWxlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMub25TZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aGlzLnByb3BzLmNsYXNzTmFtZX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlbGVjdD17dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsYUFBYSxRQUFRLE9BQU87QUFFNUMsT0FBT0MsS0FBSyxNQUFzQixhQUFhO0FBQy9DLFNBQVNDLEtBQUssUUFBUSx1QkFBdUI7QUFDN0MsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFFNUIsT0FBT0MsV0FBVyxNQUFNLGNBQWM7QUFDdEMsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUNsRCxNQUFNO0VBQUVDLE1BQU07RUFBRUM7QUFBUyxDQUFDLEdBQUFDLE9BQVM7QUFpQm5DLGVBQWUsTUFBTUMsU0FBUyxTQUFTWCxhQUFhLENB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
499
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiX1NlbGVjdCIsIk5TQ1NlbGVjdCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGFTdG9yZSIsImRhdGEiLCJzdG9yZSIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInZpZXduYW1lIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInNwbGljZURhdGEiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2YWx1ZSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJwdXNoIiwib3B0aW9ucyIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiZ2V0QWxsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInJlc2V0RGF0YSIsInN0YXRlIiwiZ2V0RGF0YSIsImdldFZhbHVlIiwic2V0VmFsdWUiLCJnZXRTZWxlY3REYXRhIiwia2V5RmllbGQiLCJyZXMiLCJ2YWwiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9uU2VhcmNoIiwiZmlsdGVyT3B0aW9uIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwicmVuZGVyT3B0aW9uIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiY3JlYXRlRWxlbWVudCIsImRpc2FibGVkIiwicmVuZGVyQ2hpbGRyZW4iLCJzaG93R3JvdXAiLCJncm91cEZpZWxkIiwiRnJhZ21lbnQiLCJvcHRHcm91cERhdGEiLCJvcHRpb24iLCJvcHRHcm91cCIsIk9iamVjdCIsImtleXMiLCJvbkNoYW5nZSIsIm9uU2VsZWN0Iiwib25Ecm9wZG93blZpc2libGVDaGFuZ2UiLCJvcGVuIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJkZWZhdWx0U3R5bGUiLCJkYXRhVHlwZSIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsIm1vdW50RWxlbWVudElkIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9zZWxlY3QvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmltcG9ydCB7IGdldEZsYXR0ZW5EYXRhIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZ3JvdXBGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlVHlwZT86IFwic3RyaW5nXCIgfCBcIm51bWJlclwiO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbiAgb25DaGFuZ2U/OiBhbnk7XHJcbiAgb25TZWxlY3Q/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0UHJvcHM+IHtcclxuICBzdGF0aWMgT3B0aW9uID0gT3B0aW9uO1xyXG4gIHN0YXRpYyBPcHRHcm91cCA9IE9wdEdyb3VwO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBzZWxlY3RWYWx1ZTogbnVsbCxcclxuICAgIGFsbERhdGFTb3VyY2U6IFtdLFxyXG4gICAgY2hpbGRyZW46IG51bGwsXHJcbiAgICBhbGxDaGlsZHJlbjogbnVsbCxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGxldCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXNcIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c1wiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcblxyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBfdGhpcy5nZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgICAgIGRhdGFTdG9yZTogZGF0YSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBfdGhpcy5nZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgICAgIGRhdGFTdG9yZTogZGF0YSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHZpZXduYW1lID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCBhZGREYXRhID0gW10sIGRlbGV0ZURhdGEgPSBbXSwgdmFsdWVGaWVsZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgIH1cclxuICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IHNwbGljZURhdGEgPSBbXTtcclxuICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICBuZXdEYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgIHNwbGljZURhdGEucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gc3BsaWNlRGF0YTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0RGF0YSh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IHsgc3RvcmUgPSB7fSwgdmFsdWVGaWVsZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRGbGF0dGVuRGF0YShkYXRhU291cmNlLCB7IGtleUZpZWxkOiB2YWx1ZUZpZWxkIH0pO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIGxldCByZXMgPSBbXSBhcyBhbnk7XHJcbiAgICAgIHZhbHVlLm1hcCgodmFsKSA9PiB7XHJcbiAgICAgICAgcmVzLnB1c2gobmV3RGF0YVt2YWxdIHx8IHt9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiByZXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbmV3RGF0YVt2YWx1ZV0gfHwge307XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgICBhbGxEYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiwgZGF0YVN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYWxsRGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBKU09OLnN0cmluZ2lmeShuZXdQcm9wcy5kZWxldGVEYXRhKSAhPT1cclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmRlbGV0ZURhdGEpIHx8XHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KG5ld1Byb3BzLmFkZERhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmFkZERhdGEpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IHRoaXMuZ2V0QWxsRGF0YShkYXRhU3RvcmUpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhU3RvcmUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoaWxkcmVuICYmIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlQ2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGFsbENoaWxkcmVuLm1hcCgoczogYW55KSA9PiB7XHJcbiAgICAgICAgc3RhdGVDaGlsZHJlblByb3BzLnB1c2gocy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgY2hpbGRyZW4ubWFwKChjOiBhbnkpID0+IHtcclxuICAgICAgICBjaGlsZHJlblByb3BzLnB1c2goYy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3RhdGVDaGlsZHJlblByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hpbGRyZW5Qcm9wcylcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlID0gKHN0YXRlLCBjYWxsYmFjaykgPT4ge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9O1xyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZmlsdGVyT3B0aW9uID0gdHJ1ZSwgb25TZWFyY2gsIGNoaWxkcmVuLCBzdG9yZSA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgbGFiZWxGaWVsZCA9IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gW107XHJcbiAgICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWxsQ2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgIGFsbENoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjaGlsZD8ucHJvcHM/LmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaCAmJiBvblNlYXJjaCh2YWx1ZSk7XHJcbiAgfVxyXG4gIHJlbmRlck9wdGlvbihvcHRpb25EYXRhKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICB2YWx1ZVR5cGUgPSBcInN0cmluZ1wiLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlOiBhbnk7XHJcbiAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHZhbHVlID1cclxuICAgICAgICAgIHZhbHVlVHlwZSA9PT0gXCJudW1iZXJcIiA/IE51bWJlcihpdGVtW3ZhbHVlRmllbGRdKSA6IGl0ZW1bdmFsdWVGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlID0gXCJcIjtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUsIGdyb3VwRmllbGQgPSBcImdyb3VwTmFtZVwiIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlLCBjaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9wdEdyb3VwRGF0YSA9IHt9LFxyXG4gICAgICAgIG9wdGlvbkRhdGEgPSBbXTtcclxuICAgICAgZGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgbGV0IGxhYmVsID0gaXRlbVtncm91cEZpZWxkXTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uQ2hhbmdlKHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25TZWxlY3QodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25TZWxlY3QgfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgaWYgKG9uU2VsZWN0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldFNlbGVjdERhdGEodmFsdWUpO1xyXG4gICAgICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucywgZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9uU2VsZWN0LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIHZhbHVlVHlwZSxcclxuICAgICAgZ3JvdXBGaWVsZCxcclxuICAgICAgZGF0YVR5cGUsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcHJvcHMgPSB7XHJcbiAgICAgIGZpbHRlck9wdGlvbjogZmFsc2UsXHJcbiAgICAgIHNob3dTZWFyY2g6IHRydWUsXHJcbiAgICAgIG9wdGlvbkZpbHRlclByb3A6IFwibGFiZWxcIixcclxuICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oupXCIsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICB9IGFzIGFueTtcclxuICAgIGxldCB7IGFudGRTdHlsZSwgbW91bnRFbGVtZW50SWQgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKG1vdW50RWxlbWVudElkKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGdldFBvcHVwQ29udGFpbmVyOiAoKSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb3VudEVsZW1lbnRJZCksXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoKGRlZmF1bHRTdHlsZSB8fCBhbnRkU3R5bGUpICYmIGRlZmF1bHRTdHlsZSA9PT0gdHJ1ZSkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoc3R5bGVzW1wibnNjX3NlbGVjdFwiXSwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfT5cclxuICAgICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uU2VhcmNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLm9uU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5jbGFzc05hbWV9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMub25TZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBc0IsYUFBYTtBQUMvQyxTQUFTQyxLQUFLLFFBQVEsdUJBQXVCO0FBQzdDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLE9BQU9DLEdBQUcsTUFBTSxZQUFZO0FBRTVCLE9BQU9DLFdBQVcsTUFBTSxjQUFjO0FBQ3RDLFNBQVNDLGNBQWMsUUFBUSxtQkFBbUI7QUFDbEQsTUFBTTtFQUFFQyxNQUFNO0VBQUVDO0FBQVMsQ0FBQyxHQUFBQyxPQUFTO0FBaUJuQyxlQUFlLE1BQU1DLFNB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","config","styles","cls","PinyinMatch","getFlattenData","Option","OptGroup","_Select","NSCSelect","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","children","allChildren","dataStore","data","store","addData","deleteData","valueField","viewname","Array","isArray","newData","length","spliceData","valueFields","split","map","item","i","value","v","index","indexOf","push","options","url","listeners","listenersPops","cached","cacheKey","viewtype","stores","_objectWithoutProperties","_excluded","viewUrl","viewBizUrl","requestViewUrl","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","getAllData","setState","dataChanged","isCached","isCacheKey","autoLoad","resetData","state","getData","getValue","setValue","getSelectData","keyField","res","val","componentDidMount","componentDidUpdate","newProps","newState","Snapshot","JSON","stringify","stateChildrenProps","s","childrenProps","c","componentWillUnmount","onSearch","filterOption","labelField","result","forEach","label","labelFields","l","flag","match","child","_child$props","renderOption","optionData","valueType","Number","key","id","createElement","disabled","renderChildren","showGroup","groupField","Fragment","optGroupData","option","optGroup","Object","keys","onChange","onSelect","onDropdownVisibleChange","open","render","_this$props","defaultStyle","dataType","params","_excluded2","showSearch","optionFilterProp","placeholder","allowClear","antdStyle","mountElementId","getPopupContainer","document","getElementById","className","_extends","bind"],"sources":["../../../src/components/base/select/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport omit from \"omit.js\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport { getFlattenData } from \"@bj-nsc/functions\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ninterface ISelectProps extends SelectProps<any> {\r\n store?: StoreProps;\r\n data?: Array<Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n groupField?: string;\r\n defaultStyle?: boolean;\r\n showGroup?: boolean; //是否显示分组\r\n addData?: Array<Object>; //配合store使用,从增加额外的数据\r\n deleteData?: Array<String>; //配合store使用,删除从数据库中获取到的指定数据\r\n valueType?: \"string\" | \"number\";\r\n [proName: string]: any;\r\n onChange?: any;\r\n onSelect?: any;\r\n}\r\nexport default class NSCSelect extends PureComponent<ISelectProps> {\r\n static Option = Option;\r\n static OptGroup = OptGroup;\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n children: null,\r\n allChildren: null,\r\n dataStore: [],\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n let {\r\n data,\r\n store = {},\r\n children,\r\n options,\r\n addData = [],\r\n deleteData = [],\r\n valueField,\r\n } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n viewtype = \"sys\",\r\n ...stores\r\n } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n\r\n if (!children) {\r\n if (!(data || viewname || url || options)) {\r\n throw new Error(\"url、viewname、data、options不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if ((viewname || url) && data == null && options == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n if (viewname) {\r\n if (typeof cached !== \"boolean\") {\r\n isCached = true;\r\n isCacheKey = isCacheKey ? isCacheKey : viewname;\r\n }\r\n }\r\n\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url || requestViewUrl + viewname, //读字典,url固定,viewname\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n resetData() {\r\n const { children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (children) {\r\n this.setState({ children: allChildren });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n }\r\n\r\n getAllData = (data) => {\r\n let { store = {}, addData = [], deleteData = [], valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n if (!Array.isArray(data)) {\r\n return [];\r\n }\r\n let newData = [...data];\r\n if (addData.length > 0) {\r\n newData = [...addData, ...newData];\r\n }\r\n if (deleteData.length > 0) {\r\n let spliceData = [];\r\n const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n let value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n if (deleteData.indexOf(value) == -1) {\r\n spliceData.push(item);\r\n }\r\n });\r\n return spliceData;\r\n } else {\r\n return newData;\r\n }\r\n };\r\n getData() {\r\n return this.state.allDataSource;\r\n }\r\n\r\n getValue() {\r\n return this.state.selectValue;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n selectValue: value,\r\n });\r\n }\r\n\r\n getSelectData(value) {\r\n const { dataSource } = this.state;\r\n let { store = {}, valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n const newData = getFlattenData(dataSource, { keyField: valueField });\r\n if (Array.isArray(value)) {\r\n let res = [] as any;\r\n value.map((val) => {\r\n res.push(newData[val] || {});\r\n });\r\n return res;\r\n } else {\r\n return newData[value] || {};\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, options, children } = this.props;\r\n if (!children && (data || options)) {\r\n this.setState({\r\n dataSource: data ? data : options,\r\n allDataSource: data ? data : options,\r\n });\r\n } else if (children) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { data, options, children } = this.props;\r\n const { allDataSource, allChildren, dataStore } = this.state;\r\n if (!children && (data || options)) {\r\n const newData = data ? data : options;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n } \r\n if (\r\n JSON.stringify(newProps.deleteData) !==\r\n JSON.stringify(this.props.deleteData) ||\r\n JSON.stringify(newProps.addData) !== JSON.stringify(this.props.addData)\r\n ) {\r\n const newData = this.getAllData(dataStore);\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n dataStore: dataStore,\r\n });\r\n }\r\n if (children && Array.isArray(children)) {\r\n const stateChildrenProps: any = [];\r\n allChildren.map((s: any) => {\r\n stateChildrenProps.push(s.props);\r\n });\r\n const childrenProps: any = [];\r\n children.map((c: any) => {\r\n childrenProps.push(c.props);\r\n });\r\n if (\r\n JSON.stringify(stateChildrenProps) !== JSON.stringify(childrenProps)\r\n ) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n onSearch(value) {\r\n const { allDataSource, allChildren } = this.state;\r\n const { filterOption = true, onSearch, children, store = {} } = this.props;\r\n let { labelField } = this.props;\r\n const { viewname } = store;\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n if (filterOption) {\r\n let result = [];\r\n if (!children) {\r\n if (value) {\r\n allDataSource.forEach((item) => {\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(item);\r\n }\r\n });\r\n this.setState({\r\n dataSource: result,\r\n });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n } else {\r\n if (value) {\r\n if (Array.isArray(allChildren)) {\r\n allChildren.map((child: any, index) => {\r\n let label = child?.props?.children;\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(child);\r\n }\r\n });\r\n }\r\n this.setState({\r\n children: result,\r\n });\r\n } else {\r\n this.setState({\r\n children: children,\r\n });\r\n }\r\n }\r\n }\r\n onSearch && onSearch(value);\r\n }\r\n renderOption(optionData) {\r\n let {\r\n store = {},\r\n valueType = \"string\",\r\n labelField,\r\n valueField,\r\n } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n return optionData.map((item) => {\r\n let value: any;\r\n if (valueField.split(\",\").length == 1) {\r\n value =\r\n valueType === \"number\" ? Number(item[valueField]) : item[valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n }\r\n let key = item.id ? (item.id !== \"undefined\" ? item.id : value) : value;\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n return (\r\n <Option\r\n key={key}\r\n value={value}\r\n label={label}\r\n disabled={item.disabled ? true : false}\r\n >\r\n {label}\r\n </Option>\r\n );\r\n });\r\n }\r\n renderChildren() {\r\n const { showGroup = true, groupField = \"groupName\" } = this.props;\r\n const { dataSource, children } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n let optGroupData = {},\r\n optionData = [];\r\n dataSource.forEach((item) => {\r\n let label = item[groupField];\r\n if (label && showGroup) {\r\n if (!optGroupData[label]) optGroupData[label] = [];\r\n optGroupData[label].push(item);\r\n } else {\r\n optionData.push(item);\r\n }\r\n });\r\n let option = this.renderOption(optionData);\r\n let optGroup = Object.keys(optGroupData).map((key) => {\r\n return (\r\n <OptGroup key={key} label={key}>\r\n {this.renderOption(optGroupData[key])}\r\n </OptGroup>\r\n );\r\n });\r\n return (\r\n <>\r\n {option}\r\n {optGroup}\r\n </>\r\n );\r\n }\r\n }\r\n onChange(value, options) {\r\n const { onChange } = this.props;\r\n this.setState({\r\n selectValue: value,\r\n });\r\n if (onChange) {\r\n const data = this.getSelectData(value);\r\n onChange(value, options, data);\r\n }\r\n }\r\n onSelect(value, options) {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n const data = this.getSelectData(value);\r\n onSelect(value, options, data);\r\n }\r\n }\r\n onDropdownVisibleChange(open) {\r\n if (!open) {\r\n this.resetData();\r\n }\r\n }\r\n render() {\r\n const {\r\n children,\r\n store,\r\n data,\r\n onChange,\r\n onSelect,\r\n options,\r\n labelField,\r\n valueField,\r\n defaultStyle,\r\n showGroup = true,\r\n addData,\r\n deleteData,\r\n valueType,\r\n groupField,\r\n dataType,\r\n ...params\r\n } = this.props;\r\n let props = {\r\n filterOption: false,\r\n showSearch: true,\r\n optionFilterProp: \"label\",\r\n placeholder: \"请选择\",\r\n allowClear: true,\r\n } as any;\r\n let { antdStyle, mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getPopupContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_select\"], this.props.className)}>\r\n <Select\r\n value={this.state.selectValue}\r\n onChange={this.onChange.bind(this)}\r\n onSearch={this.onSearch.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <div className={this.props.className}>\r\n <Select\r\n value={this.state.selectValue}\r\n onSearch={this.onSearch.bind(this)}\r\n onChange={this.onChange.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAE5C,OAAOC,KAAK,MAAsB,aAAa;AAC/C,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,GAAG,MAAM,YAAY;AAE5B,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,MAAM;EAAEC,MAAM;EAAEC;AAAS,CAAC,GAAAC,OAAS;AAiBnC,eAAe,MAAMC,SAAS,SAASX,aAAa,CAAe;EAYjEY,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,gBAVP;MACNC,UAAU,EAAE,EAAE;MACdC,WAAW,EAAE,IAAI;MACjBC,aAAa,EAAE,EAAE;MACjBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,IAAI;MACjBC,SAAS,EAAE;IACb,CAAC;IAAAN,eAAA,gBACO,CAAC,CAAC;IAAAA,eAAA,qBAkGIO,IAAI,IAAK;MACrB,IAAI;QAAEC,KAAK,GAAG,CAAC,CAAC;QAAEC,OAAO,GAAG,EAAE;QAAEC,UAAU,GAAG,EAAE;QAAEC;MAAW,CAAC,GAAG,IAAI,CAACZ,KAAK;MAC1E,MAAM;QAAEa;MAAS,CAAC,GAAGJ,KAAK;MAC1BG,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGC,QAAQ,GAAG,SAAS,GAAG,OAAO;MACrE,IAAI,CAACC,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;QACxB,OAAO,EAAE;MACX;MACA,IAAIQ,OAAO,GAAG,CAAC,GAAGR,IAAI,CAAC;MACvB,IAAIE,OAAO,CAACO,MAAM,GAAG,CAAC,EAAE;QACtBD,OAAO,GAAG,CAAC,GAAGN,OAAO,EAAE,GAAGM,OAAO,CAAC;MACpC;MACA,IAAIL,UAAU,CAACM,MAAM,GAAG,CAAC,EAAE;QACzB,IAAIC,UAAU,GAAG,EAAE;QACnB,MAAMC,WAAgB,GAAGP,UAAU,CAACQ,KAAK,CAAC,GAAG,CAAC;QAC9CJ,OAAO,CAACK,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;UACvB,IAAIC,KAAK,GAAG,EAAE;UACdL,WAAW,CAACE,GAAG,CAAC,CAACI,CAAC,EAAEC,KAAK,KAAK;YAC5BF,KAAK,GAAGE,KAAK,IAAI,CAAC,GAAGF,KAAK,GAAGF,IAAI,CAACG,CAAC,CAAC,GAAGD,KAAK,GAAG,GAAG,GAAGF,IAAI,CAACG,CAAC,CAAC;UAC9D,CAAC,CAAC;UACF,IAAId,UAAU,CAACgB,OAAO,CAACH,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;YACnCN,UAAU,CAACU,IAAI,CAACN,IAAI,CAAC;UACvB;QACF,CAAC,CAAC;QACF,OAAOJ,UAAU;MACnB,CAAC,MAAM;QACL,OAAOF,OAAO;MAChB;IACF,CAAC;IA1HC,IAAI;MACFR,IAAI,EAAJA,KAAI;MACJC,KAAK,EAALA,MAAK,GAAG,CAAC,CAAC;MACVJ,QAAQ;MACRwB,OAAO;MACPnB,OAAO,EAAPA,QAAO,GAAG,EAAE;MACZC,UAAU,EAAVA,WAAU,GAAG,EAAE;MACfC,UAAU,EAAVA;IACF,CAAC,GAAGZ,KAAK;IACT,MAAM;QACJ8B,GAAG;QACHC,SAAS,EAAEC,aAAa,GAAG,CAAC,CAAC;QAC7BnB,QAAQ,EAARA,SAAQ;QACRoB,MAAM;QACNC,QAAQ;QACRC,QAAQ,GAAG;MAEb,CAAC,GAAG1B,MAAK;MADJ2B,MAAM,GAAAC,wBAAA,CACP5B,MAAK,EAAA6B,SAAA;IACT1B,WAAU,GAAGA,WAAU,GAAGA,WAAU,GAAGC,SAAQ,GAAG,SAAS,GAAG,OAAO;IACrE,IAAI;MAAE0B,OAAO;MAAEC;IAAW,CAAC,GAAGlD,MAAM,CAAC,CAAC;IACtC,IAAImD,cAAc,GAAGN,QAAQ,IAAI,KAAK,GAAGI,OAAO,GAAGC,UAAU;IAE7D,IAAI,CAACnC,QAAQ,EAAE;MACb,IAAI,EAAEG,KAAI,IAAIK,SAAQ,IAAIiB,GAAG,IAAID,OAAO,CAAC,EAAE;QACzC,MAAM,IAAIa,KAAK,CAAC,iCAAiC,CAAC;MACpD;MACA,IAAIC,KAAK,GAAG,IAAI;MAChB,IAAIC,UAAU,GAAAC,aAAA;QACZC,KAAK,EAAE,OAAO;QACdC,SAAS,EAAE,IAAI;QACfhB,SAAS,EAAE;UACTiB,YAAY,EAAE,SAAAA,CAAUvC,KAAK,EAAEoB,OAAO,EAAE;YACtCxC,KAAK,CAAC4D,QAAQ,CAACjB,aAAa,CAACgB,YAAY,EAAEL,KAAK,EAAE,CAAClC,KAAK,EAAEoB,OAAO,CAAC,CAAC;UACrE,CAAC;UACDqB,IAAI,EAAE,SAAAA,CAAU1C,IAAI,EAAE2C,SAAS,EAAE1C,KAAK,EAAE;YACtC,MAAMO,OAAO,GAAG2B,KAAK,CAACS,UAAU,CAAC5C,IAAI,CAAC;YACtCmC,KAAK,CAACU,QAAQ,CAAC;cACbnD,UAAU,EAAEc,OAAO;cACnBZ,aAAa,EAAEY,OAAO;cACtBT,SAAS,EAAEC;YACb,CAAC,CAAC;YACFnB,KAAK,CAAC4D,QAAQ,CAACjB,aAAa,CAACkB,IAAI,EAAEP,KAAK,EAAE,CAACnC,IAAI,EAAE2C,SAAS,EAAE1C,KAAK,CAAC,CAAC;UACrE,CAAC;UACD6C,WAAW,EAAE,SAAAA,CAAU9C,IAAI,EAAE2C,SAAS,EAAE1C,KAAK,EAAE;YAC7C,MAAMO,OAAO,GAAG2B,KAAK,CAACS,UAAU,CAAC5C,IAAI,CAAC;YACtCmC,KAAK,CAACU,QAAQ,CAAC;cACbnD,UAAU,EAAEc,OAAO;cACnBZ,aAAa,EAAEY,OAAO;cACtBT,SAAS,EAAEC;YACb,CAAC,CAAC;YACFnB,KAAK,CAAC4D,QAAQ,CAACjB,aAAa,CAACsB,WAAW,EAAEX,KAAK,EAAE,CAC/CnC,IAAI,EACJ2C,SAAS,EACT1C,KAAK,CACN,CAAC;UACJ;QACF;MAAC,GACE2B,MAAM,CACV;MACD,IAAI,CAACvB,SAAQ,IAAIiB,GAAG,KAAKtB,KAAI,IAAI,IAAI,IAAIqB,OAAO,IAAI,IAAI,EAAE;QACxD,IAAI0B,QAAQ,GAAGtB,MAAM;QACrB,IAAIuB,UAAU,GAAGtB,QAAQ;QACzB,IAAIrB,SAAQ,EAAE;UACZ,IAAI,OAAOoB,MAAM,KAAK,SAAS,EAAE;YAC/BsB,QAAQ,GAAG,IAAI;YACfC,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAG3C,SAAQ;UACjD;QACF;QAEA+B,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACL;UACDY,QAAQ,EAAE,IAAI;UACd3B,GAAG,EAAEA,GAAG,IAAIW,cAAc,GAAG5B,SAAQ;UAAE;UACvCoB,MAAM,EAAEsB,QAAQ;UAChBrB,QAAQ,EAAEsB;QACZ,CAAC,GACEZ,UAAU,CACd;MACH;MACA,IAAI,CAACnC,KAAK,GAAG,IAAIrB,KAAK,CAACwD,UAAU,CAAC;IACpC;EACF;EAEAc,SAASA,CAAA,EAAG;IACV,MAAM;MAAErD;IAAS,CAAC,GAAG,IAAI,CAACL,KAAK;IAC/B,MAAM;MAAEI,aAAa;MAAEE;IAAY,CAAC,GAAG,IAAI,CAACqD,KAAK;IACjD,IAAItD,QAAQ,EAAE;MACZ,IAAI,CAACgD,QAAQ,CAAC;QAAEhD,QAAQ,EAAEC;MAAY,CAAC,CAAC;IAC1C,CAAC,MAAM;MACL,IAAI,CAAC+C,QAAQ,CAAC;QACZnD,UAAU,EAAEE;MACd,CAAC,CAAC;IACJ;EACF;EA8BAwD,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI,CAACD,KAAK,CAACvD,aAAa;EACjC;EAEAyD,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACF,KAAK,CAACxD,WAAW;EAC/B;EACA2D,QAAQA,CAACtC,KAAK,EAAE;IACd,IAAI,CAAC6B,QAAQ,CAAC;MACZlD,WAAW,EAAEqB;IACf,CAAC,CAAC;EACJ;EAEAuC,aAAaA,CAACvC,KAAK,EAAE;IACnB,MAAM;MAAEtB;IAAW,CAAC,GAAG,IAAI,CAACyD,KAAK;IACjC,IAAI;MAAElD,KAAK,GAAG,CAAC,CAAC;MAAEG;IAAW,CAAC,GAAG,IAAI,CAACZ,KAAK;IAC3C,MAAM;MAAEa;IAAS,CAAC,GAAGJ,KAAK;IAC1BG,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGC,QAAQ,GAAG,SAAS,GAAG,OAAO;IACrE,MAAMG,OAAO,GAAGtB,cAAc,CAACQ,UAAU,EAAE;MAAE8D,QAAQ,EAAEpD;IAAW,CAAC,CAAC;IACpE,IAAIE,KAAK,CAACC,OAAO,CAACS,KAAK,CAAC,EAAE;MACxB,IAAIyC,GAAG,GAAG,EAAS;MACnBzC,KAAK,CAACH,GAAG,CAAE6C,GAAG,IAAK;QACjBD,GAAG,CAACrC,IAAI,CAACZ,OAAO,CAACkD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,OAAOD,GAAG;IACZ,CAAC,MAAM;MACL,OAAOjD,OAAO,CAACQ,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B;EACF;EAEA2C,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAE3D,IAAI;MAAEqB,OAAO;MAAExB;IAAS,CAAC,GAAG,IAAI,CAACL,KAAK;IAC9C,IAAI,CAACK,QAAQ,KAAKG,IAAI,IAAIqB,OAAO,CAAC,EAAE;MAClC,IAAI,CAACwB,QAAQ,CAAC;QACZnD,UAAU,EAAEM,IAAI,GAAGA,IAAI,GAAGqB,OAAO;QACjCzB,aAAa,EAAEI,IAAI,GAAGA,IAAI,GAAGqB;MAC/B,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIxB,QAAQ,EAAE;MACnB,IAAI,CAACgD,QAAQ,CAAC;QACZhD,QAAQ,EAAEA,QAAQ;QAClBC,WAAW,EAAED;MACf,CAAC,CAAC;IACJ;EACF;EAEA+D,kBAAkBA,CAACC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAE;IAC/C,MAAM;MAAE/D,IAAI;MAAEqB,OAAO;MAAExB;IAAS,CAAC,GAAG,IAAI,CAACL,KAAK;IAC9C,MAAM;MAAEI,aAAa;MAAEE,WAAW;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACoD,KAAK;IAC5D,IAAI,CAACtD,QAAQ,KAAKG,IAAI,IAAIqB,OAAO,CAAC,EAAE;MAClC,MAAMb,OAAO,GAAGR,IAAI,GAAGA,IAAI,GAAGqB,OAAO;MACrC,IAAI2C,IAAI,CAACC,SAAS,CAACrE,aAAa,CAAC,KAAKoE,IAAI,CAACC,SAAS,CAACzD,OAAO,CAAC,EAAE;QAC7D,IAAI,CAACqC,QAAQ,CAAC;UACZnD,UAAU,EAAEc,OAAO;UACnBZ,aAAa,EAAEY;QACjB,CAAC,CAAC;MACJ;IACF;IACC,IACCwD,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC1D,UAAU,CAAC,KACjC6D,IAAI,CAACC,SAAS,CAAC,IAAI,CAACzE,KAAK,CAACW,UAAU,CAAC,IACvC6D,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC3D,OAAO,CAAC,KAAK8D,IAAI,CAACC,SAAS,CAAC,IAAI,CAACzE,KAAK,CAACU,OAAO,CAAC,EACvE;MACA,MAAMM,OAAO,GAAG,IAAI,CAACoC,UAAU,CAAC7C,SAAS,CAAC;MAC1C,IAAI,CAAC8C,QAAQ,CAAC;QACZnD,UAAU,EAAEc,OAAO;QACnBZ,aAAa,EAAEY,OAAO;QACtBT,SAAS,EAAEA;MACb,CAAC,CAAC;IACJ;IACA,IAAIF,QAAQ,IAAIS,KAAK,CAACC,OAAO,CAACV,QAAQ,CAAC,EAAE;MACvC,MAAMqE,kBAAuB,GAAG,EAAE;MAClCpE,WAAW,CAACe,GAAG,CAAEsD,CAAM,IAAK;QAC1BD,kBAAkB,CAAC9C,IAAI,CAAC+C,CAAC,CAAC3E,KAAK,CAAC;MAClC,CAAC,CAAC;MACF,MAAM4E,aAAkB,GAAG,EAAE;MAC7BvE,QAAQ,CAACgB,GAAG,CAAEwD,CAAM,IAAK;QACvBD,aAAa,CAAChD,IAAI,CAACiD,CAAC,CAAC7E,KAAK,CAAC;MAC7B,CAAC,CAAC;MACF,IACEwE,IAAI,CAACC,SAAS,CAACC,kBAAkB,CAAC,KAAKF,IAAI,CAACC,SAAS,CAACG,aAAa,CAAC,EACpE;QACA,IAAI,CAACvB,QAAQ,CAAC;UACZhD,QAAQ,EAAEA,QAAQ;UAClBC,WAAW,EAAED;QACf,CAAC,CAAC;MACJ;IACF;EACF;EACAyE,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACzB,QAAQ,GAAG,CAACM,KAAK,EAAEV,QAAQ,KAAK;MACnC;IACF,CAAC;EACH;EACA8B,QAAQA,CAACvD,KAAK,EAAE;IACd,MAAM;MAAEpB,aAAa;MAAEE;IAAY,CAAC,GAAG,IAAI,CAACqD,KAAK;IACjD,MAAM;MAAEqB,YAAY,GAAG,IAAI;MAAED,QAAQ;MAAE1E,QAAQ;MAAEI,KAAK,GAAG,CAAC;IAAE,CAAC,GAAG,IAAI,CAACT,KAAK;IAC1E,IAAI;MAAEiF;IAAW,CAAC,GAAG,IAAI,CAACjF,KAAK;IAC/B,MAAM;MAAEa;IAAS,CAAC,GAAGJ,KAAK;IAC1BwE,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGpE,QAAQ,GAAG,WAAW,GAAG,OAAO;IACvE,IAAImE,YAAY,EAAE;MAChB,IAAIE,MAAM,GAAG,EAAE;MACf,IAAI,CAAC7E,QAAQ,EAAE;QACb,IAAImB,KAAK,EAAE;UACTpB,aAAa,CAAC+E,OAAO,CAAE7D,IAAI,IAAK;YAC9B,IAAI8D,KAAK,GAAG,EAAE;YACd,IAAIH,UAAU,CAAC7D,KAAK,CAAC,GAAG,CAAC,CAACH,MAAM,IAAI,CAAC,EAAE;cACrCmE,KAAK,GAAG9D,IAAI,CAAC2D,UAAU,CAAC;YAC1B,CAAC,MAAM;cACL,MAAMI,WAAgB,GAAGJ,UAAU,CAAC7D,KAAK,CAAC,GAAG,CAAC;cAC9CiE,WAAW,CAAChE,GAAG,CAAC,CAACiE,CAAC,EAAE5D,KAAK,KAAK;gBAC5B0D,KAAK,GAAG1D,KAAK,IAAI,CAAC,GAAG0D,KAAK,GAAG9D,IAAI,CAACgE,CAAC,CAAC,GAAGF,KAAK,GAAG,GAAG,GAAG9D,IAAI,CAACgE,CAAC,CAAC;cAC9D,CAAC,CAAC;YACJ;YACA,IAAIC,IAAI,GAAG9F,WAAW,CAAC+F,KAAK,CAACJ,KAAK,EAAE5D,KAAK,CAAC;YAC1C,IAAI+D,IAAI,EAAE;cACRL,MAAM,CAACtD,IAAI,CAACN,IAAI,CAAC;YACnB;UACF,CAAC,CAAC;UACF,IAAI,CAAC+B,QAAQ,CAAC;YACZnD,UAAU,EAAEgF;UACd,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAAC7B,QAAQ,CAAC;YACZnD,UAAU,EAAEE;UACd,CAAC,CAAC;QACJ;MACF,CAAC,MAAM;QACL,IAAIoB,KAAK,EAAE;UACT,IAAIV,KAAK,CAACC,OAAO,CAACT,WAAW,CAAC,EAAE;YAC9BA,WAAW,CAACe,GAAG,CAAC,CAACoE,KAAU,EAAE/D,KAAK,KAAK;cAAA,IAAAgE,YAAA;cACrC,IAAIN,KAAK,GAAGK,KAAK,aAALA,KAAK,gBAAAC,YAAA,GAALD,KAAK,CAAEzF,KAAK,cAAA0F,YAAA,uBAAZA,YAAA,CAAcrF,QAAQ;cAClC,IAAIkF,IAAI,GAAG9F,WAAW,CAAC+F,KAAK,CAACJ,KAAK,EAAE5D,KAAK,CAAC;cAC1C,IAAI+D,IAAI,EAAE;gBACRL,MAAM,CAACtD,IAAI,CAAC6D,KAAK,CAAC;cACpB;YACF,CAAC,CAAC;UACJ;UACA,IAAI,CAACpC,QAAQ,CAAC;YACZhD,QAAQ,EAAE6E;UACZ,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAAC7B,QAAQ,CAAC;YACZhD,QAAQ,EAAEA;UACZ,CAAC,CAAC;QACJ;MACF;IACF;IACA0E,QAAQ,IAAIA,QAAQ,CAACvD,KAAK,CAAC;EAC7B;EACAmE,YAAYA,CAACC,UAAU,EAAE;IACvB,IAAI;MACFnF,KAAK,GAAG,CAAC,CAAC;MACVoF,SAAS,GAAG,QAAQ;MACpBZ,UAAU;MACVrE;IACF,CAAC,GAAG,IAAI,CAACZ,KAAK;IACd,MAAM;MAAEa;IAAS,CAAC,GAAGJ,KAAK;IAC1BG,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGC,QAAQ,GAAG,SAAS,GAAG,OAAO;IACrEoE,UAAU,GAAGA,UAAU,GAAGA,UAAU,GAAGpE,QAAQ,GAAG,WAAW,GAAG,OAAO;IACvE,OAAO+E,UAAU,CAACvE,GAAG,CAAEC,IAAI,IAAK;MAC9B,IAAIE,KAAU;MACd,IAAIZ,UAAU,CAACQ,KAAK,CAAC,GAAG,CAAC,CAACH,MAAM,IAAI,CAAC,EAAE;QACrCO,KAAK,GACHqE,SAAS,KAAK,QAAQ,GAAGC,MAAM,CAACxE,IAAI,CAACV,UAAU,CAAC,CAAC,GAAGU,IAAI,CAACV,UAAU,CAAC;MACxE,CAAC,MAAM;QACL,MAAMO,WAAgB,GAAGP,UAAU,CAACQ,KAAK,CAAC,GAAG,CAAC;QAC9CI,KAAK,GAAG,EAAE;QACVL,WAAW,CAACE,GAAG,CAAC,CAACI,CAAC,EAAEC,KAAK,KAAK;UAC5BF,KAAK,GAAGE,KAAK,IAAI,CAAC,GAAGF,KAAK,GAAGF,IAAI,CAACG,CAAC,CAAC,GAAGD,KAAK,GAAG,GAAG,GAAGF,IAAI,CAACG,CAAC,CAAC;QAC9D,CAAC,CAAC;MACJ;MACA,IAAIsE,GAAG,GAAGzE,IAAI,CAAC0E,EAAE,GAAI1E,IAAI,CAAC0E,EAAE,KAAK,WAAW,GAAG1E,IAAI,CAAC0E,EAAE,GAAGxE,KAAK,GAAIA,KAAK;MACvE,IAAI4D,KAAK,GAAG,EAAE;MACd,IAAIH,UAAU,CAAC7D,KAAK,CAAC,GAAG,CAAC,CAACH,MAAM,IAAI,CAAC,EAAE;QACrCmE,KAAK,GAAG9D,IAAI,CAAC2D,UAAU,CAAC;MAC1B,CAAC,MAAM;QACL,MAAMI,WAAgB,GAAGJ,UAAU,CAAC7D,KAAK,CAAC,GAAG,CAAC;QAC9CiE,WAAW,CAAChE,GAAG,CAAC,CAACiE,CAAC,EAAE5D,KAAK,KAAK;UAC5B0D,KAAK,GAAG1D,KAAK,IAAI,CAAC,GAAG0D,KAAK,GAAG9D,IAAI,CAACgE,CAAC,CAAC,GAAGF,KAAK,GAAG,GAAG,GAAG9D,IAAI,CAACgE,CAAC,CAAC;QAC9D,CAAC,CAAC;MACJ;MACA,oBACEpG,KAAA,CAAA+G,aAAA,CAACtG,MAAM;QACLoG,GAAG,EAAEA,GAAI;QACTvE,KAAK,EAAEA,KAAM;QACb4D,KAAK,EAAEA,KAAM;QACbc,QAAQ,EAAE5E,IAAI,CAAC4E,QAAQ,GAAG,IAAI,GAAG;MAAM,GAEtCd,KACK,CAAC;IAEb,CAAC,CAAC;EACJ;EACAe,cAAcA,CAAA,EAAG;IACf,MAAM;MAAEC,SAAS,GAAG,IAAI;MAAEC,UAAU,GAAG;IAAY,CAAC,GAAG,IAAI,CAACrG,KAAK;IACjE,MAAM;MAAEE,UAAU;MAAEG;IAAS,CAAC,GAAG,IAAI,CAACsD,KAAK;IAC3C,IAAItD,QAAQ,EAAE;MACZ,oBAAOnB,KAAA,CAAA+G,aAAA,CAAA/G,KAAA,CAAAoH,QAAA,QAAGjG,QAAW,CAAC;IACxB,CAAC,MAAM;MACL,IAAIkG,YAAY,GAAG,CAAC,CAAC;QACnBX,UAAU,GAAG,EAAE;MACjB1F,UAAU,CAACiF,OAAO,CAAE7D,IAAI,IAAK;QAC3B,IAAI8D,KAAK,GAAG9D,IAAI,CAAC+E,UAAU,CAAC;QAC5B,IAAIjB,KAAK,IAAIgB,SAAS,EAAE;UACtB,IAAI,CAACG,YAAY,CAACnB,KAAK,CAAC,EAAEmB,YAAY,CAACnB,KAAK,CAAC,GAAG,EAAE;UAClDmB,YAAY,CAACnB,KAAK,CAAC,CAACxD,IAAI,CAACN,IAAI,CAAC;QAChC,CAAC,MAAM;UACLsE,UAAU,CAAChE,IAAI,CAACN,IAAI,CAAC;QACvB;MACF,CAAC,CAAC;MACF,IAAIkF,MAAM,GAAG,IAAI,CAACb,YAAY,CAACC,UAAU,CAAC;MAC1C,IAAIa,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,YAAY,CAAC,CAAClF,GAAG,CAAE0E,GAAG,IAAK;QACpD,oBACE7G,KAAA,CAAA+G,aAAA,CAACrG,QAAQ;UAACmG,GAAG,EAAEA,GAAI;UAACX,KAAK,EAAEW;QAAI,GAC5B,IAAI,CAACJ,YAAY,CAACY,YAAY,CAACR,GAAG,CAAC,CAC5B,CAAC;MAEf,CAAC,CAAC;MACF,oBACE7G,KAAA,CAAA+G,aAAA,CAAA/G,KAAA,CAAAoH,QAAA,QACGE,MAAM,EACNC,QACD,CAAC;IAEP;EACF;EACAG,QAAQA,CAACpF,KAAK,EAAEK,OAAO,EAAE;IACvB,MAAM;MAAE+E;IAAS,CAAC,GAAG,IAAI,CAAC5G,KAAK;IAC/B,IAAI,CAACqD,QAAQ,CAAC;MACZlD,WAAW,EAAEqB;IACf,CAAC,CAAC;IACF,IAAIoF,QAAQ,EAAE;MACZ,MAAMpG,IAAI,GAAG,IAAI,CAACuD,aAAa,CAACvC,KAAK,CAAC;MACtCoF,QAAQ,CAACpF,KAAK,EAAEK,OAAO,EAAErB,IAAI,CAAC;IAChC;EACF;EACAqG,QAAQA,CAACrF,KAAK,EAAEK,OAAO,EAAE;IACvB,MAAM;MAAEgF;IAAS,CAAC,GAAG,IAAI,CAAC7G,KAAK;IAE/B,IAAI6G,QAAQ,EAAE;MACZ,MAAMrG,IAAI,GAAG,IAAI,CAACuD,aAAa,CAACvC,KAAK,CAAC;MACtCqF,QAAQ,CAACrF,KAAK,EAAEK,OAAO,EAAErB,IAAI,CAAC;IAChC;EACF;EACAsG,uBAAuBA,CAACC,IAAI,EAAE;IAC5B,IAAI,CAACA,IAAI,EAAE;MACT,IAAI,CAACrD,SAAS,CAAC,CAAC;IAClB;EACF;EACAsD,MAAMA,CAAA,EAAG;IACP,MAAAC,WAAA,GAiBI,IAAI,CAACjH,KAAK;MAjBR;QACJK,QAAQ;QACRI,KAAK;QACLD,IAAI;QACJoG,QAAQ;QACRC,QAAQ;QACRhF,OAAO;QACPoD,UAAU;QACVrE,UAAU;QACVsG,YAAY;QACZd,SAAS,GAAG,IAAI;QAChB1F,OAAO;QACPC,UAAU;QACVkF,SAAS;QACTQ,UAAU;QACVc;MAEF,CAAC,GAAAF,WAAA;MADIG,MAAM,GAAA/E,wBAAA,CAAA4E,WAAA,EAAAI,UAAA;IAEX,IAAIrH,KAAK,GAAG;MACVgF,YAAY,EAAE,KAAK;MACnBsC,UAAU,EAAE,IAAI;MAChBC,gBAAgB,EAAE,OAAO;MACzBC,WAAW,EAAE,KAAK;MAClBC,UAAU,EAAE;IACd,CAAQ;IACR,IAAI;MAAEC,SAAS;MAAEC;IAAe,CAAC,GAAGrI,MAAM,CAAC,CAAC;IAC5C,IAAIqI,cAAc,EAAE;MAClB3H,KAAK,GAAA6C,aAAA;QACH+E,iBAAiB,EAAEA,CAAA,KAAMC,QAAQ,CAACC,cAAc,CAACH,cAAc;MAAC,GAC7D3H,KAAK,CACT;IACH;IACA,IAAI,CAACkH,YAAY,IAAIQ,SAAS,KAAKR,YAAY,KAAK,IAAI,EAAE;MACxD,oBACEhI,KAAA,CAAA+G,aAAA;QAAK8B,SAAS,EAAEvI,GAAG,CAACD,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,CAACS,KAAK,CAAC+H,SAAS;MAAE,gBAC9D7I,KAAA,CAAA+G,aAAA,CAAApG,OAAA,EAAAmI,QAAA;QACExG,KAAK,EAAE,IAAI,CAACmC,KAAK,CAACxD,WAAY;QAC9ByG,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACqB,IAAI,CAAC,IAAI,CAAE;QACnClD,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACkD,IAAI,CAAC,IAAI,CAAE;QACnCpB,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACoB,IAAI,CAAC,IAAI,CAAE;QACnCnB,uBAAuB,EAAE,IAAI,CAACA,uBAAuB,CAACmB,IAAI,CAAC,IAAI;MAAE,GAC7DjI,KAAK,EACLoH,MAAM,GAET,IAAI,CAACjB,cAAc,CAAC,CACf,CACL,CAAC;IAEV,CAAC,MAAM;MACL,oBACEjH,KAAA,CAAA+G,aAAA;QAAK8B,SAAS,EAAE,IAAI,CAAC/H,KAAK,CAAC+H;MAAU,gBACnC7I,KAAA,CAAA+G,aAAA,CAAApG,OAAA,EAAAmI,QAAA;QACExG,KAAK,EAAE,IAAI,CAACmC,KAAK,CAACxD,WAAY;QAC9B4E,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACkD,IAAI,CAAC,IAAI,CAAE;QACnCrB,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACqB,IAAI,CAAC,IAAI,CAAE;QACnCpB,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACoB,IAAI,CAAC,IAAI,CAAE;QACnCnB,uBAAuB,EAAE,IAAI,CAACA,uBAAuB,CAACmB,IAAI,CAAC,IAAI;MAAE,GAC7DjI,KAAK,EACLoH,MAAM,GAET,IAAI,CAACjB,cAAc,CAAC,CACf,CACL,CAAC;IAEV;EACF;AACF;AAAClG,eAAA,CArcoBH,SAAS,YACZH,MAAM;AAAAM,eAAA,CADHH,SAAS,cAEVF,QAAQ"}
1
+ {"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","config","styles","cls","PinyinMatch","getFlattenData","Option","OptGroup","_Select","NSCSelect","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","children","allChildren","dataStore","data","store","addData","deleteData","valueField","viewname","Array","isArray","newData","length","spliceData","valueFields","split","map","item","i","value","v","index","indexOf","push","options","url","listeners","listenersPops","cached","cacheKey","viewtype","stores","_objectWithoutProperties","_excluded","viewUrl","viewBizUrl","requestViewUrl","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","getAllData","setState","dataChanged","isCached","isCacheKey","autoLoad","resetData","state","getData","getValue","setValue","getSelectData","keyField","res","val","componentDidMount","componentDidUpdate","newProps","newState","Snapshot","JSON","stringify","stateChildrenProps","s","childrenProps","c","componentWillUnmount","onSearch","filterOption","labelField","result","forEach","label","labelFields","l","flag","match","child","_child$props","renderOption","optionData","valueType","Number","key","id","createElement","disabled","renderChildren","showGroup","groupField","Fragment","optGroupData","option","optGroup","Object","keys","onChange","onSelect","onDropdownVisibleChange","open","render","_this$props","defaultStyle","dataType","params","_excluded2","showSearch","optionFilterProp","placeholder","allowClear","antdStyle","mountElementId","getPopupContainer","document","getElementById","className","_extends","bind"],"sources":["../../../src/components/base/select/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport omit from \"omit.js\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport { getFlattenData } from \"@bj-nsc/functions\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ninterface ISelectProps extends SelectProps<any> {\r\n store?: StoreProps;\r\n data?: Array<Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n groupField?: string;\r\n defaultStyle?: boolean;\r\n showGroup?: boolean; //是否显示分组\r\n addData?: Array<Object>; //配合store使用,从增加额外的数据\r\n deleteData?: Array<String>; //配合store使用,删除从数据库中获取到的指定数据\r\n valueType?: \"string\" | \"number\";\r\n [proName: string]: any;\r\n onChange?: any;\r\n onSelect?: any;\r\n}\r\nexport default class NSCSelect extends PureComponent<ISelectProps> {\r\n static Option = Option;\r\n static OptGroup = OptGroup;\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n children: null,\r\n allChildren: null,\r\n dataStore: [],\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n let {\r\n data,\r\n store = {},\r\n children,\r\n options,\r\n addData = [],\r\n deleteData = [],\r\n valueField,\r\n } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n viewtype = \"sys\",\r\n ...stores\r\n } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n\r\n if (!children) {\r\n if (!(data || viewname || url || options)) {\r\n throw new Error(\"url、viewname、data、options不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n const newData = _this.getAllData(data);\r\n _this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n dataStore: data,\r\n });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if ((viewname || url) && data == null && options == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n if (viewname) {\r\n if (typeof cached !== \"boolean\") {\r\n isCached = viewname ? true : false;\r\n isCacheKey = isCacheKey ? isCacheKey : viewname;\r\n }\r\n }\r\n\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url || requestViewUrl + viewname, //读字典,url固定,viewname\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n resetData() {\r\n const { children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (children) {\r\n this.setState({ children: allChildren });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n }\r\n\r\n getAllData = (data) => {\r\n let { store = {}, addData = [], deleteData = [], valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n if (!Array.isArray(data)) {\r\n return [];\r\n }\r\n let newData = [...data];\r\n if (addData.length > 0) {\r\n newData = [...addData, ...newData];\r\n }\r\n if (deleteData.length > 0) {\r\n let spliceData = [];\r\n const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n let value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n if (deleteData.indexOf(value) == -1) {\r\n spliceData.push(item);\r\n }\r\n });\r\n return spliceData;\r\n } else {\r\n return newData;\r\n }\r\n };\r\n getData() {\r\n return this.state.allDataSource;\r\n }\r\n\r\n getValue() {\r\n return this.state.selectValue;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n selectValue: value,\r\n });\r\n }\r\n\r\n getSelectData(value) {\r\n const { dataSource } = this.state;\r\n let { store = {}, valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n const newData = getFlattenData(dataSource, { keyField: valueField });\r\n if (Array.isArray(value)) {\r\n let res = [] as any;\r\n value.map((val) => {\r\n res.push(newData[val] || {});\r\n });\r\n return res;\r\n } else {\r\n return newData[value] || {};\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, options, children } = this.props;\r\n if (!children && (data || options)) {\r\n this.setState({\r\n dataSource: data ? data : options,\r\n allDataSource: data ? data : options,\r\n });\r\n } else if (children) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { data, options, children } = this.props;\r\n const { allDataSource, allChildren, dataStore } = this.state;\r\n if (!children && (data || options)) {\r\n const newData = data ? data : options;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n }\r\n if (\r\n JSON.stringify(newProps.deleteData) !==\r\n JSON.stringify(this.props.deleteData) ||\r\n JSON.stringify(newProps.addData) !== JSON.stringify(this.props.addData)\r\n ) {\r\n const newData = this.getAllData(dataStore);\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n dataStore: dataStore,\r\n });\r\n }\r\n if (children && Array.isArray(children)) {\r\n const stateChildrenProps: any = [];\r\n allChildren.map((s: any) => {\r\n stateChildrenProps.push(s.props);\r\n });\r\n const childrenProps: any = [];\r\n children.map((c: any) => {\r\n childrenProps.push(c.props);\r\n });\r\n if (\r\n JSON.stringify(stateChildrenProps) !== JSON.stringify(childrenProps)\r\n ) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n onSearch(value) {\r\n const { allDataSource, allChildren } = this.state;\r\n const { filterOption = true, onSearch, children, store = {} } = this.props;\r\n let { labelField } = this.props;\r\n const { viewname } = store;\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n if (filterOption) {\r\n let result = [];\r\n if (!children) {\r\n if (value) {\r\n allDataSource.forEach((item) => {\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(item);\r\n }\r\n });\r\n this.setState({\r\n dataSource: result,\r\n });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n } else {\r\n if (value) {\r\n if (Array.isArray(allChildren)) {\r\n allChildren.map((child: any, index) => {\r\n let label = child?.props?.children;\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(child);\r\n }\r\n });\r\n }\r\n this.setState({\r\n children: result,\r\n });\r\n } else {\r\n this.setState({\r\n children: children,\r\n });\r\n }\r\n }\r\n }\r\n onSearch && onSearch(value);\r\n }\r\n renderOption(optionData) {\r\n let {\r\n store = {},\r\n valueType = \"string\",\r\n labelField,\r\n valueField,\r\n } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n return optionData.map((item) => {\r\n let value: any;\r\n if (valueField.split(\",\").length == 1) {\r\n value =\r\n valueType === \"number\" ? Number(item[valueField]) : item[valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n }\r\n let key = item.id ? (item.id !== \"undefined\" ? item.id : value) : value;\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n return (\r\n <Option\r\n key={key}\r\n value={value}\r\n label={label}\r\n disabled={item.disabled ? true : false}\r\n >\r\n {label}\r\n </Option>\r\n );\r\n });\r\n }\r\n renderChildren() {\r\n const { showGroup = true, groupField = \"groupName\" } = this.props;\r\n const { dataSource, children } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n let optGroupData = {},\r\n optionData = [];\r\n dataSource.forEach((item) => {\r\n let label = item[groupField];\r\n if (label && showGroup) {\r\n if (!optGroupData[label]) optGroupData[label] = [];\r\n optGroupData[label].push(item);\r\n } else {\r\n optionData.push(item);\r\n }\r\n });\r\n let option = this.renderOption(optionData);\r\n let optGroup = Object.keys(optGroupData).map((key) => {\r\n return (\r\n <OptGroup key={key} label={key}>\r\n {this.renderOption(optGroupData[key])}\r\n </OptGroup>\r\n );\r\n });\r\n return (\r\n <>\r\n {option}\r\n {optGroup}\r\n </>\r\n );\r\n }\r\n }\r\n onChange(value, options) {\r\n const { onChange } = this.props;\r\n this.setState({\r\n selectValue: value,\r\n });\r\n if (onChange) {\r\n const data = this.getSelectData(value);\r\n onChange(value, options, data);\r\n }\r\n }\r\n onSelect(value, options) {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n const data = this.getSelectData(value);\r\n onSelect(value, options, data);\r\n }\r\n }\r\n onDropdownVisibleChange(open) {\r\n if (!open) {\r\n this.resetData();\r\n }\r\n }\r\n render() {\r\n const {\r\n children,\r\n store,\r\n data,\r\n onChange,\r\n onSelect,\r\n options,\r\n labelField,\r\n valueField,\r\n defaultStyle,\r\n showGroup = true,\r\n addData,\r\n deleteData,\r\n valueType,\r\n groupField,\r\n dataType,\r\n ...params\r\n } = this.props;\r\n let props = {\r\n filterOption: false,\r\n showSearch: true,\r\n optionFilterProp: \"label\",\r\n placeholder: \"请选择\",\r\n allowClear: true,\r\n } as any;\r\n let { antdStyle, mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getPopupContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_select\"], this.props.className)}>\r\n <Select\r\n value={this.state.selectValue}\r\n onChange={this.onChange.bind(this)}\r\n onSearch={this.onSearch.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <div className={this.props.className}>\r\n <Select\r\n value={this.state.selectValue}\r\n onSearch={this.onSearch.bind(this)}\r\n onChange={this.onChange.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}