raise-common-lib 0.0.237-beta → 0.0.238-beta

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.
@@ -60,7 +60,7 @@ ToolbarItemComponent.decorators = [
60
60
  { type: Component, args: [{
61
61
  selector: "rs-toolbar-item",
62
62
  template: "<button\r\n *ngIf=\"!children.length\"\r\n class=\"toolbar-action-item e-btn text\"\r\n #buttonElement\r\n [disabled]=\"!!disabled\"\r\n>\r\n <span class=\"toolbar-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n </span>\r\n <span>{{ text }}</span>\r\n</button>\r\n\r\n<button\r\n *ngIf=\"children.length\"\r\n class=\"toolbar-action-item e-btn text\"\r\n #buttonElement\r\n mat-menu-item\r\n [matMenuTriggerFor]=\"menu\"\r\n [disabled]=\"!!disabled\"\r\n>\r\n <span class=\"toolbar-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n </span>\r\n <span>{{ text }}</span>\r\n <span class=\"toolbar-action-arrow\" *ngIf=\"!hideArrow\">\r\n <img src=\"assets/img/down-arrow.svg\" />\r\n </span>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"toolbar-action-menu-content\">\r\n <ng-container *ngFor=\"let button of children\">\r\n <button\r\n class=\"toolbar-action-item e-btn text\"\r\n [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n (click)=\"button.action()\"\r\n >\r\n <span\r\n class=\"toolbar-action-image\"\r\n *ngIf=\"button.image\"\r\n [attr.data-type]=\"button.image\"\r\n >\r\n <img *ngIf=\"!ImageType.includes(button.image)\" [src]=\"button.image\" />\r\n </span>\r\n <span>{{ button.text }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n",
63
- styles: ["rs-toolbar-item.disabled{pointer-events:none}.toolbar-action-item{padding:4px 8px;font-size:11px!important;line-height:24px!important;min-width:100px}.toolbar-action-item .toolbar-action-image{height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.toolbar-action-item .toolbar-action-image::before{display:block;width:16px;height:16px}.toolbar-action-item .toolbar-action-image[data-type=Add]::before{content:url(/assets/img/toolbar-action-add.svg)}.toolbar-action-item .toolbar-action-image[data-type=Delete]::before{content:url(/assets/img/toolbar-action-delete.svg)}.toolbar-action-item .toolbar-action-image[data-type=Import]::before{content:url(/assets/img/toolbar-action-import.svg)}.toolbar-action-item .toolbar-action-image[data-type=Upload]::before{content:url(/assets/img/toolbar-action-upload.svg)}.toolbar-action-item .toolbar-action-image[data-type=Download]::before{content:url(/assets/img/toolbar-action-download.svg)}.toolbar-action-item .toolbar-action-image[data-type=Export]::before{content:url(/assets/img/toolbar-action-export.svg)}.toolbar-action-item .toolbar-action-image[data-type=Duplicate]::before{content:url(/assets/img/toolbar-action-duplicate.svg)}.toolbar-action-item .toolbar-action-image[data-type=Refresh]::before{content:url(/assets/img/toolbar-action-refresh.svg)}.toolbar-action-item .toolbar-action-image[data-type=AddFolder]::before{content:url(/assets/img/toolbar-action-addFolder.svg)}.toolbar-action-item .toolbar-action-image[data-type=Collapse]::before{content:url(/assets/img/toolbar-action-collapse.svg)}.toolbar-action-item .toolbar-action-image[data-type=Combine]::before{content:url(/assets/img/toolbar-action-combine.svg)}.toolbar-action-item .toolbar-action-image[data-type=Edit]::before{content:url(/assets/img/toolbar-action-edit.svg)}.toolbar-action-item .toolbar-action-image[data-type=Lock]::before{content:url(/assets/img/toolbar-action-lock.svg)}.toolbar-action-item .toolbar-action-image[data-type=Expand]::before{content:url(/assets/img/toolbar-action-expand.svg)}.toolbar-action-item .toolbar-action-image[data-type=MoveTo]::before{content:url(/assets/img/toolbar-action-folderMove.svg)}.toolbar-action-item .toolbar-action-image[data-type=Publish]::before{content:url(/assets/img/toolbar-action-publish.svg)}.toolbar-action-item .toolbar-action-image[data-type=Preview]::before{content:url(/assets/img/toolbar-action-preview.svg)}.toolbar-action-item .toolbar-action-image[data-type=ReCalculate]::before{content:url(/assets/img/toolbar-action-calculator.svg)}.toolbar-action-item .toolbar-action-image[data-type=Sync]::before{content:url(/assets/img/toolbar-action-sync.svg)}.toolbar-action-item .toolbar-action-image[data-type=Share]::before{content:url(/assets/img/toolbar-action-share.svg)}.toolbar-action-item .toolbar-action-image[data-type=Rename]::before{content:url(/assets/img/toolbar-action-rename.svg)}.toolbar-action-item .toolbar-action-image[data-type=SaveSequence]::before{content:url(/assets/img/toolbar-action-saveSequence.svg)}.toolbar-action-item .toolbar-action-image[data-type=SubmitForApproval]::before{content:url(/assets/img/toolbar-action-submitForApproval.svg)}.toolbar-action-item .toolbar-action-image[data-type=SendToControlPanel]::before{content:url(/assets/img/toolbar-action-send-file.svg)}.toolbar-action-item .toolbar-action-image[data-type=SetReminders]::before{content:url(/assets/img/toolbar-action-reminders.svg)}.toolbar-action-item .toolbar-action-image[data-type=Settle]::before{content:url(/assets/img/toolbar-action-settle.svg)}.toolbar-action-item .toolbar-action-image[data-type=Template]::before{content:url(/assets/img/toolbar-action-template.svg)}.toolbar-action-item .toolbar-action-image[data-type=Workflow]::before{content:url(/assets/img/toolbar-action-workflow.svg)}.toolbar-action-item .toolbar-action-image[data-type=Update]::before{content:url(/assets/img/toolbar-action-update.svg)}.toolbar-action-item .toolbar-action-image[data-type=FetchData]::before{content:url(/assets/img/toolbar-action-fetchData.svg)}.toolbar-action-item .toolbar-action-image img{height:16px;display:block}.toolbar-action-item.e-btn{width:100%;justify-content:flex-start}.toolbar-action-item.mat-menu-item::after{display:none}::ng-deep .toolbar-action-menu-content.mat-menu-panel{border-radius:8px;background-color:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.25)}::ng-deep .toolbar-action-menu-content.mat-menu-panel .mat-menu-content{padding:8px}"]
63
+ styles: ["rs-toolbar-item.disabled{pointer-events:none}.toolbar-action-item{padding:4px 8px;font-size:11px!important;line-height:24px!important}.toolbar-action-item .toolbar-action-image{height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.toolbar-action-item .toolbar-action-image::before{display:block;width:16px;height:16px}.toolbar-action-item .toolbar-action-image[data-type=Add]::before{content:url(/assets/img/toolbar-action-add.svg)}.toolbar-action-item .toolbar-action-image[data-type=Delete]::before{content:url(/assets/img/toolbar-action-delete.svg)}.toolbar-action-item .toolbar-action-image[data-type=Import]::before{content:url(/assets/img/toolbar-action-import.svg)}.toolbar-action-item .toolbar-action-image[data-type=Upload]::before{content:url(/assets/img/toolbar-action-upload.svg)}.toolbar-action-item .toolbar-action-image[data-type=Download]::before{content:url(/assets/img/toolbar-action-download.svg)}.toolbar-action-item .toolbar-action-image[data-type=Export]::before{content:url(/assets/img/toolbar-action-export.svg)}.toolbar-action-item .toolbar-action-image[data-type=Duplicate]::before{content:url(/assets/img/toolbar-action-duplicate.svg)}.toolbar-action-item .toolbar-action-image[data-type=Refresh]::before{content:url(/assets/img/toolbar-action-refresh.svg)}.toolbar-action-item .toolbar-action-image[data-type=AddFolder]::before{content:url(/assets/img/toolbar-action-addFolder.svg)}.toolbar-action-item .toolbar-action-image[data-type=Collapse]::before{content:url(/assets/img/toolbar-action-collapse.svg)}.toolbar-action-item .toolbar-action-image[data-type=Combine]::before{content:url(/assets/img/toolbar-action-combine.svg)}.toolbar-action-item .toolbar-action-image[data-type=Edit]::before{content:url(/assets/img/toolbar-action-edit.svg)}.toolbar-action-item .toolbar-action-image[data-type=Lock]::before{content:url(/assets/img/toolbar-action-lock.svg)}.toolbar-action-item .toolbar-action-image[data-type=Expand]::before{content:url(/assets/img/toolbar-action-expand.svg)}.toolbar-action-item .toolbar-action-image[data-type=MoveTo]::before{content:url(/assets/img/toolbar-action-folderMove.svg)}.toolbar-action-item .toolbar-action-image[data-type=Publish]::before{content:url(/assets/img/toolbar-action-publish.svg)}.toolbar-action-item .toolbar-action-image[data-type=Preview]::before{content:url(/assets/img/toolbar-action-preview.svg)}.toolbar-action-item .toolbar-action-image[data-type=ReCalculate]::before{content:url(/assets/img/toolbar-action-calculator.svg)}.toolbar-action-item .toolbar-action-image[data-type=Sync]::before{content:url(/assets/img/toolbar-action-sync.svg)}.toolbar-action-item .toolbar-action-image[data-type=Share]::before{content:url(/assets/img/toolbar-action-share.svg)}.toolbar-action-item .toolbar-action-image[data-type=Rename]::before{content:url(/assets/img/toolbar-action-rename.svg)}.toolbar-action-item .toolbar-action-image[data-type=SaveSequence]::before{content:url(/assets/img/toolbar-action-saveSequence.svg)}.toolbar-action-item .toolbar-action-image[data-type=SubmitForApproval]::before{content:url(/assets/img/toolbar-action-submitForApproval.svg)}.toolbar-action-item .toolbar-action-image[data-type=SendToControlPanel]::before{content:url(/assets/img/toolbar-action-send-file.svg)}.toolbar-action-item .toolbar-action-image[data-type=SetReminders]::before{content:url(/assets/img/toolbar-action-reminders.svg)}.toolbar-action-item .toolbar-action-image[data-type=Settle]::before{content:url(/assets/img/toolbar-action-settle.svg)}.toolbar-action-item .toolbar-action-image[data-type=Template]::before{content:url(/assets/img/toolbar-action-template.svg)}.toolbar-action-item .toolbar-action-image[data-type=Workflow]::before{content:url(/assets/img/toolbar-action-workflow.svg)}.toolbar-action-item .toolbar-action-image[data-type=Update]::before{content:url(/assets/img/toolbar-action-update.svg)}.toolbar-action-item .toolbar-action-image[data-type=FetchData]::before{content:url(/assets/img/toolbar-action-fetchData.svg)}.toolbar-action-item .toolbar-action-image img{height:16px;display:block}.toolbar-action-item.e-btn{width:100%;min-width:auto!important;height:24px!important;justify-content:flex-start}.toolbar-action-item.mat-menu-item::after{display:none}::ng-deep .toolbar-action-menu-content.mat-menu-panel{border-radius:8px;background-color:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.25)}::ng-deep .toolbar-action-menu-content.mat-menu-panel .mat-menu-content{padding:8px}"]
64
64
  }] }
65
65
  ];
66
66
  ToolbarItemComponent.propDecorators = {
@@ -113,7 +113,9 @@ export class DrawerComponent {
113
113
  */
114
114
  setConfig(config) {
115
115
  /** @type {?} */
116
- const cache = this.componentRefMap.get(this.service.cacheKey);
116
+ const caches = this.componentRefMap.get(this.service.cacheKey) || [];
117
+ /** @type {?} */
118
+ const cache = caches.slice(-1)[0];
117
119
  if (cache) {
118
120
  cache.config = Object.assign({}, cache.config, config);
119
121
  this.setCache(cache);
@@ -145,10 +147,15 @@ export class DrawerComponent {
145
147
  headerEl,
146
148
  topEl,
147
149
  };
150
+ /** @type {?} */
151
+ const caches = this.componentRefMap.get(this.service.cacheKey) || [];
152
+ this.componentRefMap.set(this.service.cacheKey, [...caches, cache]);
153
+ // 如果是第一个缓存,打开抽屉
154
+ if (caches.length === 0) {
155
+ this.toggleOpenStatus(true, true);
156
+ }
157
+ this.toggleCache(cache);
148
158
  this.setComponentData(componentRef, data);
149
- this.componentRefMap.set(this.service.cacheKey, cache);
150
- this.setCache(cache);
151
- this.toggleOpenStatus(true, true);
152
159
  return componentRef.instance;
153
160
  }
154
161
  /**
@@ -162,36 +169,83 @@ export class DrawerComponent {
162
169
  */
163
170
  back() {
164
171
  this.deleteCache(this.service.cacheKey);
165
- this.toggleOpenStatus(false, true);
172
+ // 如果有上一个缓存,设置为当前缓存,否则关闭抽屉
173
+ /** @type {?} */
174
+ const caches = this.componentRefMap.get(this.service.cacheKey) || [];
175
+ /** @type {?} */
176
+ const cache = caches.slice(-1)[0];
177
+ if (cache) {
178
+ this.toggleCache(cache);
179
+ }
180
+ else {
181
+ this.toggleOpenStatus(false, true);
182
+ }
166
183
  }
167
184
  /**
185
+ * @private
168
186
  * @param {?} cacheKey
169
187
  * @return {?}
170
188
  */
171
189
  deleteCache(cacheKey) {
172
190
  /** @type {?} */
173
- const cache = this.componentRefMap.get(cacheKey);
191
+ const caches = this.componentRefMap.get(cacheKey) || [];
192
+ /** @type {?} */
193
+ const cache = caches.slice(-1)[0];
174
194
  if (cache) {
175
195
  this.destroyDynamicComponent(cache.ref);
196
+ caches.pop();
197
+ }
198
+ if (caches.length === 0) {
199
+ this.componentRefMap.delete(cacheKey);
176
200
  }
177
- this.componentRefMap.delete(cacheKey);
178
201
  }
179
202
  /**
203
+ * @private
204
+ * @param {?} cache
180
205
  * @return {?}
181
206
  */
182
- onRouteChange() {
207
+ toggleCache(cache) {
183
208
  this.componentRefMap.forEach((/**
209
+ * @param {?} caches
210
+ * @return {?}
211
+ */
212
+ (caches) => {
213
+ caches.forEach((/**
214
+ * @param {?} c
215
+ * @return {?}
216
+ */
217
+ (c) => {
218
+ c.ref.location.nativeElement.style.display = c === cache ? "" : "none";
219
+ }));
220
+ }));
221
+ this.setCache(cache);
222
+ }
223
+ /**
224
+ * @param {?} cacheKey
225
+ * @return {?}
226
+ */
227
+ deleteAllCache(cacheKey) {
228
+ /** @type {?} */
229
+ const caches = this.componentRefMap.get(cacheKey) || [];
230
+ caches.forEach((/**
184
231
  * @param {?} cache
185
232
  * @return {?}
186
233
  */
187
234
  (cache) => {
188
- cache.ref.location.nativeElement.style.display = "none";
235
+ this.destroyDynamicComponent(cache.ref);
189
236
  }));
237
+ this.componentRefMap.delete(cacheKey);
238
+ }
239
+ /**
240
+ * @return {?}
241
+ */
242
+ onRouteChange() {
190
243
  /** @type {?} */
191
- const cache = this.componentRefMap.get(this.service.cacheKey);
244
+ const caches = this.componentRefMap.get(this.service.cacheKey) || [];
245
+ /** @type {?} */
246
+ const cache = caches.slice(-1)[0];
192
247
  if (cache) {
193
- cache.ref.location.nativeElement.style.display = "";
194
- this.setCache(cache);
248
+ this.toggleCache(cache);
195
249
  this.toggleOpenStatus(true);
196
250
  }
197
251
  else {
@@ -295,4 +349,4 @@ if (false) {
295
349
  */
296
350
  DrawerComponent.prototype.ref;
297
351
  }
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBZXRDLE1BQU0sT0FBTyxlQUFlOzs7Ozs7SUF5QjFCLFlBQ1UsUUFBa0MsRUFDbEMsT0FBc0IsRUFDdEIsR0FBc0I7UUFGdEIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZoQyxXQUFNLEdBQWlCLG1CQUFtQixDQUFDO1FBQzNDLGlCQUFZLEdBQWlCLEtBQUssQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRVosb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztJQU0vRCxDQUFDOzs7Ozs7SUFFSSxzQkFBc0IsQ0FBQyxTQUFzQzs7O2NBRTdELE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQzs7Y0FDMUQsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUM1RCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFFTyx1QkFBdUIsQ0FBQyxZQUErQjtRQUM3RCxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7Ozs7O0lB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O0lBQ3ZDLGtDQUE2RTs7Ozs7SUFFN0Usb0NBSW9DOztJQUVwQyxpQ0FBMkM7O0lBQzNDLHVDQUFtQzs7SUFDbkMsbUNBQWlCOztJQUNqQix1Q0FBb0I7Ozs7O0lBRXBCLDBDQUFrRTs7Ozs7SUFHaEUsbUNBQTBDOzs7OztJQUMxQyxrQ0FBOEI7Ozs7O0lBQzlCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIERyYXdlckNvbmZpZyxcclxuICBEZWZhdWx0RHJhd2VyQ29uZmlnLFxyXG4gIERyYXdlclNlcnZpY2UsXHJcbn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2VcIjtcclxuXHJcbnR5cGUgRHJhd2VyQ29tcG9uZW50Q2FjaGUgPSB7XHJcbiAgcmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuICBjb25maWc6IERyYXdlckNvbmZpZztcclxuICB0b29sYmFyRWw6IEhUTUxFbGVtZW50O1xyXG4gIGhlYWRlckVsOiBIVE1MRWxlbWVudDtcclxuICB0b3BFbDogSFRNTEVsZW1lbnQ7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1kcmF3ZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwiZWxlbWVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImRyYXdlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgZHJhd2VyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiaGVhZGVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBoZWFkZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJjb250ZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChcInRvb2xiYXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHRvb2xiYXJTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiaGVhZGVyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBoZWFkZXJTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwidG9wU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9wU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyXCIsIHtcclxuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBzdGF0aWM6IGZhbHNlLFxyXG4gIH0pXHJcbiAgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIGNvbmZpZzogRHJhd2VyQ29uZmlnID0gRGVmYXVsdERyYXdlckNvbmZpZztcclxuICB1c2VBbmltYXRpb246IFwieWVzXCIgfCBcIm5vXCIgPSBcInllc1wiO1xyXG4gIGlzT3BlbmVkID0gZmFsc2U7XHJcbiAgaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWZNYXAgPSBuZXcgTWFwPHN0cmluZywgRHJhd2VyQ29tcG9uZW50Q2FjaGU+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpIHtcclxuICAgIC8vIOehruS/neWcqOiwg+eUqOS5i+WJjeebruagh+e7hOS7tuW3sue7j+WcqGVudHJ5Q29tcG9uZW50c+S4reWjsOaYjlxyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4pIHtcclxuICAgIGlmIChjb21wb25lbnRSZWYpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29tcG9uZW50RGF0YShcclxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4sXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIC8vIOWmguaenOmcgOimgeS8oOmAkuaVsOaNrue7meWKqOaAgee7hOS7tu+8jOWPr+S7pei/meagt+WBmlxyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Piwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50RWwgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIHJldHVybiBjb21wb25lbnRFbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2xvdEVsZW1lbnQoc2xvdEVsOiBIVE1MRWxlbWVudCwgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb250YWluZXJFbC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgaWYgKHNsb3RFbCkge1xyXG4gICAgICBjb250YWluZXJFbC5hcHBlbmQoc2xvdEVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5zZXRTbG90RWxlbWVudChjYWNoZS50b29sYmFyRWwsIHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLmhlYWRlckVsLCB0aGlzLmhlYWRlclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvcEVsLCB0aGlzLnRvcFNsb3QubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyVG9wID0gY2FjaGUuY29uZmlnLnRvcCA/IGAke2NhY2hlLmNvbmZpZy50b3B9cHhgIDogXCJcIjtcclxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1kcmF3ZXItdG9wXCIsIGRyYXdlclRvcCk7XHJcblxyXG4gICAgaWYgKGNhY2hlLmNvbmZpZy5tb2RlID09PSBcImlubmVyXCIpIHtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb25maWcgPSBjYWNoZS5jb25maWc7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHNldENvbmZpZyhjb25maWc6IFBhcnRpYWw8RHJhd2VyQ29uZmlnPikge1xyXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBjYWNoZS5jb25maWcgPSB7IC4uLmNhY2hlLmNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICAgIHRoaXMuc2V0Q2FjaGUoY2FjaGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzxUPihcclxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcclxuICAgIGNvbmZpZzogRHJhd2VyQ29uZmlnLFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNldENvbXBvbmVudERhdGEoY29tcG9uZW50UmVmLCBkYXRhKTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIGNhY2hlKTtcclxuXHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUNhY2hlKHRoaXMuc2VydmljZS5jYWNoZUtleSk7XHJcbiAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQoY2FjaGVLZXkpO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY2FjaGUucmVmKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgfVxyXG5cclxuICBvblJvdXRlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgY2FjaGUucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLnJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIlwiO1xyXG4gICAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXNlQW5pbWF0aW9uID0gXCJub1wiO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3BlblN0YXR1cyhpc09wZW46IGJvb2xlYW4sIHVzZUFuaW1hdGlvbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSB1c2VBbmltYXRpb24gPyBcInllc1wiIDogXCJub1wiO1xyXG4gICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSAhaXNPcGVuICYmICF1c2VBbmltYXRpb247XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRW5kKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBZXRDLE1BQU0sT0FBTyxlQUFlOzs7Ozs7SUF5QjFCLFlBQ1UsUUFBa0MsRUFDbEMsT0FBc0IsRUFDdEIsR0FBc0I7UUFGdEIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVZoQyxXQUFNLEdBQWlCLG1CQUFtQixDQUFDO1FBQzNDLGlCQUFZLEdBQWlCLEtBQUssQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRVosb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztJQU1qRSxDQUFDOzs7Ozs7SUFFSSxzQkFBc0IsQ0FBQyxTQUFzQzs7O2NBRTdELE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQzs7Y0FDMUQsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUM1RCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFFTyx1QkFBdUIsQ0FBQyxZQUErQjtRQUM3RCxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7Ozs7O0lB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UyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBRXRDLFNBQVMsU0FBQywyQkFBMkIsRUFBRTtvQkFDdEMsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsTUFBTSxFQUFFLEtBQUs7aUJBQ2Q7Ozs7SUFkRCxrQ0FBNkU7O0lBQzdFLGlDQUEyRTs7SUFDM0UsaUNBQTJFOztJQUMzRSxrQ0FBNkU7O0lBRTdFLHNDQUN3Qzs7SUFDeEMscUNBQ3VDOztJQUN2QyxrQ0FBNkU7Ozs7O0lBRTdFLG9DQUlvQzs7SUFFcEMsaUNBQTJDOztJQUMzQyx1Q0FBbUM7O0lBQ25DLG1DQUFpQjs7SUFDakIsdUNBQW9COzs7OztJQUVwQiwwQ0FBb0U7Ozs7O0lBR2xFLG1DQUEwQzs7Ozs7SUFDMUMsa0NBQThCOzs7OztJQUM5Qiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBEcmF3ZXJDb25maWcsXHJcbiAgRGVmYXVsdERyYXdlckNvbmZpZyxcclxuICBEcmF3ZXJTZXJ2aWNlLFxyXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcblxyXG50eXBlIERyYXdlckNvbXBvbmVudENhY2hlID0ge1xyXG4gIHJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWc7XHJcbiAgdG9vbGJhckVsOiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgdG9wRWw6IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0b29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICB0b29sYmFyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgaGVhZGVyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcInRvcFNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRvcFNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclwiLCB7XHJcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgc3RhdGljOiBmYWxzZSxcclxuICB9KVxyXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25maWc6IERyYXdlckNvbmZpZyA9IERlZmF1bHREcmF3ZXJDb25maWc7XHJcbiAgdXNlQW5pbWF0aW9uOiBcInllc1wiIHwgXCJub1wiID0gXCJ5ZXNcIjtcclxuICBpc09wZW5lZCA9IGZhbHNlO1xyXG4gIGhpZGRlbkRyYXdlciA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmTWFwID0gbmV3IE1hcDxzdHJpbmcsIERyYXdlckNvbXBvbmVudENhY2hlW10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAvLyDnoa7kv53lnKjosIPnlKjkuYvliY3nm67moIfnu4Tku7blt7Lnu4/lnKhlbnRyeUNvbXBvbmVudHPkuK3lo7DmmI5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHluYW1pY0NvbXBvbmVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbXBvbmVudERhdGEoXHJcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICkge1xyXG4gICAgLy8g5aaC5p6c6ZyA6KaB5Lyg6YCS5pWw5o2u57uZ5Yqo5oCB57uE5Lu277yM5Y+v5Lul6L+Z5qC35YGaXHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTbG90RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRFbCA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbG90RWxlbWVudChzbG90RWw6IEhUTUxFbGVtZW50LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnRhaW5lckVsLmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICBpZiAoc2xvdEVsKSB7XHJcbiAgICAgIGNvbnRhaW5lckVsLmFwcGVuZChzbG90RWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGUoY2FjaGU6IERyYXdlckNvbXBvbmVudENhY2hlKSB7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvb2xiYXJFbCwgdGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUuaGVhZGVyRWwsIHRoaXMuaGVhZGVyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUudG9wRWwsIHRoaXMudG9wU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICBjb25zdCBkcmF3ZXJUb3AgPSBjYWNoZS5jb25maWcudG9wID8gYCR7Y2FjaGUuY29uZmlnLnRvcH1weGAgOiBcIlwiO1xyXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLWRyYXdlci10b3BcIiwgZHJhd2VyVG9wKTtcclxuXHJcbiAgICBpZiAoY2FjaGUuY29uZmlnLm1vZGUgPT09IFwiaW5uZXJcIikge1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnRvb2xiYXJTbG90Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlnID0gY2FjaGUuY29uZmlnO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLmNvbmZpZyA9IHsgLi4uY2FjaGUuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIFsuLi5jYWNoZXMsIGNhY2hlXSk7XHJcbiAgICAvLyDlpoLmnpzmmK/nrKzkuIDkuKrnvJPlrZjvvIzmiZPlvIDmir3lsYlcclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgdGhpcy5zZXRDb21wb25lbnREYXRhKGNvbXBvbmVudFJlZiwgZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuZGVsZXRlQ2FjaGUodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuXHJcbiAgICAvLyDlpoLmnpzmnInkuIrkuIDkuKrnvJPlrZjvvIzorr7nva7kuLrlvZPliY3nvJPlrZjvvIzlkKbliJnlhbPpl63mir3lsYlcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KGNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNhY2hlLnJlZik7XHJcbiAgICAgIGNhY2hlcy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGVzKSA9PiB7XHJcbiAgICAgIGNhY2hlcy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgYy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gYyA9PT0gY2FjaGUgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbENhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjYWNoZXMuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3V0ZUNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSBcIm5vXCI7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuU3RhdHVzKGlzT3BlbjogYm9vbGVhbiwgdXNlQW5pbWF0aW9uID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaXNPcGVuZWQgPSBpc09wZW47XHJcbiAgICB0aGlzLnVzZUFuaW1hdGlvbiA9IHVzZUFuaW1hdGlvbiA/IFwieWVzXCIgOiBcIm5vXCI7XHJcbiAgICB0aGlzLmhpZGRlbkRyYXdlciA9ICFpc09wZW4gJiYgIXVzZUFuaW1hdGlvbjtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25BbmltYXRpb25FbmQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcclxuICAgICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -3,4 +3,4 @@
3
3
  * Generated from: lib/layout/rs-stepper/constants.ts
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0ZXBJdGVtID0ge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHN0ZXA6IG51bWJlcjtcclxuICAgIGRpc3BsYXlUaXRsZT86IHN0cmluZztcclxufTsiXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0ZXBJdGVtID0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgc3RlcDogbnVtYmVyO1xyXG4gIGRpc3BsYXlUaXRsZT86IHN0cmluZztcclxufTtcclxuXHJcbi8qKiBTdGVwcGVyIGxheW91dDogaG9yaXpvbnRhbCAoZGVmYXVsdCkgb3IgdmVydGljYWwgKi9cclxuZXhwb3J0IHR5cGUgU3RlcHBlck9yaWVudGF0aW9uID0gXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCI7Il19
@@ -16,6 +16,10 @@ export class RSStepperComponent {
16
16
  this.ref = ref;
17
17
  this.steps = [];
18
18
  this.currentStep = 0;
19
+ /**
20
+ * Layout direction: 'horizontal' (default) or 'vertical'
21
+ */
22
+ this.orientation = "horizontal";
19
23
  this.stepClick = new EventEmitter();
20
24
  this.unlockedStep = 0; //已解锁的最大步骤
21
25
  this.showBtn = false;
@@ -39,10 +43,12 @@ export class RSStepperComponent {
39
43
  * @return {?}
40
44
  */
41
45
  ngAfterViewInit() {
42
- setTimeout((/**
43
- * @return {?}
44
- */
45
- () => this.checkBtnShow(true)));
46
+ if (this.orientation === "horizontal") {
47
+ setTimeout((/**
48
+ * @return {?}
49
+ */
50
+ () => this.checkBtnShow(true)));
51
+ }
46
52
  }
47
53
  /**
48
54
  * @param {?} changes
@@ -51,14 +57,16 @@ export class RSStepperComponent {
51
57
  ngOnChanges(changes) {
52
58
  if (changes["currentStep"] && !changes["currentStep"].firstChange) {
53
59
  this.syncUnlockedStep();
54
- // 当外部传入的 currentStep 变化时,滚动到对应步骤
55
- setTimeout((/**
56
- * @return {?}
57
- */
58
- () => this.scrollToStep()));
60
+ if (this.orientation === "horizontal") {
61
+ setTimeout((/**
62
+ * @return {?}
63
+ */
64
+ () => this.scrollToStep()));
65
+ }
59
66
  }
60
- if ((changes["steps"] && changes["steps"].currentValue) ||
61
- changes["currentStep"]) {
67
+ if (this.orientation === "horizontal" &&
68
+ ((changes["steps"] && changes["steps"].currentValue) ||
69
+ changes["currentStep"])) {
62
70
  setTimeout((/**
63
71
  * @return {?}
64
72
  */
@@ -84,10 +92,12 @@ export class RSStepperComponent {
84
92
  if (step.step <= this.unlockedStep) {
85
93
  this.currentStep = step.step;
86
94
  this.stepClick.emit(step);
87
- setTimeout((/**
88
- * @return {?}
89
- */
90
- () => this.scrollToStep(index)));
95
+ if (this.orientation === "horizontal") {
96
+ setTimeout((/**
97
+ * @return {?}
98
+ */
99
+ () => this.scrollToStep(index)));
100
+ }
91
101
  }
92
102
  }
93
103
  /**
@@ -141,11 +151,13 @@ export class RSStepperComponent {
141
151
  this.onScroll();
142
152
  }
143
153
  /**
144
- * @param {?} event
154
+ * @param {?} _event
145
155
  * @return {?}
146
156
  */
147
- onResize(event) {
148
- this.checkBtnShow();
157
+ onResize(_event) {
158
+ if (this.orientation === "horizontal") {
159
+ this.checkBtnShow();
160
+ }
149
161
  }
150
162
  /**
151
163
  * @param {?=} init
@@ -211,8 +223,8 @@ export class RSStepperComponent {
211
223
  RSStepperComponent.decorators = [
212
224
  { type: Component, args: [{
213
225
  selector: "rs-stepper",
214
- template: "<div class=\"rs-stepper\">\r\n <div class=\"steps-wrap\">\r\n <div\r\n class=\"row-btn\"\r\n [class.hidden]=\"isAtStart || !showBtn\"\r\n (click)=\"scrollLeft()\"\r\n >\r\n <div class=\"hover\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n stroke=\"#1F7BFF\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"normal\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n stroke=\"#6B6B6B\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n <div\r\n class=\"steps-content\"\r\n [ngClass]=\"{\r\n leftMask: showBtn && !isAtStart,\r\n rightMask: showBtn && !isAtEnd,\r\n bothMask: showBtn && !isAtStart && showBtn && !isAtEnd\r\n }\"\r\n #menu\r\n (scroll)=\"onScroll()\"\r\n >\r\n <ng-container *ngFor=\"let item of steps; let i = index\">\r\n <div\r\n class=\"step\"\r\n [ngClass]=\"{\r\n done: item.step <= unlockedStep,\r\n active: item.step === currentStep\r\n }\"\r\n (click)=\"onStepClick(item, i)\"\r\n >\r\n <div\r\n class=\"step-label\"\r\n [matTooltip]=\"item.label !== item.displayTitle ? item.label : ''\"\r\n matTooltipPosition=\"above\"\r\n >\r\n {{ item.displayTitle }}\r\n </div>\r\n </div>\r\n <div class=\"step-arrow\" *ngIf=\"i < steps.length - 1\">\r\n <img src=\"/assets/img/step-arrow.svg\" />\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div\r\n class=\"row-btn\"\r\n [class.hidden]=\"isAtEnd || !showBtn\"\r\n (click)=\"scrollRight()\"\r\n >\r\n <div class=\"hover\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n stroke=\"#1F7BFF\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"normal\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n stroke=\"#6B6B6B\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
215
- styles: [".rs-stepper{font-family:Arial;width:100%;border-bottom:1px solid var(--rs-border-color)}.rs-stepper .steps-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto}.rs-stepper .steps-wrap .steps-content{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;gap:8px}.rs-stepper .steps-wrap .steps-content.leftMask{-webkit-mask-image:linear-gradient(90deg,transparent,#fff 10%,#d8d3d3 100%);mask-image:linear-gradient(90deg,transparent,#fff 10%,#d8d3d3 100%)}.rs-stepper .steps-wrap .steps-content.rightMask{-webkit-mask-image:linear-gradient(90deg,#fff 0,#fff 90%,transparent);mask-image:linear-gradient(90deg,#fff 0,#fff 90%,transparent)}.rs-stepper .steps-wrap .steps-content.bothMask{-webkit-mask-image:linear-gradient(90deg,transparent,#fff 10%,#fff 90%,transparent)!important;mask-image:linear-gradient(90deg,transparent,#fff 10%,#fff 90%,transparent)!important}.rs-stepper .steps-wrap .steps-content::-webkit-scrollbar{width:0;height:0}.rs-stepper .steps-wrap .step{flex:0 0 auto}.rs-stepper .steps-wrap .step .step-label{color:var(--rs-labels-color);font-size:12px;font-weight:400;line-height:22px;text-align:center;white-space:nowrap;padding:0 12px 12px;display:flex;align-items:center}.rs-stepper .steps-wrap .step.done{cursor:pointer}.rs-stepper .steps-wrap .step.done .step-label{color:var(--rs-active-labels-color)}.rs-stepper .steps-wrap .step.active .step-label{color:var(--rs-active-labels-color);font-weight:700;border-bottom:1px solid var(--rs-active-labels-color)}.rs-stepper .steps-wrap .step-arrow{flex:0 0 auto;padding:0 12px 12px;display:flex;align-items:center}.rs-stepper .row-btn{margin-bottom:12px;display:flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:4px;border:1px solid #bdc4ca;flex-shrink:0;cursor:pointer;visibility:visible}.rs-stepper .row-btn .hover{display:none}.rs-stepper .row-btn .normal{display:flex}.rs-stepper .row-btn:hover{background-color:rgba(31,123,255,.04)}.rs-stepper .row-btn:hover .normal{display:none}.rs-stepper .row-btn:hover .hover{display:flex}.rs-stepper .row-btn.hidden{visibility:hidden}"]
226
+ template: "<div class=\"rs-stepper\" [ngClass]=\"{ 'rs-stepper--vertical': orientation === 'vertical' }\">\r\n <!-- Horizontal stepper -->\r\n <ng-container *ngIf=\"orientation === 'horizontal'\">\r\n <div class=\"steps-wrap\">\r\n <div\r\n class=\"row-btn\"\r\n [class.hidden]=\"isAtStart || !showBtn\"\r\n (click)=\"scrollLeft()\"\r\n >\r\n <div class=\"hover\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n stroke=\"#1F7BFF\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"normal\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n stroke=\"#6B6B6B\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n <div\r\n class=\"steps-content\"\r\n [ngClass]=\"{\r\n leftMask: showBtn && !isAtStart,\r\n rightMask: showBtn && !isAtEnd,\r\n bothMask: showBtn && !isAtStart && showBtn && !isAtEnd\r\n }\"\r\n #menu\r\n (scroll)=\"onScroll()\"\r\n >\r\n <ng-container *ngFor=\"let item of steps; let i = index\">\r\n <div\r\n class=\"step\"\r\n [ngClass]=\"{\r\n done: item.step <= unlockedStep,\r\n active: item.step === currentStep\r\n }\"\r\n (click)=\"onStepClick(item, i)\"\r\n >\r\n <div\r\n class=\"step-label\"\r\n [matTooltip]=\"item.label !== item.displayTitle ? item.label : ''\"\r\n matTooltipPosition=\"above\"\r\n >\r\n {{ item.displayTitle }}\r\n </div>\r\n </div>\r\n <div class=\"step-arrow\" *ngIf=\"i < steps.length - 1\">\r\n <img src=\"/assets/img/step-arrow.svg\" />\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div\r\n class=\"row-btn\"\r\n [class.hidden]=\"isAtEnd || !showBtn\"\r\n (click)=\"scrollRight()\"\r\n >\r\n <div class=\"hover\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n stroke=\"#1F7BFF\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"normal\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n stroke=\"#6B6B6B\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Vertical stepper (Figma RAISE-UI-Kits: right border, \"Step N\" + title) -->\r\n <div class=\"steps-wrap steps-wrap--vertical\" *ngIf=\"orientation === 'vertical'\">\r\n <ol class=\"steps-vertical\" role=\"list\">\r\n <li\r\n *ngFor=\"let item of steps; let i = index\"\r\n class=\"step-vertical\"\r\n [ngClass]=\"{\r\n 'step-vertical--done': item.step <= unlockedStep,\r\n 'step-vertical--active': item.step === currentStep\r\n }\"\r\n (click)=\"onStepClick(item, i)\"\r\n >\r\n <span class=\"step-vertical__number\">Step {{ item.step + 1 }}</span>\r\n <span\r\n class=\"step-vertical__label\"\r\n [matTooltip]=\"item.label !== (item.displayTitle || item.label) ? item.label : ''\"\r\n matTooltipPosition=\"right\"\r\n >\r\n {{ item.displayTitle || item.label }}\r\n </span>\r\n </li>\r\n </ol>\r\n </div>\r\n</div>\r\n",
227
+ styles: [".rs-stepper{font-family:var(--rs-font-family,Arial);width:100%}.rs-stepper:not(.rs-stepper--vertical){border-bottom:1px solid var(--rs-border-color)}.rs-stepper.rs-stepper--vertical{border-bottom:none}.rs-stepper .steps-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto}.rs-stepper .steps-wrap .steps-content{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;gap:8px}.rs-stepper .steps-wrap .steps-content.leftMask{-webkit-mask-image:linear-gradient(90deg,transparent,#fff 10%,#d8d3d3 100%);mask-image:linear-gradient(90deg,transparent,#fff 10%,#d8d3d3 100%)}.rs-stepper .steps-wrap .steps-content.rightMask{-webkit-mask-image:linear-gradient(90deg,#fff 0,#fff 90%,transparent);mask-image:linear-gradient(90deg,#fff 0,#fff 90%,transparent)}.rs-stepper .steps-wrap .steps-content.bothMask{-webkit-mask-image:linear-gradient(90deg,transparent,#fff 10%,#fff 90%,transparent)!important;mask-image:linear-gradient(90deg,transparent,#fff 10%,#fff 90%,transparent)!important}.rs-stepper .steps-wrap .steps-content::-webkit-scrollbar{width:0;height:0}.rs-stepper .steps-wrap .step{flex:0 0 auto}.rs-stepper .steps-wrap .step .step-label{color:var(--rs-labels-color);font-size:12px;font-weight:400;line-height:22px;text-align:center;white-space:nowrap;padding:0 12px 12px;display:flex;align-items:center}.rs-stepper .steps-wrap .step.done{cursor:pointer}.rs-stepper .steps-wrap .step.done .step-label{color:var(--rs-active-labels-color)}.rs-stepper .steps-wrap .step.active .step-label{color:var(--rs-active-labels-color);font-weight:700;border-bottom:1px solid var(--rs-active-labels-color)}.rs-stepper .steps-wrap .step-arrow{flex:0 0 auto;padding:0 12px 12px;display:flex;align-items:center}.rs-stepper .row-btn{margin-bottom:12px;display:flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:4px;border:1px solid #bdc4ca;flex-shrink:0;cursor:pointer;visibility:visible}.rs-stepper .row-btn .hover{display:none}.rs-stepper .row-btn .normal{display:flex}.rs-stepper .row-btn:hover{background-color:rgba(31,123,255,.04)}.rs-stepper .row-btn:hover .normal{display:none}.rs-stepper .row-btn:hover .hover{display:flex}.rs-stepper .row-btn.hidden{visibility:hidden}.rs-stepper .steps-wrap--vertical{display:block;padding:0}.rs-stepper .steps-vertical{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.rs-stepper .step-vertical{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:4px 12px 4px 0;border-right:2px solid var(--rs-border-color);cursor:default;text-align:right;font-family:var(--rs-font-family,Arial);font-size:11px;line-height:14px;color:var(--rs-labels-color);transition:background-color .15s,border-radius .15s}.rs-stepper .step-vertical.step-vertical--done{cursor:pointer;border-right-color:var(--rs-active-labels-color);color:var(--rs-active-labels-color)}.rs-stepper .step-vertical.step-vertical--done:hover{background-color:rgba(31,123,255,.04);border-top-left-radius:var(--rs-input-border-radius,4px);border-bottom-left-radius:var(--rs-input-border-radius,4px)}.rs-stepper .step-vertical.step-vertical--active{border-right-color:var(--rs-active-labels-color);color:var(--rs-active-labels-color)}.rs-stepper .step-vertical.step-vertical--active .step-vertical__label{font-weight:700}.rs-stepper .step-vertical__number{flex-shrink:0;font-weight:400}.rs-stepper .step-vertical__label{min-width:0;font-weight:400;word-break:break-word}.rs-stepper .step-vertical--active .step-vertical__label{font-weight:700}"]
216
228
  }] }
217
229
  ];
218
230
  /** @nocollapse */
@@ -224,6 +236,7 @@ RSStepperComponent.propDecorators = {
224
236
  menu: [{ type: ViewChild, args: ["menu", { static: false },] }],
225
237
  steps: [{ type: Input }],
226
238
  currentStep: [{ type: Input }],
239
+ orientation: [{ type: Input }],
227
240
  stepClick: [{ type: Output }],
228
241
  unlockedStep: [{ type: Input }],
229
242
  containerRefId: [{ type: Input }],
@@ -236,6 +249,11 @@ if (false) {
236
249
  RSStepperComponent.prototype.steps;
237
250
  /** @type {?} */
238
251
  RSStepperComponent.prototype.currentStep;
252
+ /**
253
+ * Layout direction: 'horizontal' (default) or 'vertical'
254
+ * @type {?}
255
+ */
256
+ RSStepperComponent.prototype.orientation;
239
257
  /** @type {?} */
240
258
  RSStepperComponent.prototype.stepClick;
241
259
  /** @type {?} */
@@ -256,4 +274,4 @@ if (false) {
256
274
  */
257
275
  RSStepperComponent.prototype.ref;
258
276
  }
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFPOUUsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFJN0IsWUFDUyxFQUF5QixFQUN4QixHQUFzQjtRQUR2QixPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUp2QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBS3ZCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQzFDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQTJIN0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUEvSGIsQ0FBQzs7OztJQUtKLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCxlQUFlO1FB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QixpQkFBaUI7OzttQkFZaEIsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7b0JBQ25DLEtBQUs7MEJBQ0wsS0FBSzt3QkFLTCxNQUFNOzJCQUNOLEtBQUs7NkJBQ0wsS0FBSzt1QkFnRkwsWUFBWSxTQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7OztJQXpGekMsa0NBQXdEOztJQUN4RCxtQ0FBZ0M7O0lBQ2hDLHlDQUFpQzs7SUFLakMsdUNBQW1EOztJQUNuRCwwQ0FBa0M7O0lBQ2xDLDRDQUF3Qjs7SUEwSHhCLHFDQUFnQjs7SUFDaEIsdUNBQWlCOztJQUNqQixxQ0FBZ0I7O0lBaklkLGdDQUFnQzs7Ozs7SUFDaEMsaUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3RlcEl0ZW0gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLXN0ZXBwZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUlNTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKFwibWVudVwiLCB7IHN0YXRpYzogZmFsc2UgfSkgbWVudSE6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgc3RlcHM6IFN0ZXBJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBjdXJyZW50U3RlcDogbnVtYmVyID0gMDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjZjogQ29tbW9uRnVuY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG4gIEBPdXRwdXQoKSBzdGVwQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXBJdGVtPigpO1xyXG4gIEBJbnB1dCgpIHVubG9ja2VkU3RlcDogbnVtYmVyID0gMDsgLy/lt7Lop6PplIHnmoTmnIDlpKfmraXpqqRcclxuICBASW5wdXQoKSBjb250YWluZXJSZWZJZDtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcclxuICAgICAgc3RlcC5kaXNwbGF5VGl0bGUgPSB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKHN0ZXAubGFiZWwsIDEzMiwgMTIpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN5bmNVbmxvY2tlZFN0ZXAoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja0J0blNob3codHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJjdXJyZW50U3RlcFwiXSAmJiAhY2hhbmdlc1tcImN1cnJlbnRTdGVwXCJdLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuc3luY1VubG9ja2VkU3RlcCgpO1xyXG4gICAgICAvLyDlvZPlpJbpg6jkvKDlhaXnmoQgY3VycmVudFN0ZXAg5Y+Y5YyW5pe277yM5rua5Yqo5Yiw5a+55bqU5q2l6aqkXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIChjaGFuZ2VzW1wic3RlcHNcIl0gJiYgY2hhbmdlc1tcInN0ZXBzXCJdLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgY2hhbmdlc1tcImN1cnJlbnRTdGVwXCJdXHJcbiAgICApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQnRuU2hvdygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOWQjOatpXVubG9ja2VkU3RlcOeahOacgOWkp+WAvFxyXG4gIHByaXZhdGUgc3luY1VubG9ja2VkU3RlcCgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwID4gdGhpcy51bmxvY2tlZFN0ZXApIHtcclxuICAgICAgdGhpcy51bmxvY2tlZFN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdGVwQ2xpY2soc3RlcDogU3RlcEl0ZW0sIGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoc3RlcC5zdGVwIDw9IHRoaXMudW5sb2NrZWRTdGVwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAgPSBzdGVwLnN0ZXA7XHJcbiAgICAgIHRoaXMuc3RlcENsaWNrLmVtaXQoc3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoaW5kZXgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG9TdGVwKGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMubWVudSB8fCAhdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBtZW51RWwgPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGl0ZW1zID0gbWVudUVsLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuc3RlcFwiKTtcclxuICAgIGNvbnN0IHRhcmdldEluZGV4ID1cclxuICAgICAgdHlwZW9mIGluZGV4ID09PSBcIm51bWJlclwiXHJcbiAgICAgICAgPyBpbmRleFxyXG4gICAgICAgIDogdGhpcy5zdGVwcy5maW5kSW5kZXgoKHMpID0+IHMuc3RlcCA9PT0gdGhpcy5jdXJyZW50U3RlcCk7XHJcblxyXG4gICAgaWYgKHRhcmdldEluZGV4IDwgMCB8fCB0YXJnZXRJbmRleCA+PSBpdGVtcy5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0YXJnZXRFbCA9IGl0ZW1zW3RhcmdldEluZGV4XSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvL+iOt+WPluebuOWvueS9jee9rlxyXG4gICAgY29uc3QgY29udGFpbmVyUmVjdCA9IG1lbnVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGFyZ2V0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgLy8g6K6h566X5YWD57Sg55u45a+55LqO5a655Zmo55qE5L2N572uXHJcbiAgICBjb25zdCBlbGVtZW50UmVsYXRpdmVMZWZ0ID1cclxuICAgICAgZWxlbWVudFJlY3QubGVmdCAtIGNvbnRhaW5lclJlY3QubGVmdCArIG1lbnVFbC5zY3JvbGxMZWZ0O1xyXG4gICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudFJlY3Qud2lkdGg7XHJcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IG1lbnVFbC5jbGllbnRXaWR0aDtcclxuXHJcbiAgICAvLyDorqHnrpflhYPntKDkuK3lv4Pngrnnm7jlr7nkuo7lrrnlmajnmoTkvY3nva5cclxuICAgIGNvbnN0IGVsZW1lbnRDZW50ZXIgPSBlbGVtZW50UmVsYXRpdmVMZWZ0ICsgZWxlbWVudFdpZHRoIC8gMjtcclxuXHJcbiAgICAvLyDnm67moIfmu5rliqjkvY3nva7vvJrorqnlhYPntKDkuK3lv4Plh7rnjrDlnKjlj6/op4bljLrln5/kuK3lv4NcclxuICAgIGNvbnN0IHNjcm9sbFRhcmdldCA9IGVsZW1lbnRDZW50ZXIgLSBjb250YWluZXJXaWR0aCAvIDI7XHJcblxyXG4gICAgLy8g6ZmQ5Yi25Zyo5pyJ5pWI5rua5Yqo6IyD5Zu05YaFXHJcbiAgICBjb25zdCBtYXhTY3JvbGwgPSBNYXRoLm1heCgwLCBtZW51RWwuc2Nyb2xsV2lkdGggLSBjb250YWluZXJXaWR0aCk7XHJcbiAgICBjb25zdCBmaW5hbFRhcmdldCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHNjcm9sbFRhcmdldCwgbWF4U2Nyb2xsKSk7XHJcblxyXG4gICAgbWVudUVsLnNjcm9sbFRvKHsgbGVmdDogZmluYWxUYXJnZXQsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG4gICAgdGhpcy5vblNjcm9sbCgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5jaGVja0J0blNob3coKTtcclxuICB9XHJcblxyXG4gIGNoZWNrQnRuU2hvdyhpbml0PzogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLm1lbnUgfHwgIXRoaXMubWVudS5uYXRpdmVFbGVtZW50KSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgbWVudUVsID0gdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCB7IHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCB9ID0gbWVudUVsO1xyXG5cclxuICAgIC8vIOWIpOaWreaYr+WQpumcgOimgeaYvuekuua7muWKqOaMiemSrlxyXG4gICAgbGV0IHRocmVzaG9sZCA9IGNsaWVudFdpZHRoO1xyXG4gICAgaWYgKHRoaXMuY29udGFpbmVyUmVmSWQpIHtcclxuICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb250YWluZXJSZWZJZCk7XHJcbiAgICAgIGlmIChjb250YWluZXJSZWYpIHtcclxuICAgICAgICB0aHJlc2hvbGQgPSBNYXRoLm1heChjb250YWluZXJSZWYub2Zmc2V0V2lkdGggKiAwLjgsIDQwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dCdG4gPSBzY3JvbGxXaWR0aCA+IHRocmVzaG9sZDtcclxuXHJcbiAgICAvLyDliJ3lp4vljJbml7bmu5rliqjliLDlvZPliY3mraXpqqRcclxuICAgIGlmIChpbml0KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoKSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vblNjcm9sbCgpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG4gIHNjcm9sbExlZnQoKSB7XHJcbiAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgZGlzID0gc2Nyb2xsTGVmdCAvIDEwMCA8IDIgPyBzY3JvbGxMZWZ0ICsgMTAgOiAxMDA7XHJcbiAgICB0aGlzLm1lbnUubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IGxlZnQ6IC1kaXMsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG4gIH1cclxuICBzY3JvbGxSaWdodCgpIHtcclxuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGgsIGNsaWVudFdpZHRoIH0gPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IHJlc3QgPSBzY3JvbGxXaWR0aCAtIGNsaWVudFdpZHRoIC0gc2Nyb2xsTGVmdDtcclxuICAgIGNvbnN0IGRpcyA9IHJlc3QgLyAxMDAgPCAyID8gcmVzdCArIDEwIDogMTAwO1xyXG4gICAgdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyBsZWZ0OiBkaXMsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0J0biA9IGZhbHNlO1xyXG4gIGlzQXRTdGFydCA9IHRydWU7XHJcbiAgaXNBdEVuZCA9IGZhbHNlO1xyXG4gIG9uU2Nyb2xsKCkge1xyXG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGggfSA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5pc0F0U3RhcnQgPSBzY3JvbGxMZWZ0IDw9IDE7XHJcbiAgICB0aGlzLmlzQXRFbmQgPSBzY3JvbGxMZWZ0ICsgY2xpZW50V2lkdGggPj0gc2Nyb2xsV2lkdGggLSAxO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFPOUUsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFNN0IsWUFDUyxFQUF5QixFQUN4QixHQUFzQjtRQUR2QixPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQU52QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDOzs7O1FBRXhCLGdCQUFXLEdBQXVCLFlBQVksQ0FBQztRQUs5QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMxQyxpQkFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVU7UUFtSTdDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBdkliLENBQUM7Ozs7SUFLSixRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUs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QUFhO1FBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsR0FBRyxXQUFXLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OztZQTNKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGt5SUFBcUM7O2FBRXRDOzs7O1lBTlEscUJBQXFCO1lBSjVCLGlCQUFpQjs7O21CQVloQixTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtvQkFDbkMsS0FBSzswQkFDTCxLQUFLOzBCQUVMLEtBQUs7d0JBS0wsTUFBTTsyQkFDTixLQUFLOzZCQUNMLEtBQUs7dUJBc0ZMLFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUFqR3pDLGtDQUF3RDs7SUFDeEQsbUNBQWdDOztJQUNoQyx5Q0FBaUM7Ozs7O0lBRWpDLHlDQUF3RDs7SUFLeEQsdUNBQW1EOztJQUNuRCwwQ0FBa0M7O0lBQ2xDLDRDQUF3Qjs7SUFrSXhCLHFDQUFnQjs7SUFDaEIsdUNBQWlCOztJQUNqQixxQ0FBZ0I7O0lBeklkLGdDQUFnQzs7Ozs7SUFDaEMsaUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3RlcEl0ZW0sIFN0ZXBwZXJPcmllbnRhdGlvbiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBDb21tb25GdW5jdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtc3RlcHBlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSU1N0ZXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJtZW51XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBtZW51ITogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKSBzdGVwczogU3RlcEl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRTdGVwOiBudW1iZXIgPSAwO1xyXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgKGRlZmF1bHQpIG9yICd2ZXJ0aWNhbCcgKi9cclxuICBASW5wdXQoKSBvcmllbnRhdGlvbjogU3RlcHBlck9yaWVudGF0aW9uID0gXCJob3Jpem9udGFsXCI7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2Y6IENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuICBAT3V0cHV0KCkgc3RlcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxTdGVwSXRlbT4oKTtcclxuICBASW5wdXQoKSB1bmxvY2tlZFN0ZXA6IG51bWJlciA9IDA7IC8v5bey6Kej6ZSB55qE5pyA5aSn5q2l6aqkXHJcbiAgQElucHV0KCkgY29udGFpbmVyUmVmSWQ7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwKSA9PiB7XHJcbiAgICAgIHN0ZXAuZGlzcGxheVRpdGxlID0gdGhpcy5jZi5zZXRNaWRkbGVFbGxpcHNpcyhzdGVwLmxhYmVsLCAxMzIsIDEyKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jVW5sb2NrZWRTdGVwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQnRuU2hvdyh0cnVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1tcImN1cnJlbnRTdGVwXCJdICYmICFjaGFuZ2VzW1wiY3VycmVudFN0ZXBcIl0uZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5zeW5jVW5sb2NrZWRTdGVwKCk7XHJcbiAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgJiZcclxuICAgICAgKChjaGFuZ2VzW1wic3RlcHNcIl0gJiYgY2hhbmdlc1tcInN0ZXBzXCJdLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgICBjaGFuZ2VzW1wiY3VycmVudFN0ZXBcIl0pXHJcbiAgICApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQnRuU2hvdygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOWQjOatpXVubG9ja2VkU3RlcOeahOacgOWkp+WAvFxyXG4gIHByaXZhdGUgc3luY1VubG9ja2VkU3RlcCgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwID4gdGhpcy51bmxvY2tlZFN0ZXApIHtcclxuICAgICAgdGhpcy51bmxvY2tlZFN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdGVwQ2xpY2soc3RlcDogU3RlcEl0ZW0sIGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoc3RlcC5zdGVwIDw9IHRoaXMudW5sb2NrZWRTdGVwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAgPSBzdGVwLnN0ZXA7XHJcbiAgICAgIHRoaXMuc3RlcENsaWNrLmVtaXQoc3RlcCk7XHJcbiAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoaW5kZXgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGxUb1N0ZXAoaW5kZXg/OiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5tZW51IHx8ICF0aGlzLm1lbnUubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG1lbnVFbCA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgaXRlbXMgPSBtZW51RWwucXVlcnlTZWxlY3RvckFsbChcIi5zdGVwXCIpO1xyXG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPVxyXG4gICAgICB0eXBlb2YgaW5kZXggPT09IFwibnVtYmVyXCJcclxuICAgICAgICA/IGluZGV4XHJcbiAgICAgICAgOiB0aGlzLnN0ZXBzLmZpbmRJbmRleCgocykgPT4gcy5zdGVwID09PSB0aGlzLmN1cnJlbnRTdGVwKTtcclxuXHJcbiAgICBpZiAodGFyZ2V0SW5kZXggPCAwIHx8IHRhcmdldEluZGV4ID49IGl0ZW1zLmxlbmd0aCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEVsID0gaXRlbXNbdGFyZ2V0SW5kZXhdIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIC8v6I635Y+W55u45a+55L2N572uXHJcbiAgICBjb25zdCBjb250YWluZXJSZWN0ID0gbWVudUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSB0YXJnZXRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAvLyDorqHnrpflhYPntKDnm7jlr7nkuo7lrrnlmajnmoTkvY3nva5cclxuICAgIGNvbnN0IGVsZW1lbnRSZWxhdGl2ZUxlZnQgPVxyXG4gICAgICBlbGVtZW50UmVjdC5sZWZ0IC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgbWVudUVsLnNjcm9sbExlZnQ7XHJcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50UmVjdC53aWR0aDtcclxuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gbWVudUVsLmNsaWVudFdpZHRoO1xyXG5cclxuICAgIC8vIOiuoeeul+WFg+e0oOS4reW/g+eCueebuOWvueS6juWuueWZqOeahOS9jee9rlxyXG4gICAgY29uc3QgZWxlbWVudENlbnRlciA9IGVsZW1lbnRSZWxhdGl2ZUxlZnQgKyBlbGVtZW50V2lkdGggLyAyO1xyXG5cclxuICAgIC8vIOebruagh+a7muWKqOS9jee9ru+8muiuqeWFg+e0oOS4reW/g+WHuueOsOWcqOWPr+inhuWMuuWfn+S4reW/g1xyXG4gICAgY29uc3Qgc2Nyb2xsVGFyZ2V0ID0gZWxlbWVudENlbnRlciAtIGNvbnRhaW5lcldpZHRoIC8gMjtcclxuXHJcbiAgICAvLyDpmZDliLblnKjmnInmlYjmu5rliqjojIPlm7TlhoVcclxuICAgIGNvbnN0IG1heFNjcm9sbCA9IE1hdGgubWF4KDAsIG1lbnVFbC5zY3JvbGxXaWR0aCAtIGNvbnRhaW5lcldpZHRoKTtcclxuICAgIGNvbnN0IGZpbmFsVGFyZ2V0ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oc2Nyb2xsVGFyZ2V0LCBtYXhTY3JvbGwpKTtcclxuXHJcbiAgICBtZW51RWwuc2Nyb2xsVG8oeyBsZWZ0OiBmaW5hbFRhcmdldCwgYmVoYXZpb3I6IFwic21vb3RoXCIgfSk7XHJcbiAgICB0aGlzLm9uU2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgb25SZXNpemUoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tCdG5TaG93KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0J0blNob3coaW5pdD86IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy5tZW51IHx8ICF0aGlzLm1lbnUubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG1lbnVFbCA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgeyBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGggfSA9IG1lbnVFbDtcclxuXHJcbiAgICAvLyDliKTmlq3mmK/lkKbpnIDopoHmmL7npLrmu5rliqjmjInpkq5cclxuICAgIGxldCB0aHJlc2hvbGQgPSBjbGllbnRXaWR0aDtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZklkKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29udGFpbmVyUmVmSWQpO1xyXG4gICAgICBpZiAoY29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgdGhyZXNob2xkID0gTWF0aC5tYXgoY29udGFpbmVyUmVmLm9mZnNldFdpZHRoICogMC44LCA0MDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93QnRuID0gc2Nyb2xsV2lkdGggPiB0aHJlc2hvbGQ7XHJcblxyXG4gICAgLy8g5Yid5aeL5YyW5pe25rua5Yqo5Yiw5b2T5YmN5q2l6aqkXHJcbiAgICBpZiAoaW5pdCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2Nyb2xsVG9TdGVwKCksIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25TY3JvbGwoKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICBzY3JvbGxMZWZ0KCkge1xyXG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0IH0gPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGRpcyA9IHNjcm9sbExlZnQgLyAxMDAgPCAyID8gc2Nyb2xsTGVmdCArIDEwIDogMTAwO1xyXG4gICAgdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyBsZWZ0OiAtZGlzLCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcclxuICB9XHJcbiAgc2Nyb2xsUmlnaHQoKSB7XHJcbiAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCB9ID0gdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCByZXN0ID0gc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCAtIHNjcm9sbExlZnQ7XHJcbiAgICBjb25zdCBkaXMgPSByZXN0IC8gMTAwIDwgMiA/IHJlc3QgKyAxMCA6IDEwMDtcclxuICAgIHRoaXMubWVudS5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgbGVmdDogZGlzLCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcclxuICB9XHJcblxyXG4gIHNob3dCdG4gPSBmYWxzZTtcclxuICBpc0F0U3RhcnQgPSB0cnVlO1xyXG4gIGlzQXRFbmQgPSBmYWxzZTtcclxuICBvblNjcm9sbCgpIHtcclxuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGgsIGNsaWVudFdpZHRoIH0gPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuaXNBdFN0YXJ0ID0gc2Nyb2xsTGVmdCA8PSAxO1xyXG4gICAgdGhpcy5pc0F0RW5kID0gc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoID49IHNjcm9sbFdpZHRoIC0gMTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -82,9 +82,7 @@ export class DrawerService {
82
82
  show(component, config, data = {}) {
83
83
  /** @type {?} */
84
84
  const drawer = this.uniqueDrawerComponent;
85
- if (!this.checkChange("show", { component, config, data }) ||
86
- !drawer ||
87
- drawer.isOpened) {
85
+ if (!this.checkChange("show", { component, config, data }) || !drawer) {
88
86
  return {
89
87
  instance: null,
90
88
  result: null,
@@ -99,14 +97,29 @@ export class DrawerService {
99
97
  (resolve) => {
100
98
  /** @type {?} */
101
99
  const cacheKey = this.cacheKey;
102
- this.resultPromiseResolveMap.set(cacheKey, (/**
100
+ /** @type {?} */
101
+ const resolves = this.resultPromiseResolveMap.get(cacheKey) || [];
102
+ /** @type {?} */
103
+ const resolveFn = (/**
103
104
  * @param {?} value
104
105
  * @return {?}
105
106
  */
106
107
  (value) => {
107
108
  resolve(value);
108
- this.resultPromiseResolveMap.delete(cacheKey);
109
- }));
109
+ /** @type {?} */
110
+ const caches = this.resultPromiseResolveMap.get(cacheKey) || [];
111
+ /** @type {?} */
112
+ const index = caches.findIndex((/**
113
+ * @param {?} cache
114
+ * @return {?}
115
+ */
116
+ (cache) => cache === resolveFn));
117
+ caches.splice(index, 1);
118
+ if (index === 0) {
119
+ this.resultPromiseResolveMap.delete(cacheKey);
120
+ }
121
+ });
122
+ this.resultPromiseResolveMap.set(cacheKey, [...resolves, resolveFn]);
110
123
  })),
111
124
  };
112
125
  }
@@ -117,7 +130,9 @@ export class DrawerService {
117
130
  /** @type {?} */
118
131
  const drawer = this.uniqueDrawerComponent;
119
132
  /** @type {?} */
120
- const resolve = this.resultPromiseResolveMap.get(this.cacheKey);
133
+ const resolves = this.resultPromiseResolveMap.get(this.cacheKey) || [];
134
+ /** @type {?} */
135
+ const resolve = resolves.slice(-1)[0];
121
136
  if (resolve && this.checkChange("hide")) {
122
137
  resolve({ type: "hide" });
123
138
  drawer && drawer.back();
@@ -131,7 +146,9 @@ export class DrawerService {
131
146
  /** @type {?} */
132
147
  const drawer = this.uniqueDrawerComponent;
133
148
  /** @type {?} */
134
- const resolve = this.resultPromiseResolveMap.get(this.cacheKey);
149
+ const resolves = this.resultPromiseResolveMap.get(this.cacheKey) || [];
150
+ /** @type {?} */
151
+ const resolve = resolves.slice(-1)[0];
135
152
  if (resolve && this.checkChange("complete", { data })) {
136
153
  resolve({ type: "complete", data });
137
154
  drawer && drawer.back();
@@ -153,7 +170,7 @@ export class DrawerService {
153
170
  deleteCache(cacheKey) {
154
171
  /** @type {?} */
155
172
  const drawer = this.uniqueDrawerComponent;
156
- drawer && drawer.deleteCache(cacheKey);
173
+ drawer && drawer.deleteAllCache(cacheKey);
157
174
  this.resultPromiseResolveMap.delete(cacheKey);
158
175
  }
159
176
  /**
@@ -228,4 +245,4 @@ if (false) {
228
245
  */
229
246
  DrawerService.prototype.router;
230
247
  }
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBV3hDLE1BQU0sT0FBTyxtQkFBbUIsR0FBMkI7SUFDekQsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsT0FBTztDQUNkO0FBa0JELE1BQU0sT0FBTyxhQUFhOzs7O0lBT3hCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTDFCLDRCQUF1QixHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBR2xFLG9CQUFlLEdBQThCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFMUIsQ0FBQzs7OztJQUV0QyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN6QyxJQUFJLENBQUMsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxFQUFDLENBQUM7YUFDdkQsU0FBUzs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjtZQUN6QyxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLENB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LENBQUMscUJBQXFCO1FBQ3pDLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsUUFBOEI7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkM7OztRQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsRUFBQztJQUNKLENBQUM7Ozs7Ozs7SUFFTyxXQUFXLENBQ2pCLElBQStCLEVBQy9CLFNBQThCLEVBQUU7O1lBRTVCLE1BQU0sR0FBRyxLQUFLOztjQUNaLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNOzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQSxFQUFFLE1BQU0sRUFBRTtRQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNqQixDQUFDOzs7WUFwSEYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBaEN1QixNQUFNOzs7Ozs7OztJQWtDNUIsOENBQStDOzs7OztJQUMvQyxnREFBMEU7Ozs7O0lBRTFFLDJDQUF5Qzs7Ozs7SUFDekMsd0NBQStEOzs7OztJQUVuRCwrQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vbGF5b3V0L2RyYXdlci9pbmRleC5jb21wb25lbnRcIjtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNvbmZpZyA9IHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nO1xyXG4gIG1vZGU/OiBcIm91dGVyXCIgfCBcImlubmVyXCI7XHJcbiAgdG9wPzogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3ZXJDb25maWc6IFJlYWRvbmx5PERyYXdlckNvbmZpZz4gPSB7XHJcbiAgdGl0bGU6IFwiVGl0bGVcIixcclxuICBtb2RlOiBcImlubmVyXCIsXHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEcmF3ZXJTaG93SW5zdGFuY2U8VD4gPSB7XHJcbiAgaW5zdGFuY2U6IFQ7XHJcbiAgcmVzdWx0OiBQcm9taXNlPHsgdHlwZTogXCJjb21wbGV0ZVwiIHwgXCJoaWRlXCI7IGRhdGE/OiBhbnkgfT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEcmF3ZXJDaGFuZ2VFdmVudCA9IHtcclxuICB0eXBlOiBcInNob3dcIiB8IFwiaGlkZVwiIHwgXCJjb21wbGV0ZVwiO1xyXG4gIGNhbmNlbDogKCkgPT4gdm9pZDtcclxuICBkZXRhaWw6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEcmF3ZXJDaGFuZ2VMaXN0ZW5lciA9IChldmVudDogRHJhd2VyQ2hhbmdlRXZlbnQpID0+IHZvaWQ7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuaXF1ZURyYXdlckNvbXBvbmVudDogRHJhd2VyQ29tcG9uZW50O1xyXG4gIHByaXZhdGUgcmVzdWx0UHJvbWlzZVJlc29sdmVNYXAgPSBuZXcgTWFwPHN0cmluZywgKHZhbHVlOiBhbnkpID0+IHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBMaXN0ZW5DaGFuZ2VDYnM6IFNldDxEcmF3ZXJDaGFuZ2VMaXN0ZW5lcj4gPSBuZXcgU2V0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGdldCBjYWNoZUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmw7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlRHJhd2VyKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5Sb3V0ZXJDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgICAgICBkcmF3ZXIgJiYgZHJhd2VyLm9uUm91dGVDaGFuZ2UoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXREcmF3ZXIoY29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQpIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnJlbW92ZURyYXdlcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmxpc3RlblJvdXRlckNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhd2VyKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gJiYgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHNob3c8VD4oXHJcbiAgICBjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsXHJcbiAgICBjb25maWc6IERyYXdlckNvbmZpZyxcclxuICAgIGRhdGEgPSB7fVxyXG4gICk6IERyYXdlclNob3dJbnN0YW5jZTxUPiB7XHJcbiAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgIGlmIChcclxuICAgICAgIXRoaXMuY2hlY2tDaGFuZ2UoXCJzaG93XCIsIHsgY29tcG9uZW50LCBjb25maWcsIGRhdGEgfSkgfHxcclxuICAgICAgIWRyYXdlciB8fFxyXG4gICAgICBkcmF3ZXIuaXNPcGVuZWRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGluc3RhbmNlOiBudWxsLFxyXG4gICAgICAgIHJlc3VsdDogbnVsbCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGluc3RhbmNlOiBkcmF3ZXIuc2hvdyhjb21wb25lbnQsIGNvbmZpZywgZGF0YSksXHJcbiAgICAgIHJlc3VsdDogbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjb25zdCBjYWNoZUtleSA9IHRoaXMuY2FjaGVLZXk7XHJcbiAgICAgICAgdGhpcy5yZXN1bHRQcm9taXNlUmVzb2x2ZU1hcC5zZXQoY2FjaGVLZXksICh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgIGNvbnN0IHJlc29sdmUgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldCh0aGlzLmNhY2hlS2V5KTtcclxuICAgIGlmIChyZXNvbHZlICYmIHRoaXMuY2hlY2tDaGFuZ2UoXCJoaWRlXCIpKSB7XHJcbiAgICAgIHJlc29sdmUoeyB0eXBlOiBcImhpZGVcIiB9KTtcclxuICAgICAgZHJhd2VyICYmIGRyYXdlci5iYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wbGV0ZShkYXRhPzogYW55KSB7XHJcbiAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgIGNvbnN0IHJlc29sdmUgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldCh0aGlzLmNhY2hlS2V5KTtcclxuICAgIGlmIChyZXNvbHZlICYmIHRoaXMuY2hlY2tDaGFuZ2UoXCJjb21wbGV0ZVwiLCB7IGRhdGEgfSkpIHtcclxuICAgICAgcmVzb2x2ZSh7IHR5cGU6IFwiY29tcGxldGVcIiwgZGF0YSB9KTtcclxuICAgICAgZHJhd2VyICYmIGRyYXdlci5iYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudC5zZXRDb25maWcoY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRyYXdlciA9IHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50O1xyXG4gICAgZHJhd2VyICYmIGRyYXdlci5kZWxldGVDYWNoZShjYWNoZUtleSk7XHJcbiAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShjYWxsYmFjazogRHJhd2VyQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmFkZChjYWxsYmFjayk7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB0aGlzLkxpc3RlbkNoYW5nZUNicy5kZWxldGUoY2FsbGJhY2spO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tDaGFuZ2UoXHJcbiAgICB0eXBlOiBEcmF3ZXJDaGFuZ2VFdmVudFtcInR5cGVcIl0sXHJcbiAgICBkZXRhaWw6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxyXG4gICkge1xyXG4gICAgbGV0IGNhbmNlbCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZXZlbnQgPSB7IHR5cGUsIGNhbmNlbDogKCkgPT4gKGNhbmNlbCA9IHRydWUpLCBkZXRhaWwgfTtcclxuICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmZvckVhY2goKGNiKSA9PiBjYihldmVudCkpO1xyXG4gICAgcmV0dXJuICFjYW5jZWw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBV3hDLE1BQU0sT0FBTyxtQkFBbUIsR0FBMkI7SUFDekQsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsT0FBTztDQUNkO0FBa0JELE1BQU0sT0FBTyxhQUFhOzs7O0lBT3hCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTDFCLDRCQUF1QixHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO1FBR3RFLG9CQUFlLEdBQThCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFMUIsQ0FBQzs7OztJQUV0QyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN6QyxJQUFJLENBQUMsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxFQUFDLENBQUM7YUFDdkQsU0FBUzs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjtZQUN6QyxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLENB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QUFFLE1BQU07OztZQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFBLEVBQUUsTUFBTSxFQUFFO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ2pCLENBQUM7OztZQTVIRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFoQ3VCLE1BQU07Ozs7Ozs7O0lBa0M1Qiw4Q0FBK0M7Ozs7O0lBQy9DLGdEQUE4RTs7Ozs7SUFFOUUsMkNBQXlDOzs7OztJQUN6Qyx3Q0FBK0Q7Ozs7O0lBRW5ELCtCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gXCIuLi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJhd2VyQ29uZmlnID0ge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3ViVGl0bGU/OiBzdHJpbmc7XHJcbiAgbW9kZT86IFwib3V0ZXJcIiB8IFwiaW5uZXJcIjtcclxuICB0b3A/OiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRGVmYXVsdERyYXdlckNvbmZpZzogUmVhZG9ubHk8RHJhd2VyQ29uZmlnPiA9IHtcclxuICB0aXRsZTogXCJUaXRsZVwiLFxyXG4gIG1vZGU6IFwiaW5uZXJcIixcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlclNob3dJbnN0YW5jZTxUPiA9IHtcclxuICBpbnN0YW5jZTogVDtcclxuICByZXN1bHQ6IFByb21pc2U8eyB0eXBlOiBcImNvbXBsZXRlXCIgfCBcImhpZGVcIjsgZGF0YT86IGFueSB9PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNoYW5nZUV2ZW50ID0ge1xyXG4gIHR5cGU6IFwic2hvd1wiIHwgXCJoaWRlXCIgfCBcImNvbXBsZXRlXCI7XHJcbiAgY2FuY2VsOiAoKSA9PiB2b2lkO1xyXG4gIGRldGFpbDogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNoYW5nZUxpc3RlbmVyID0gKGV2ZW50OiBEcmF3ZXJDaGFuZ2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5pcXVlRHJhd2VyQ29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSByZXN1bHRQcm9taXNlUmVzb2x2ZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCAoKHZhbHVlOiBhbnkpID0+IHZvaWQpW10+KCk7XHJcblxyXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBMaXN0ZW5DaGFuZ2VDYnM6IFNldDxEcmF3ZXJDaGFuZ2VMaXN0ZW5lcj4gPSBuZXcgU2V0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGdldCBjYWNoZUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmw7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlRHJhd2VyKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5Sb3V0ZXJDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgICAgICBkcmF3ZXIgJiYgZHJhd2VyLm9uUm91dGVDaGFuZ2UoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXREcmF3ZXIoY29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQpIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnJlbW92ZURyYXdlcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmxpc3RlblJvdXRlckNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhd2VyKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gJiYgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHNob3c8VD4oXHJcbiAgICBjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsXHJcbiAgICBjb25maWc6IERyYXdlckNvbmZpZyxcclxuICAgIGRhdGEgPSB7fSxcclxuICApOiBEcmF3ZXJTaG93SW5zdGFuY2U8VD4ge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBpZiAoIXRoaXMuY2hlY2tDaGFuZ2UoXCJzaG93XCIsIHsgY29tcG9uZW50LCBjb25maWcsIGRhdGEgfSkgfHwgIWRyYXdlcikge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGluc3RhbmNlOiBudWxsLFxyXG4gICAgICAgIHJlc3VsdDogbnVsbCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGluc3RhbmNlOiBkcmF3ZXIuc2hvdyhjb21wb25lbnQsIGNvbmZpZywgZGF0YSksXHJcbiAgICAgIHJlc3VsdDogbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjb25zdCBjYWNoZUtleSA9IHRoaXMuY2FjaGVLZXk7XHJcbiAgICAgICAgY29uc3QgcmVzb2x2ZXMgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc29sdmVGbiA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBjYWNoZXMgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGNhY2hlcy5maW5kSW5kZXgoKGNhY2hlKSA9PiBjYWNoZSA9PT0gcmVzb2x2ZUZuKTtcclxuICAgICAgICAgIGNhY2hlcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzdWx0UHJvbWlzZVJlc29sdmVNYXAuZGVsZXRlKGNhY2hlS2V5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLnNldChjYWNoZUtleSwgWy4uLnJlc29sdmVzLCByZXNvbHZlRm5dKTtcclxuICAgICAgfSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgaGlkZSgpIHtcclxuICAgIGNvbnN0IGRyYXdlciA9IHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50O1xyXG4gICAgY29uc3QgcmVzb2x2ZXMgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldCh0aGlzLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IHJlc29sdmUgPSByZXNvbHZlcy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAocmVzb2x2ZSAmJiB0aGlzLmNoZWNrQ2hhbmdlKFwiaGlkZVwiKSkge1xyXG4gICAgICByZXNvbHZlKHsgdHlwZTogXCJoaWRlXCIgfSk7XHJcbiAgICAgIGRyYXdlciAmJiBkcmF3ZXIuYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUoZGF0YT86IGFueSkge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBjb25zdCByZXNvbHZlcyA9IHRoaXMucmVzdWx0UHJvbWlzZVJlc29sdmVNYXAuZ2V0KHRoaXMuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgcmVzb2x2ZSA9IHJlc29sdmVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChyZXNvbHZlICYmIHRoaXMuY2hlY2tDaGFuZ2UoXCJjb21wbGV0ZVwiLCB7IGRhdGEgfSkpIHtcclxuICAgICAgcmVzb2x2ZSh7IHR5cGU6IFwiY29tcGxldGVcIiwgZGF0YSB9KTtcclxuICAgICAgZHJhd2VyICYmIGRyYXdlci5iYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudC5zZXRDb25maWcoY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRyYXdlciA9IHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50O1xyXG4gICAgZHJhd2VyICYmIGRyYXdlci5kZWxldGVBbGxDYWNoZShjYWNoZUtleSk7XHJcbiAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShjYWxsYmFjazogRHJhd2VyQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmFkZChjYWxsYmFjayk7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB0aGlzLkxpc3RlbkNoYW5nZUNicy5kZWxldGUoY2FsbGJhY2spO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tDaGFuZ2UoXHJcbiAgICB0eXBlOiBEcmF3ZXJDaGFuZ2VFdmVudFtcInR5cGVcIl0sXHJcbiAgICBkZXRhaWw6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICApIHtcclxuICAgIGxldCBjYW5jZWwgPSBmYWxzZTtcclxuICAgIGNvbnN0IGV2ZW50ID0geyB0eXBlLCBjYW5jZWw6ICgpID0+IChjYW5jZWwgPSB0cnVlKSwgZGV0YWlsIH07XHJcbiAgICB0aGlzLkxpc3RlbkNoYW5nZUNicy5mb3JFYWNoKChjYikgPT4gY2IoZXZlbnQpKTtcclxuICAgIHJldHVybiAhY2FuY2VsO1xyXG4gIH1cclxufVxyXG4iXX0=