survery-lib 2.1.31 → 2.1.33

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.
@@ -47,6 +47,7 @@ export class QuestionCascadeTemplateComponent {
47
47
  this.questionGroupId = null;
48
48
  this.isPre = false;
49
49
  this.surveyLanguageId = null;
50
+ this.surveyKey = null;
50
51
  this.applicantKey = null;
51
52
  this.rForm = this._formBuilder.group({
52
53
  questionArr: this._formBuilder.array([])
@@ -103,7 +104,9 @@ export class QuestionCascadeTemplateComponent {
103
104
  isOtherQuestion(model) {
104
105
  this._ApiService.getIsOtherQuestion({
105
106
  parentQId: model.QuestionId,
106
- groupId: this.questionGroupId
107
+ groupId: this.questionGroupId,
108
+ surveyKey: this.surveyKey,
109
+ surveyLanguageId: this.surveyLanguageId
107
110
  }).subscribe(res => {
108
111
  if (res.errors.filter(x => x.code == 17).length == 0) {
109
112
  res.questionTypeId = QuestionTypeEnum.TextInput;
@@ -211,7 +214,7 @@ export class QuestionCascadeTemplateComponent {
211
214
  });
212
215
  }
213
216
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }, { token: i3.ApiService }, { token: i4.Store }], target: i0.ɵɵFactoryTarget.Component }); }
214
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageId: "pageId", questionGroupId: "questionGroupId", isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n <lib-question-dropdown-template #questionDropdownTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType != questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \" (emitter)=\"onUpdateAnswer($event)\">\r\n </lib-question-dropdown-template>\r\n\r\n <lib-question-text-template #questionTextTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType == questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \"\r\n [isArabicLang]=\"true\"></lib-question-text-template>\r\n\r\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: i7.QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "pipe", type: i8.FindQuestionPipe, name: "findQuestion" }] }); }
217
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageId: "pageId", questionGroupId: "questionGroupId", isPre: "isPre", surveyLanguageId: "surveyLanguageId", surveyKey: "surveyKey", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n <lib-question-dropdown-template #questionDropdownTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType != questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \" (emitter)=\"onUpdateAnswer($event)\">\r\n </lib-question-dropdown-template>\r\n\r\n <lib-question-text-template #questionTextTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType == questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \"\r\n [isArabicLang]=\"true\"></lib-question-text-template>\r\n\r\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: i7.QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "pipe", type: i8.FindQuestionPipe, name: "findQuestion" }] }); }
215
218
  }
216
219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, decorators: [{
217
220
  type: Component,
@@ -224,9 +227,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
224
227
  type: Input
225
228
  }], surveyLanguageId: [{
226
229
  type: Input
230
+ }], surveyKey: [{
231
+ type: Input
227
232
  }], applicantKey: [{
228
233
  type: Input
229
234
  }], setQuestion: [{
230
235
  type: Input
231
236
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFNNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQVNELElBQWEsV0FBVyxDQUFDLEtBQXdCO1FBQy9DLElBQUks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Q0FBQyxDQUFDLENBQUM7Z0JBRUosSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5TlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsdVBDcEI3Qyxtd0JBV2U7OzJGRFNGLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwrQkFBK0I7OEtBc0JoQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRU8sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2UsIFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1jYXNjYWRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3VydmV5QW5zd2VyRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWFuc3dlci5kdG8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVDb21wb25lbnQge1xyXG4gIHN1cnZleVF1ZXN0aW9uQXJyOiBTdXJ2ZXlRdWVzdGlvbkR0b1tdID0gW107XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyXHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgcGFnZUlkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXBJZDogbnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKSBpc1ByZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cnZleUxhbmd1YWdlSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgYXBwbGljYW50S2V5OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAodGhpcy5zdXJ2ZXlRdWVzdGlvbkFycj8ubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5zZXRRdWVzdGlvbnModmFsdWUucXVlc3Rpb25BbGxJbmZvKTtcclxuXHJcbiAgICAgIHZhciBjaGlsZFF1ZXN0aW9uMSA9IHRoaXMucGFnZVF1ZXN0aW9ucyQoKS5maW5kKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IHZhbHVlLnF1ZXN0aW9uSWQpO1xyXG4gICAgICBpZiAoY2hpbGRRdWVzdGlvbjEpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhjaGlsZFF1ZXN0aW9uMS5xdWVzdGlvbkFsbEluZm8pO1xyXG5cclxuICAgICAgICB2YXIgY2hpbGRRdWVzdGlvbjIgPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucGFyZW50UXVlc3Rpb25JZCA9PSBjaGlsZFF1ZXN0aW9uMS5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAoY2hpbGRRdWVzdGlvbjIpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKGNoaWxkUXVlc3Rpb24yLnF1ZXN0aW9uQWxsSW5mbyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9BcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLCBwcml2YXRlIF9TdG9yZTogU3RvcmUpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgcXVlc3Rpb25BcnI6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh2KTtcclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuICBvblVwZGF0ZUFuc3dlcihtb2RlbDogUXVlc3Rpb25BbnN3ZXJNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuc3VydmV5UXVlc3Rpb25BcnIubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zdCBzdXJ2ZXlRdWVzdGlvbkluZGV4ID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maW5kSW5kZXgoYyA9PiBjLnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk7XHJcblxyXG4gICAgICB2YXIgZGVsZXRlZFF1ZXN0aW9ucyA9IFtdXHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gc3VydmV5UXVlc3Rpb25JbmRleCArIDE7IGluZGV4IDwgdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBkZWxldGVkUXVlc3Rpb25zLnB1c2goaW5kZXgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgc29ydERlbGV0ZWRBcnIgPSBkZWxldGVkUXVlc3Rpb25zLnNvcnQoKGEsIGIpID0+IChhID4gYiA/IC0xIDogMSkpO1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc29ydERlbGV0ZWRBcnIubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEluZGV4ID0gc29ydERlbGV0ZWRBcnJbaW5kZXhdO1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uSWQgPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyW2VsZW1lbnRJbmRleF0ucXVlc3Rpb25JZDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbih7IHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uSWQgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnF1ZXN0aW9uSWQgIT0gcXVlc3Rpb25JZCk7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkZvcm1BcnJheS5yZW1vdmVBdChlbGVtZW50SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1vZGVsLkFuc3dlcikge1xyXG4gICAgICB2YXIgc2VsZWN0ZWRBbnN3ZXJPYmogPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyXHJcbiAgICAgICAgLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk/LnN1cnZleUFuc3dlcnMuZmluZCh4ID0+IHguYW5zd2VySWQgPT09IG1vZGVsLlN1cnZleUFuc3dlcklkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkQW5zd2VyT2JqPy5pc090aGVyID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmlzT3RoZXJRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZXROZXh0UXVlc3Rpb24obW9kZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZGVudGlmeShpbmRleCwgaXRlbTogRm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xyXG4gICAgcmV0dXJuIGl0ZW0udmFsdWUuaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1ZXN0aW9ucyh2YWx1ZTogU3VydmV5UXVlc3Rpb25EdG8pIHtcclxuICAgIHRoaXMuc3VydmV5UXVlc3Rpb25BcnIucHVzaCh2YWx1ZSk7XHJcblxyXG4gICAgdmFyIGdyb3VwID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbklkKSxcclxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UeXBlSWQpLFxyXG4gICAgICBhbnN3ZXI6IG5ldyBGb3JtQ29udHJvbChudWxsKVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLmlzUmVxdWlyZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnB1c2goZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc090aGVyUXVlc3Rpb24obW9kZWw6IFF1ZXN0aW9uQW5zd2VyTW9kZWwpIHtcclxuICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0SXNPdGhlclF1ZXN0aW9uKHtcclxuICAgICAgcGFyZW50UUlkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICBncm91cElkOiB0aGlzLnF1ZXN0aW9uR3JvdXBJZFxyXG4gICAgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmIChyZXMuZXJyb3JzLmZpbHRlcih4ID0+IHguY29kZSA9PSAxNykubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXMucXVlc3Rpb25UeXBlSWQgPSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICBxdWVzdGlvbjoge1xyXG4gICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHQsXHJcbiAgICAgICAgICAgIGlzUXVlc3Rpb25Hcm91cDogZmFsc2UsXHJcbiAgICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICAgIGlzVmFsaWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICBpc1Nob3c6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IHRoaXMucXVlc3Rpb25Hcm91cElkLFxyXG4gICAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHtcclxuICAgICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICBxdWVzdGlvblR5cGVJZDogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uTmFtZTogcmVzLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICAgICAgICBxdWVzdGlvblRpdGxlOiByZXMucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICBxdWVzdGlvbkRlc2NyaXB0aW9uOiByZXMucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgICBpc1Zpc2FibGU6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgICAgaXNFZGl0YWJsZTogcmVzLmlzRWRpdGFibGUsXHJcbiAgICAgICAgICAgICAgaXNPVFBPcHRpb246IHJlcy5pc090cE9wdGlvbixcclxuICAgICAgICAgICAgICBpc0FkdmFuY2VUZXh0QXJlYTogcmVzLmlzQWR2YW5jZVRleHRBcmVhLFxyXG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICAgIGlzUHJlRGVmaW5lOiByZXMuaXNQcmVEZWZpbmUsXHJcbiAgICAgICAgICAgICAgbWF4TGV2ZWxWYWx1ZTogcmVzLm1heExldmVsVmFsdWUsXHJcbiAgICAgICAgICAgICAgc3VydmV5QW5zd2VyczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcmVzLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgICBpbnB1dFR5cGVJZDogSW5wdXRUeXBlRW51bS5UZXh0XHJcbiAgICAgICAgICAgICAgICB9IGFzIFN1cnZleUFuc3dlckR0b1xyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25zOiByZXMuc3VydmV5U3ViUXVlc3Rpb25zLFxyXG4gICAgICAgICAgICAgIHN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzOiByZXMuc3VydmV5U3ViUXVlc3Rpb25MZXZlbHNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRRdWVzdGlvbnMoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogcmVzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBxdWVzdGlvblR5cGVJZDogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgcXVlc3Rpb25OYW1lOiByZXMucXVlc3Rpb25OYW1lLFxyXG4gICAgICAgICAgcXVlc3Rpb25UaXRsZTogcmVzLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgICBxdWVzdGlvbkRlc2NyaXB0aW9uOiByZXMucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICAgIGlzUmVxdWlyZWQ6IHJlcy5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgaXNWaXNhYmxlOiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgaXNFZGl0YWJsZTogcmVzLmlzRWRpdGFibGUsXHJcbiAgICAgICAgICBpc09UUE9wdGlvbjogcmVzLmlzT3RwT3B0aW9uLFxyXG4gICAgICAgICAgaXNBZHZhbmNlVGV4dEFyZWE6IHJlcy5pc0FkdmFuY2VUZXh0QXJlYSxcclxuICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgaXNQcmVEZWZpbmU6IHJlcy5pc1ByZURlZmluZSxcclxuICAgICAgICAgIG1heExldmVsVmFsdWU6IHJlcy5tYXhMZXZlbFZhbHVlLFxyXG4gICAgICAgICAgc3VydmV5QW5zd2VyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgYW5zd2VySWQ6IHJlcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICBpbnB1dFR5cGVJZDogSW5wdXRUeXBlRW51bS5UZXh0XHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5QW5zd2VyRHRvXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25zOiByZXMuc3VydmV5U3ViUXVlc3Rpb25zLFxyXG4gICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25MZXZlbHM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVsc1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmdldE5leHRRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0TmV4dFF1ZXN0aW9uKG1vZGVsOiBRdWVzdGlvbkFuc3dlck1vZGVsKSB7XHJcbiAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldE5leHRRdWVzdGlvbih7XHJcbiAgICAgIGFuc3dlcklkOiBtb2RlbC5BbnN3ZXIsXHJcbiAgICAgIGFwcGxpY2FudEtleTogdGhpcy5hcHBsaWNhbnRLZXksXHJcbiAgICAgIGlzUHJlOiB0aGlzLmlzUHJlLFxyXG4gICAgICBzdXJ2ZXlMYW5ndWFnZUlkOiB0aGlzLnN1cnZleUxhbmd1YWdlSWRcclxuICAgIH0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzLmVycm9ycy5maWx0ZXIoeCA9PiB4LmNvZGUgPT0gMTcpLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICBxdWVzdGlvbjoge1xyXG4gICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgIGlucHV0VHlwZUlkOiByZXMuc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgICAgaXNRdWVzdGlvbkdyb3VwOiBmYWxzZSxcclxuICAgICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvdzogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcmVzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlc3Rpb25Gb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6aWRlbnRpZnkgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICA8bGliLXF1ZXN0aW9uLWRyb3Bkb3duLXRlbXBsYXRlICNxdWVzdGlvbkRyb3Bkb3duVGVtcGxhdGVcclxuICAgICAgICAqbmdJZj1cIihwYWdlUXVlc3Rpb25zJCgpIHxmaW5kUXVlc3Rpb24gOml0ZW0udmFsdWUuaWQpPy5xdWVzdGlvblR5cGUgIT0gcXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXRcIlxyXG4gICAgICAgIFtzZXRRdWVzdGlvbl09XCJwYWdlUXVlc3Rpb25zJCgpIHxmaW5kUXVlc3Rpb24gOml0ZW0udmFsdWUuaWQgXCIgKGVtaXR0ZXIpPVwib25VcGRhdGVBbnN3ZXIoJGV2ZW50KVwiPlxyXG4gICAgPC9saWItcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGU+XHJcblxyXG4gICAgPGxpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlICNxdWVzdGlvblRleHRUZW1wbGF0ZVxyXG4gICAgICAgICpuZ0lmPVwiKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCk/LnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgW3NldFF1ZXN0aW9uXT1cInBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCBcIlxyXG4gICAgICAgIFtpc0FyYWJpY0xhbmddPVwidHJ1ZVwiPjwvbGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGU+XHJcblxyXG48L25nLWNvbnRhaW5lcj4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFNNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQVVELElBQWEsV0FBVyxDQUFDLEtBQXdCO1FBQy9DLElBQUks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QWUsRUFBRSxJQUFJLENBQUMsZUFBZTt3QkFDckMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFVBQVU7d0JBQ2xDLGVBQWUsRUFBRSxHQUFHO3FCQUNyQjtpQkFDRixDQUFDLENBQUMsQ0FBQztnQkFFSixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWpPVSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQywrUUNwQjdDLG13QkFXZTs7MkZEU0YsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLCtCQUErQjs4S0FzQmhDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlLCBRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tY2FzY2FkZS5mb3JtLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcclxuaW1wb3J0IHsgU3VydmV5TGliU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N1cnZleS1saWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkuYWN0aW9uJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvcXVlc3Rpb24uc2VsZWN0b3InO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL2lucHV0LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFN1cnZleUFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1hbnN3ZXIuZHRvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlQ29tcG9uZW50IHtcclxuICBzdXJ2ZXlRdWVzdGlvbkFycjogU3VydmV5UXVlc3Rpb25EdG9bXSA9IFtdO1xyXG4gIHJGb3JtOiBGb3JtR3JvdXA8UXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPjtcclxuICBwYWdlUXVlc3Rpb25zJCA9IHRoaXMuX1N0b3JlLnNlbGVjdFNpZ25hbChxdWVzdGlvblNlbGVjdG9ycy5wYWdlUXVlc3Rpb25zKTtcclxuXHJcbiAgZ2V0IGZDdHJscygpIHtcclxuICAgIHJldHVybiB0aGlzLnJGb3JtLmNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uVHlwZUVudW0oKSB7XHJcbiAgICByZXR1cm4gUXVlc3Rpb25UeXBlRW51bTtcclxuICB9XHJcblxyXG4gIGdldCBxdWVzdGlvbkZvcm1BcnJheSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZDdHJscy5xdWVzdGlvbkFyclxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VJZDogbnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKSBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgaXNQcmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdXJ2ZXlMYW5ndWFnZUlkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHN1cnZleUtleTogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBhcHBsaWNhbnRLZXk6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIGlmICh0aGlzLnN1cnZleVF1ZXN0aW9uQXJyPy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLnNldFF1ZXN0aW9ucyh2YWx1ZS5xdWVzdGlvbkFsbEluZm8pO1xyXG5cclxuICAgICAgdmFyIGNoaWxkUXVlc3Rpb24xID0gdGhpcy5wYWdlUXVlc3Rpb25zJCgpLmZpbmQoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gdmFsdWUucXVlc3Rpb25JZCk7XHJcbiAgICAgIGlmIChjaGlsZFF1ZXN0aW9uMSkge1xyXG4gICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKGNoaWxkUXVlc3Rpb24xLnF1ZXN0aW9uQWxsSW5mbyk7XHJcblxyXG4gICAgICAgIHZhciBjaGlsZFF1ZXN0aW9uMiA9IHRoaXMucGFnZVF1ZXN0aW9ucyQoKS5maW5kKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IGNoaWxkUXVlc3Rpb24xLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChjaGlsZFF1ZXN0aW9uMikge1xyXG4gICAgICAgICAgdGhpcy5zZXRRdWVzdGlvbnMoY2hpbGRRdWVzdGlvbjIucXVlc3Rpb25BbGxJbmZvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSxcclxuICAgIHByaXZhdGUgX0FwaVNlcnZpY2U6IEFwaVNlcnZpY2UsIHByaXZhdGUgX1N0b3JlOiBTdG9yZSkge1xyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBxdWVzdGlvbkFycjogdGhpcy5fZm9ybUJ1aWxkZXIuYXJyYXk8Rm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPj4oW10pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKHYpO1xyXG4gICAgLy8gfSlcclxuICB9XHJcblxyXG4gIG9uVXBkYXRlQW5zd2VyKG1vZGVsOiBRdWVzdGlvbkFuc3dlck1vZGVsKSB7XHJcbiAgICBpZiAodGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGNvbnN0IHN1cnZleVF1ZXN0aW9uSW5kZXggPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyLmZpbmRJbmRleChjID0+IGMucXVlc3Rpb25JZCA9PSBtb2RlbC5RdWVzdGlvbklkKTtcclxuXHJcbiAgICAgIHZhciBkZWxldGVkUXVlc3Rpb25zID0gW11cclxuICAgICAgZm9yIChsZXQgaW5kZXggPSBzdXJ2ZXlRdWVzdGlvbkluZGV4ICsgMTsgaW5kZXggPCB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgIGRlbGV0ZWRRdWVzdGlvbnMucHVzaChpbmRleCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBzb3J0RGVsZXRlZEFyciA9IGRlbGV0ZWRRdWVzdGlvbnMuc29ydCgoYSwgYikgPT4gKGEgPiBiID8gLTEgOiAxKSk7XHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzb3J0RGVsZXRlZEFyci5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50SW5kZXggPSBzb3J0RGVsZXRlZEFycltpbmRleF07XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb25JZCA9IHRoaXMuc3VydmV5UXVlc3Rpb25BcnJbZWxlbWVudEluZGV4XS5xdWVzdGlvbklkO1xyXG5cclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnJlbW92ZVF1ZXN0aW9uKHsgcXVlc3Rpb25JZDogcXVlc3Rpb25JZCB9KSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3VydmV5UXVlc3Rpb25BcnIgPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyLmZpbHRlcih4ID0+IHgucXVlc3Rpb25JZCAhPSBxdWVzdGlvbklkKTtcclxuICAgICAgICB0aGlzLnF1ZXN0aW9uRm9ybUFycmF5LnJlbW92ZUF0KGVsZW1lbnRJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAobW9kZWwuQW5zd2VyKSB7XHJcbiAgICAgIHZhciBzZWxlY3RlZEFuc3dlck9iaiA9IHRoaXMuc3VydmV5UXVlc3Rpb25BcnJcclxuICAgICAgICAuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBtb2RlbC5RdWVzdGlvbklkKT8uc3VydmV5QW5zd2Vycy5maW5kKHggPT4geC5hbnN3ZXJJZCA9PT0gbW9kZWwuU3VydmV5QW5zd2VySWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWRBbnN3ZXJPYmo/LmlzT3RoZXIgPT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuaXNPdGhlclF1ZXN0aW9uKG1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmdldE5leHRRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlkZW50aWZ5KGluZGV4LCBpdGVtOiBGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KSB7XHJcbiAgICByZXR1cm4gaXRlbS52YWx1ZS5pZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UXVlc3Rpb25zKHZhbHVlOiBTdXJ2ZXlRdWVzdGlvbkR0bykge1xyXG4gICAgdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5wdXNoKHZhbHVlKTtcclxuXHJcbiAgICB2YXIgZ3JvdXAgPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uSWQpLFxyXG4gICAgICB0eXBlSWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvblR5cGVJZCksXHJcbiAgICAgIGFuc3dlcjogbmV3IEZvcm1Db250cm9sKG51bGwpXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodmFsdWUuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIucHVzaChncm91cCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzT3RoZXJRdWVzdGlvbihtb2RlbDogUXVlc3Rpb25BbnN3ZXJNb2RlbCkge1xyXG4gICAgdGhpcy5fQXBpU2VydmljZS5nZXRJc090aGVyUXVlc3Rpb24oe1xyXG4gICAgICBwYXJlbnRRSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgIGdyb3VwSWQ6IHRoaXMucXVlc3Rpb25Hcm91cElkICxcclxuICAgICAgc3VydmV5S2V5IDogdGhpcy5zdXJ2ZXlLZXkgLFxyXG4gICAgICBzdXJ2ZXlMYW5ndWFnZUlkIDogdGhpcy5zdXJ2ZXlMYW5ndWFnZUlkXHJcbiAgICB9KS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcy5lcnJvcnMuZmlsdGVyKHggPT4geC5jb2RlID09IDE3KS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHJlcy5xdWVzdGlvblR5cGVJZCA9IFF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0O1xyXG5cclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uKHtcclxuICAgICAgICAgIHF1ZXN0aW9uOiB7XHJcbiAgICAgICAgICAgIHN1cnZleVBhZ2VJZDogdGhpcy5wYWdlSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvblR5cGU6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IElucHV0VHlwZUVudW0uVGV4dCxcclxuICAgICAgICAgICAgaXNRdWVzdGlvbkdyb3VwOiBmYWxzZSxcclxuICAgICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvdzogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzoge1xyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uVHlwZUlkOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25OYW1lOiByZXMucXVlc3Rpb25OYW1lLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uVGl0bGU6IHJlcy5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uRGVzY3JpcHRpb246IHJlcy5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHJlcy5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIGlzVmlzYWJsZTogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgICBpc0VkaXRhYmxlOiByZXMuaXNFZGl0YWJsZSxcclxuICAgICAgICAgICAgICBpc09UUE9wdGlvbjogcmVzLmlzT3RwT3B0aW9uLFxyXG4gICAgICAgICAgICAgIGlzQWR2YW5jZVRleHRBcmVhOiByZXMuaXNBZHZhbmNlVGV4dEFyZWEsXHJcbiAgICAgICAgICAgICAgaXNSZWFkT25seTogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgICAgaXNQcmVEZWZpbmU6IHJlcy5pc1ByZURlZmluZSxcclxuICAgICAgICAgICAgICBtYXhMZXZlbFZhbHVlOiByZXMubWF4TGV2ZWxWYWx1ZSxcclxuICAgICAgICAgICAgICBzdXJ2ZXlBbnN3ZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiByZXMuYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHRcclxuICAgICAgICAgICAgICAgIH0gYXMgU3VydmV5QW5zd2VyRHRvXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbnM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbnMsXHJcbiAgICAgICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25MZXZlbHM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVsc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyh7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgIHF1ZXN0aW9uVHlwZUlkOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbk5hbWU6IHJlcy5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgICBxdWVzdGlvblRpdGxlOiByZXMucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgIHF1ZXN0aW9uRGVzY3JpcHRpb246IHJlcy5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICBpc1Zpc2FibGU6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICBpc0VkaXRhYmxlOiByZXMuaXNFZGl0YWJsZSxcclxuICAgICAgICAgIGlzT1RQT3B0aW9uOiByZXMuaXNPdHBPcHRpb24sXHJcbiAgICAgICAgICBpc0FkdmFuY2VUZXh0QXJlYTogcmVzLmlzQWR2YW5jZVRleHRBcmVhLFxyXG4gICAgICAgICAgaXNSZWFkT25seTogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICBpc1ByZURlZmluZTogcmVzLmlzUHJlRGVmaW5lLFxyXG4gICAgICAgICAgbWF4TGV2ZWxWYWx1ZTogcmVzLm1heExldmVsVmFsdWUsXHJcbiAgICAgICAgICBzdXJ2ZXlBbnN3ZXJzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBhbnN3ZXJJZDogcmVzLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHRcclxuICAgICAgICAgICAgfSBhcyBTdXJ2ZXlBbnN3ZXJEdG9cclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbnM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbnMsXHJcbiAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsczogcmVzLnN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZ2V0TmV4dFF1ZXN0aW9uKG1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXh0UXVlc3Rpb24obW9kZWw6IFF1ZXN0aW9uQW5zd2VyTW9kZWwpIHtcclxuICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0TmV4dFF1ZXN0aW9uKHtcclxuICAgICAgYW5zd2VySWQ6IG1vZGVsLkFuc3dlcixcclxuICAgICAgYXBwbGljYW50S2V5OiB0aGlzLmFwcGxpY2FudEtleSxcclxuICAgICAgaXNQcmU6IHRoaXMuaXNQcmUsXHJcbiAgICAgIHN1cnZleUxhbmd1YWdlSWQ6IHRoaXMuc3VydmV5TGFuZ3VhZ2VJZFxyXG4gICAgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmIChyZXMuZXJyb3JzLmZpbHRlcih4ID0+IHguY29kZSA9PSAxNykubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uKHtcclxuICAgICAgICAgIHF1ZXN0aW9uOiB7XHJcbiAgICAgICAgICAgIHN1cnZleVBhZ2VJZDogdGhpcy5wYWdlSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvblR5cGU6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IHJlcy5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkLFxyXG4gICAgICAgICAgICBpc1F1ZXN0aW9uR3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgICBhbnN3ZXJJZDogbnVsbCxcclxuICAgICAgICAgICAgYW5zd2VySWRBcnI6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHJlcy5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICAgICAgICBpc0Rpc2FibGVkOiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93OiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgICBpc0Rpc2FibGVkX2RlZmF1bHQ6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICBpc1Nob3dfZGVmYXVsdDogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiB0aGlzLnF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgICAgICAgcGFyZW50UXVlc3Rpb25JZDogbW9kZWwuUXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25BbGxJbmZvOiByZXNcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBxdWVzdGlvbkZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTppZGVudGlmeSA7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxsaWItcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUgI3F1ZXN0aW9uRHJvcGRvd25UZW1wbGF0ZVxyXG4gICAgICAgICpuZ0lmPVwiKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCk/LnF1ZXN0aW9uVHlwZSAhPSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgW3NldFF1ZXN0aW9uXT1cInBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCBcIiAoZW1pdHRlcik9XCJvblVwZGF0ZUFuc3dlcigkZXZlbnQpXCI+XHJcbiAgICA8L2xpYi1xdWVzdGlvbi1kcm9wZG93bi10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGUgI3F1ZXN0aW9uVGV4dFRlbXBsYXRlXHJcbiAgICAgICAgKm5nSWY9XCIocGFnZVF1ZXN0aW9ucyQoKSB8ZmluZFF1ZXN0aW9uIDppdGVtLnZhbHVlLmlkKT8ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0XCJcclxuICAgICAgICBbc2V0UXVlc3Rpb25dPVwicGFnZVF1ZXN0aW9ucyQoKSB8ZmluZFF1ZXN0aW9uIDppdGVtLnZhbHVlLmlkIFwiXHJcbiAgICAgICAgW2lzQXJhYmljTGFuZ109XCJ0cnVlXCI+PC9saWItcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZT5cclxuXHJcbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -98,14 +98,6 @@ export class SurveyEffects {
98
98
  }
99
99
  });
100
100
  });
101
- const showedQuestionIds = toggleShowedQuestionIds.filter(x => x.isShow == true).map(x => x.questionId);
102
- if (showedQuestionIds.length > 0) {
103
- console.log('showedQuestionIds', showedQuestionIds);
104
- this._store.dispatch(surveyActions.updateQuestionsShow({
105
- questionIds: showedQuestionIds,
106
- isShow: true
107
- }));
108
- }
109
101
  const hiddenQuestionIds = toggleShowedQuestionIds.filter(x => x.isShow == false).map(x => x.questionId);
110
102
  if (hiddenQuestionIds.length > 0) {
111
103
  console.log('hiddenQuestionIds', hiddenQuestionIds);
@@ -114,6 +106,14 @@ export class SurveyEffects {
114
106
  isShow: false
115
107
  }));
116
108
  }
109
+ const showedQuestionIds = toggleShowedQuestionIds.filter(x => x.isShow == true).map(x => x.questionId);
110
+ if (showedQuestionIds.length > 0) {
111
+ console.log('showedQuestionIds', showedQuestionIds);
112
+ this._store.dispatch(surveyActions.updateQuestionsShow({
113
+ questionIds: showedQuestionIds,
114
+ isShow: true
115
+ }));
116
+ }
117
117
  const disabledQuestionIds = toggleDisabledQuestionIds.filter(x => x.isDisabled == true).map(x => x.questionId);
118
118
  if (disabledQuestionIds.length > 0) {
119
119
  console.log('disabledQuestionIds', disabledQuestionIds);
@@ -144,4 +144,4 @@ export class SurveyEffects {
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveyEffects, decorators: [{
145
145
  type: Injectable
146
146
  }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.Store }, { type: i3.CheckRuleExpsUsecase }, { type: i4.ApiService }]; } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBSS9FLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLFFBQWlCLEVBQVUsTUFBYSxFQUNoRCxxQkFBMkMsRUFBVSxXQUF1QjtRQURwRSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNoRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFHeEYsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENB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dWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSBcIkBuZ3J4L2VmZmVjdHNcIjtcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgd2l0aExhdGVzdEZyb20sIGZpbHRlciwgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gXCIuL3N1cnZleS5hY3Rpb25cIjtcclxuaW1wb3J0IHsgQ2hlY2tSdWxlRXhwc1VzZWNhc2UgfSBmcm9tIFwiLi4vLi4vLi4vdXNlY2FzZXMvY2hlY2stcnVsZS1leHBzLnVzZWNhc2VcIjtcclxuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSBcIi4vc3VydmV5LnNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSBcIi4vcXVlc3Rpb24uc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgTG9naWNBY3Rpb25FbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9sb2dpYy1hY3Rpb24uZW51bVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3VydmV5RWZmZWN0cyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIF9zdG9yZTogU3RvcmUsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hlY2tSdWxlRXhwc1VzZWNhc2U6IENoZWNrUnVsZUV4cHNVc2VjYXNlLCBwcml2YXRlIF9hcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5waXBlKG9mVHlwZShzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKSwgd2l0aExhdGVzdEZyb20odGhpcy5fc3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5ydWxlQXJyKVxyXG4gICAgICAgICAgICAsIHRoaXMuX3N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5hbGxRdWVzdGlvbnMpKSwgc3dpdGNoTWFwKChbYWN0aW9uLCBydWxlQXJyLCBxdWVzdGlvbkFycl0pID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBmb3JtYXRlZFJ1bGVBcnI6IHsgcnVsZUlkOiBhbnksIHF1ZXN0aW9uSWQ6IGFueSB9W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIHJ1bGVBcnIuZm9yRWFjaChydWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVFeHBzLmZvckVhY2gocnVsZVF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ZWRSdWxlQXJyLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZUlkOiBydWxlLnJ1bGVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJ1bGVRdWVzdGlvbi5xdWVzdGlvbklkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkUnVsZUlkQXJyID0gZm9ybWF0ZWRSdWxlQXJyLmZpbHRlcih4ID0+IHgucXVlc3Rpb25JZCA9PSBhY3Rpb24ucXVlc3Rpb25JZCkubWFwKHggPT4gTnVtYmVyKHgucnVsZUlkKSk7XHJcbiAgICAgICAgICAgICAgICB2YXIgYXJyID0gcnVsZUFyci5maWx0ZXIoeCA9PiBzZWxlY3RlZFJ1bGVJZEFyci5maW5kKGMgPT4gYyA9PSB4LnJ1bGVJZCkgIT0gbnVsbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHRvZ2dsZVNob3dlZFF1ZXN0aW9uSWRzOiB7IHF1ZXN0aW9uSWQ6IGFueSwgaXNTaG93OiBib29sZWFuIH1bXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHM6IHsgcXVlc3Rpb25JZDogYW55LCBpc0Rpc2FibGVkOiBib29sZWFuIH1bXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgYXJyLmZvckVhY2gocnVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tSdWxlRXhwc1VzZWNhc2UuZXhlY3V0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVFeHBzOiBydWxlLnJ1bGVFeHBzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbnM6IHF1ZXN0aW9uQXJyLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzUGFzc2VkID0gcmVzdWx0LmV4cHJlc3Rpb25SZXN1bHRBcnIuZmlsdGVyKHggPT4geCA9PSBmYWxzZSkubGVuZ3RoID09IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Bhc3NlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5ydWxlUmVzdWx0UXVlc3Rpb25zLmZvckVhY2gocmVzdWx0UXVlc3Rpb24gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uSGlkZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzRGlzYWJsZWQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS5sb2dpY0FjdGlvbklkID09IExvZ2ljQWN0aW9uRW51bS5EaXNhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzRGlzYWJsZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNldEFuc3dlcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gcXVlc3Rpb25BcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXN1bHRRdWVzdGlvbi5xdWVzdGlvbklkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91cGRhdGUgbWF0cml4IHN1YiBxdWVzdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4ICYmIHF1ZXN0aW9uLmlzUXVlc3Rpb25Hcm91cCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdWJRdWVzdGlvbnMgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkhpZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogZmFsc2UgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkRpc2FibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVEaXNhYmxlZFF1ZXN0aW9uSWRzLnB1c2goeyBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLCBpc0Rpc2FibGVkOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVSZXN1bHRRdWVzdGlvbnMuZm9yRWFjaChyZXN1bHRRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBxdWVzdGlvbkFyci5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxdWVzdGlvbi5pc1Nob3cgIT0gcXVlc3Rpb24uaXNTaG93X2RlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93X2RlZmF1bHQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24uaXNEaXNhYmxlZCAhPSBxdWVzdGlvbi5pc0Rpc2FibGVkX2RlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0IH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCAmJiBxdWVzdGlvbi5pc1F1ZXN0aW9uR3JvdXAgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3ViUXVlc3Rpb25zID0gcXVlc3Rpb25BcnIuZmlsdGVyKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IHF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJRdWVzdGlvbnMuZm9yRWFjaChzdWJRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3ViUXVlc3Rpb24uaXNTaG93ICE9IHN1YlF1ZXN0aW9uLmlzU2hvd19kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHN1YlF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogc3ViUXVlc3Rpb24uaXNTaG93X2RlZmF1bHQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YlF1ZXN0aW9uLmlzRGlzYWJsZWQgIT0gc3ViUXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0IH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvd2VkUXVlc3Rpb25JZHMgPSB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5maWx0ZXIoeCA9PiB4LmlzU2hvdyA9PSB0cnVlKS5tYXAoeCA9PiB4LnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNob3dlZFF1ZXN0aW9uSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2hvd2VkUXVlc3Rpb25JZHMnLCBzaG93ZWRRdWVzdGlvbklkcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNTaG93KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZHM6IHNob3dlZFF1ZXN0aW9uSWRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1Nob3c6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGhpZGRlblF1ZXN0aW9uSWRzID0gdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMuZmlsdGVyKHggPT4geC5pc1Nob3cgPT0gZmFsc2UpLm1hcCh4ID0+IHgucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGlkZGVuUXVlc3Rpb25JZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdoaWRkZW5RdWVzdGlvbklkcycsIGhpZGRlblF1ZXN0aW9uSWRzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc1Nob3coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkczogaGlkZGVuUXVlc3Rpb25JZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkUXVlc3Rpb25JZHMgPSB0b2dnbGVEaXNhYmxlZFF1ZXN0aW9uSWRzLmZpbHRlcih4ID0+IHguaXNEaXNhYmxlZCA9PSB0cnVlKS5tYXAoeCA9PiB4LnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkUXVlc3Rpb25JZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkaXNhYmxlZFF1ZXN0aW9uSWRzJywgZGlzYWJsZWRRdWVzdGlvbklkcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNEaXNhYmxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZHM6IGRpc2FibGVkUXVlc3Rpb25JZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5hYmxlZFF1ZXN0aW9uSWRzID0gdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gZmFsc2UpLm1hcCh4ID0+IHgucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZW5hYmxlZFF1ZXN0aW9uSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZW5hYmxlZFF1ZXN0aW9uSWRzJywgZW5hYmxlZFF1ZXN0aW9uSWRzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkczogZW5hYmxlZFF1ZXN0aW9uSWRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pXHJcbiAgICAgICAgICAgIH0pKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XHJcblxyXG4gICAgbG9hZEluc3RpdHV0aW9uQXJyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgICAgIHRoaXMuX2FjdGlvbnMucGlwZShvZlR5cGUoc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnIpLCB3aXRoTGF0ZXN0RnJvbSh0aGlzLl9zdG9yZS5zZWxlY3Qoc3VydmV5U2VsZWN0b3JzLmluc3RpdHV0aW9uQXJyKSlcclxuICAgICAgICAgICAgLCBmaWx0ZXIoKFthY3Rpb24sIGluc3RpdHV0aW9uQXJyXSkgPT4gaW5zdGl0dXRpb25BcnIubGVuZ3RoID09IDApLCBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0QWxsSW5zdGl0dXRpb25zKCkucGlwZShtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdXJ2ZXlBY3Rpb25zLmxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MoeyBpbnN0aXR1dGlvbkFycjogcmVzLnJlc3BvbnNlRGV0YWlscyB9KTtcclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICB9KSkpO1xyXG59XHJcblxyXG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBSS9FLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLFFBQWlCLEVBQVUsTUFBYSxFQUNoRCxxQkFBMkMsRUFBVSxXQUF1QjtRQURwRSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNoRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFHeEYsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENB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dWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSBcIkBuZ3J4L2VmZmVjdHNcIjtcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgd2l0aExhdGVzdEZyb20sIGZpbHRlciwgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gXCIuL3N1cnZleS5hY3Rpb25cIjtcclxuaW1wb3J0IHsgQ2hlY2tSdWxlRXhwc1VzZWNhc2UgfSBmcm9tIFwiLi4vLi4vLi4vdXNlY2FzZXMvY2hlY2stcnVsZS1leHBzLnVzZWNhc2VcIjtcclxuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSBcIi4vc3VydmV5LnNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSBcIi4vcXVlc3Rpb24uc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgTG9naWNBY3Rpb25FbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9sb2dpYy1hY3Rpb24uZW51bVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3VydmV5RWZmZWN0cyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIF9zdG9yZTogU3RvcmUsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hlY2tSdWxlRXhwc1VzZWNhc2U6IENoZWNrUnVsZUV4cHNVc2VjYXNlLCBwcml2YXRlIF9hcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5waXBlKG9mVHlwZShzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKSwgd2l0aExhdGVzdEZyb20odGhpcy5fc3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5ydWxlQXJyKVxyXG4gICAgICAgICAgICAsIHRoaXMuX3N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5hbGxRdWVzdGlvbnMpKSwgc3dpdGNoTWFwKChbYWN0aW9uLCBydWxlQXJyLCBxdWVzdGlvbkFycl0pID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBmb3JtYXRlZFJ1bGVBcnI6IHsgcnVsZUlkOiBhbnksIHF1ZXN0aW9uSWQ6IGFueSB9W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIHJ1bGVBcnIuZm9yRWFjaChydWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVFeHBzLmZvckVhY2gocnVsZVF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ZWRSdWxlQXJyLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZUlkOiBydWxlLnJ1bGVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJ1bGVRdWVzdGlvbi5xdWVzdGlvbklkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkUnVsZUlkQXJyID0gZm9ybWF0ZWRSdWxlQXJyLmZpbHRlcih4ID0+IHgucXVlc3Rpb25JZCA9PSBhY3Rpb24ucXVlc3Rpb25JZCkubWFwKHggPT4gTnVtYmVyKHgucnVsZUlkKSk7XHJcbiAgICAgICAgICAgICAgICB2YXIgYXJyID0gcnVsZUFyci5maWx0ZXIoeCA9PiBzZWxlY3RlZFJ1bGVJZEFyci5maW5kKGMgPT4gYyA9PSB4LnJ1bGVJZCkgIT0gbnVsbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHRvZ2dsZVNob3dlZFF1ZXN0aW9uSWRzOiB7IHF1ZXN0aW9uSWQ6IGFueSwgaXNTaG93OiBib29sZWFuIH1bXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHM6IHsgcXVlc3Rpb25JZDogYW55LCBpc0Rpc2FibGVkOiBib29sZWFuIH1bXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgYXJyLmZvckVhY2gocnVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tSdWxlRXhwc1VzZWNhc2UuZXhlY3V0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVFeHBzOiBydWxlLnJ1bGVFeHBzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbnM6IHF1ZXN0aW9uQXJyLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzUGFzc2VkID0gcmVzdWx0LmV4cHJlc3Rpb25SZXN1bHRBcnIuZmlsdGVyKHggPT4geCA9PSBmYWxzZSkubGVuZ3RoID09IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Bhc3NlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5ydWxlUmVzdWx0UXVlc3Rpb25zLmZvckVhY2gocmVzdWx0UXVlc3Rpb24gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uSGlkZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzRGlzYWJsZWQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS5sb2dpY0FjdGlvbklkID09IExvZ2ljQWN0aW9uRW51bS5EaXNhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzRGlzYWJsZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNldEFuc3dlcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gcXVlc3Rpb25BcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXN1bHRRdWVzdGlvbi5xdWVzdGlvbklkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91cGRhdGUgbWF0cml4IHN1YiBxdWVzdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4ICYmIHF1ZXN0aW9uLmlzUXVlc3Rpb25Hcm91cCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdWJRdWVzdGlvbnMgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkhpZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogZmFsc2UgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkRpc2FibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVEaXNhYmxlZFF1ZXN0aW9uSWRzLnB1c2goeyBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLCBpc0Rpc2FibGVkOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVSZXN1bHRRdWVzdGlvbnMuZm9yRWFjaChyZXN1bHRRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBxdWVzdGlvbkFyci5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxdWVzdGlvbi5pc1Nob3cgIT0gcXVlc3Rpb24uaXNTaG93X2RlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93X2RlZmF1bHQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24uaXNEaXNhYmxlZCAhPSBxdWVzdGlvbi5pc0Rpc2FibGVkX2RlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0IH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCAmJiBxdWVzdGlvbi5pc1F1ZXN0aW9uR3JvdXAgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3ViUXVlc3Rpb25zID0gcXVlc3Rpb25BcnIuZmlsdGVyKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IHF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJRdWVzdGlvbnMuZm9yRWFjaChzdWJRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3ViUXVlc3Rpb24uaXNTaG93ICE9IHN1YlF1ZXN0aW9uLmlzU2hvd19kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHN1YlF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogc3ViUXVlc3Rpb24uaXNTaG93X2RlZmF1bHQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YlF1ZXN0aW9uLmlzRGlzYWJsZWQgIT0gc3ViUXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0IH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgaGlkZGVuUXVlc3Rpb25JZHMgPSB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5maWx0ZXIoeCA9PiB4LmlzU2hvdyA9PSBmYWxzZSkubWFwKHggPT4geC5xdWVzdGlvbklkKTtcclxuICAgICAgICAgICAgICAgIGlmIChoaWRkZW5RdWVzdGlvbklkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2hpZGRlblF1ZXN0aW9uSWRzJywgaGlkZGVuUXVlc3Rpb25JZHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zU2hvdyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWRzOiBoaWRkZW5RdWVzdGlvbklkcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTaG93OiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBzaG93ZWRRdWVzdGlvbklkcyA9IHRvZ2dsZVNob3dlZFF1ZXN0aW9uSWRzLmZpbHRlcih4ID0+IHguaXNTaG93ID09IHRydWUpLm1hcCh4ID0+IHgucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2hvd2VkUXVlc3Rpb25JZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdzaG93ZWRRdWVzdGlvbklkcycsIHNob3dlZFF1ZXN0aW9uSWRzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc1Nob3coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkczogc2hvd2VkUXVlc3Rpb25JZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBkaXNhYmxlZFF1ZXN0aW9uSWRzID0gdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gdHJ1ZSkubWFwKHggPT4geC5xdWVzdGlvbklkKTtcclxuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZFF1ZXN0aW9uSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZGlzYWJsZWRRdWVzdGlvbklkcycsIGRpc2FibGVkUXVlc3Rpb25JZHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zRGlzYWJsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWRzOiBkaXNhYmxlZFF1ZXN0aW9uSWRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGVuYWJsZWRRdWVzdGlvbklkcyA9IHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMuZmlsdGVyKHggPT4geC5pc0Rpc2FibGVkID09IGZhbHNlKS5tYXAoeCA9PiB4LnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGVuYWJsZWRRdWVzdGlvbklkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2VuYWJsZWRRdWVzdGlvbklkcycsIGVuYWJsZWRRdWVzdGlvbklkcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNEaXNhYmxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZHM6IGVuYWJsZWRRdWVzdGlvbklkcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKVxyXG4gICAgICAgICAgICB9KSksIHsgZGlzcGF0Y2g6IGZhbHNlIH0pO1xyXG5cclxuICAgIGxvYWRJbnN0aXR1dGlvbkFyciQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cclxuICAgICAgICB0aGlzLl9hY3Rpb25zLnBpcGUob2ZUeXBlKHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyKSwgd2l0aExhdGVzdEZyb20odGhpcy5fc3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5pbnN0aXR1dGlvbkFycikpXHJcbiAgICAgICAgICAgICwgZmlsdGVyKChbYWN0aW9uLCBpbnN0aXR1dGlvbkFycl0pID0+IGluc3RpdHV0aW9uQXJyLmxlbmd0aCA9PSAwKSwgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldEFsbEluc3RpdHV0aW9ucygpLnBpcGUobWFwKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnJTdWNjZXNzKHsgaW5zdGl0dXRpb25BcnI6IHJlcy5yZXNwb25zZURldGFpbHMgfSk7XHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgfSkpKTtcclxufVxyXG5cclxuIl19
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
52
52
  type: Inject,
53
53
  args: [LibConfigService]
54
54
  }] }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWlCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLDJCQUEyQixXQUFXLEVBQUUsRUFDckcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCLENBQUUsTUFBK0I7UUFDakQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLDhCQUE4QixXQUFXLEVBQUUsRUFDM0csRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsa0NBQWtDLEVBQ25HLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG1DQUFtQyxDQUFDLE1BQXlFO1FBQzNHLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBNkMsR0FBRyxJQUFJLENBQUMsR0FBRywyQ0FBMkMsV0FBVyxFQUFFLEVBQzFJLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxRDtRQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsNkJBQTZCLFdBQVcsRUFBRSxFQUNqSCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBZ0Y7UUFDOUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLDZCQUE2QixXQUFXLEVBQUUsRUFDbEgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQWlGO1FBQy9GLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyw2QkFBNkIsV0FBVyxFQUFFLEVBQ2xILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFpRjtRQUM5RixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsNkJBQTZCLFdBQVcsRUFBRSxFQUNsSCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBckRVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0LCBHZXROZXh0UXVlc3Rpb25SZXN1bHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcmVzdWx0cy9hcGkucmVzdWx0JztcclxuaW1wb3J0IHsgUmVzdWx0RHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvYmFzZS9yZXN1bHQuZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkJyYW5jaER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLWJyYW5jaC5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkNvbGxhZ2VEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1jb2xsYWdlLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uU2VjdGlvbkR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXNlY3Rpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Qcm9ncmFtRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8nO1xyXG5pbXBvcnQgeyBQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvcHJvZ3JhbXMtcmVsYXRlZC10by1pbnN0aXR1dGlvbi5kdG8nO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfSHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoTGliQ29uZmlnU2VydmljZSkgcHJpdmF0ZSBfTGliQ29uZmlnU2VydmljZTogTGliQ29uZmlnTW9kZWwpIHtcclxuICAgIHRoaXMudXJsID0gX0xpYkNvbmZpZ1NlcnZpY2UuYXBpVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV4dFF1ZXN0aW9uKGZpbHRlcjogeyBhbnN3ZXJJZCwgc3VydmV5TGFuZ3VhZ2VJZCwgYXBwbGljYW50S2V5LCBpc1ByZSB9KTogT2JzZXJ2YWJsZTxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+IHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+KGAke3RoaXMudXJsfS9TdXJ2ZXkvR2V0TmV4dFF1ZXN0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNPdGhlclF1ZXN0aW9uIChmaWx0ZXI6IHsgcGFyZW50UUlkICwgZ3JvdXBJZCB9KTogT2JzZXJ2YWJsZTxHZXRJc090aGVyUXVlc3Rpb25SZXN1bHQ+IHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxHZXRJc090aGVyUXVlc3Rpb25SZXN1bHQ+KGAke3RoaXMudXJsfS9TdXJ2ZXkvR2V0SXNPdGhlclF1ZXN0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsSW5zdGl0dXRpb25zKCApIHtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25EdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldEFsbEluc3RpdHV0aW9uc2AsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbFByb2dyYW1zUmVsYXRlZFRvSW5zdGl0dXRpb25zKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsZ2VuZXJhdGVkSWQ6c3RyaW5nLHJlcXVlc3RUaW1lc3RhbXA6c3RyaW5nIH0gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPFByb2dyYW1zUmVsYXRlZFRvSW5zdGl0dXRpb25EdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldFByb2dyYW1zRm9ySW5zdGl0dXRpb24/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxCcmFuY2hlcyhmaWx0ZXI6e3N1Ym1pc3Npb25JZDpzdHJpbmcgLHJlcXVlc3RUaW1lc3RhbXA6c3RyaW5nfSApIHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25CcmFuY2hEdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldEJyYW5jaGVzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ29sbGFnZXMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsYnJhbmNoU3VibWlzc2lvbklkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQ29sbGFnZUR0bz4+KGAke3RoaXMudXJsfS9JbnN0aXR1dGlvbnMvR2V0Q29sbGFnZXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxTZWN0aW9ucyggZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxjb2xsYWdlU3VibWlzc2lvbklkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uU2VjdGlvbkR0bz4+KGAke3RoaXMudXJsfS9JbnN0aXR1dGlvbnMvR2V0U2VjdGlvbnM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxQcm9ncmFtcyhmaWx0ZXI6e3N1Ym1pc3Npb25JZDpzdHJpbmcgLHNlY3Rpb25HZW5lcmF0ZWRLZXk6c3RyaW5nLHJlcXVlc3RUaW1lc3RhbXA6c3RyaW5nIH0gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uUHJvZ3JhbUR0bz4+KGAke3RoaXMudXJsfS9JbnN0aXR1dGlvbnMvR2V0UHJvZ3JhbXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWlCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLDJCQUEyQixXQUFXLEVBQUUsRUFDckcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCLENBQUUsTUFBOEQ7UUFDaEYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUEyQixHQUFHLElBQUksQ0FBQyxHQUFHLDhCQUE4QixXQUFXLEVBQUUsRUFDM0csRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsa0NBQWtDLEVBQ25HLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG1DQUFtQyxDQUFDLE1BQXlFO1FBQzNHLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBNkMsR0FBRyxJQUFJLENBQUMsR0FBRywyQ0FBMkMsV0FBVyxFQUFFLEVBQzFJLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxRDtRQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsNkJBQTZCLFdBQVcsRUFBRSxFQUNqSCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBZ0Y7UUFDOUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLDZCQUE2QixXQUFXLEVBQUUsRUFDbEgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQWlGO1FBQy9GLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyw2QkFBNkIsV0FBVyxFQUFFLEVBQ2xILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFpRjtRQUM5RixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsNkJBQTZCLFdBQVcsRUFBRSxFQUNsSCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBckRVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0LCBHZXROZXh0UXVlc3Rpb25SZXN1bHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvcmVzdWx0cy9hcGkucmVzdWx0JztcclxuaW1wb3J0IHsgUmVzdWx0RHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvYmFzZS9yZXN1bHQuZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkJyYW5jaER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLWJyYW5jaC5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkNvbGxhZ2VEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1jb2xsYWdlLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uU2VjdGlvbkR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXNlY3Rpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Qcm9ncmFtRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tcHJvZ3JhbS5kdG8nO1xyXG5pbXBvcnQgeyBQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvcHJvZ3JhbXMtcmVsYXRlZC10by1pbnN0aXR1dGlvbi5kdG8nO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIHVybDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfSHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoTGliQ29uZmlnU2VydmljZSkgcHJpdmF0ZSBfTGliQ29uZmlnU2VydmljZTogTGliQ29uZmlnTW9kZWwpIHtcclxuICAgIHRoaXMudXJsID0gX0xpYkNvbmZpZ1NlcnZpY2UuYXBpVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV4dFF1ZXN0aW9uKGZpbHRlcjogeyBhbnN3ZXJJZCwgc3VydmV5TGFuZ3VhZ2VJZCwgYXBwbGljYW50S2V5LCBpc1ByZSB9KTogT2JzZXJ2YWJsZTxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+IHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxHZXROZXh0UXVlc3Rpb25SZXN1bHQ+KGAke3RoaXMudXJsfS9TdXJ2ZXkvR2V0TmV4dFF1ZXN0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNPdGhlclF1ZXN0aW9uIChmaWx0ZXI6IHsgcGFyZW50UUlkICwgZ3JvdXBJZCAsIHN1cnZleUxhbmd1YWdlSWQgLCBzdXJ2ZXlLZXkgfSk6IE9ic2VydmFibGU8R2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0SXNPdGhlclF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vU3VydmV5L0dldElzT3RoZXJRdWVzdGlvbj8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbEluc3RpdHV0aW9ucyggKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRBbGxJbnN0aXR1dGlvbnNgLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9ucyhmaWx0ZXI6e3N1Ym1pc3Npb25JZDpzdHJpbmcgLGdlbmVyYXRlZElkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9uRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRQcm9ncmFtc0Zvckluc3RpdHV0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQnJhbmNoZXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZ30gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQnJhbmNoRHRvPj4oYCR7dGhpcy51cmx9L0luc3RpdHV0aW9ucy9HZXRCcmFuY2hlcz8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbENvbGxhZ2VzKCBmaWx0ZXI6e3N1Ym1pc3Npb25JZDpzdHJpbmcgLGJyYW5jaFN1Ym1pc3Npb25JZDpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkNvbGxhZ2VEdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldENvbGxhZ2VzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VjdGlvbnMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsY29sbGFnZVN1Ym1pc3Npb25JZDpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblNlY3Rpb25EdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldFNlY3Rpb25zPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUHJvZ3JhbXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxzZWN0aW9uR2VuZXJhdGVkS2V5OnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblByb2dyYW1EdG8+PihgJHt0aGlzLnVybH0vSW5zdGl0dXRpb25zL0dldFByb2dyYW1zPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -14,6 +14,7 @@ export class SurveyLibService {
14
14
  constructor(_Store) {
15
15
  this._Store = _Store;
16
16
  this.reloadSurveySubject = new Subject();
17
+ this.questionsWithErrors = [];
17
18
  }
18
19
  setSurveyData(survey) {
19
20
  var questionArr = [];
@@ -81,6 +82,12 @@ export class SurveyLibService {
81
82
  }
82
83
  addQuestion(question, pageIndex, questionGroupId) {
83
84
  var questionArr = [];
85
+ if (question.surveyAnswers?.length == 0 || question.surveyAnswers == null) {
86
+ debugger;
87
+ this.questionsWithErrors.push(question);
88
+ console.error("Question has no erros", this.questionsWithErrors);
89
+ return questionArr;
90
+ }
84
91
  var questionNgrxModel = {
85
92
  surveyPageId: pageIndex,
86
93
  questionId: question.questionId,
@@ -170,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
170
177
  providedIn: 'root'
171
178
  }]
172
179
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUloRCxPQUFPLEVBQUUsRUFBRSxJQUFJLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFLN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBb0IsTUFBYTtRQUFiLFdBQU0sR0FBTixNQUFNLENBQU87UUFOekIsd0JBQW1CLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7SUFNaEMsQ0FBQztJQUV0QyxhQUFhLENBQUMsTUFBaUI7UUFDN0IsSUFBSSxXQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLGdCQUFnQixHQUE2QixFQUFFLENBQUM7UUFFcEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEMsZ0JBQWdCLENBQUMs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OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXkuZHRvJztcclxuaW1wb3J0IHsgc3VydmV5QW5zd2Vyc1N1YmplY3REdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2Vycy1zdWJqZWN0LmR0byc7XHJcbmltcG9ydCB7IFN1cnZleUxhbmd1YWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWxhbmd1YWdlLmR0byc7XHJcbmltcG9ydCB7IHY0IGFzIGd1aWRHZW5lcmF0b3IgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LmFjdGlvbic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWwgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eSc7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRXZhbHVhdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL2V2YWx1YXRpb24tdHlwZS5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1cnZleUxpYlNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHJlbG9hZFN1cnZleVN1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgZ2V0IHJlbG9hZFN1cnZleU9ic3J2KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVsb2FkU3VydmV5U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX1N0b3JlOiBTdG9yZSkgeyB9XHJcblxyXG4gIHNldFN1cnZleURhdGEoc3VydmV5OiBTdXJ2ZXlEdG8pIHtcclxuICAgIHZhciBxdWVzdGlvbkFycjogUXVlc3Rpb25OZ3J4TW9kZWxbXSA9IFtdO1xyXG4gICAgdmFyIHF1ZXN0aW9uR3JvdXBBcnI6IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWxbXSA9IFtdO1xyXG5cclxuICAgIHN1cnZleS5zdXJ2ZXlQYWdlcy5mb3JFYWNoKChwYWdlLCBwYWdlSW5kZXgpID0+IHtcclxuICAgICAgcGFnZS5zdXJ2ZXlRdWVzdGlvbkdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgICBxdWVzdGlvbkdyb3VwQXJyLnB1c2goe1xyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiBncm91cC5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwTmFtZTogZ3JvdXAucXVlc3Rpb25Hcm91cE5hbWUsXHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwRGVzY3JpcHRpb246IGdyb3VwLnF1ZXN0aW9uR3JvdXBEZXNjcmlwdGlvbixcclxuICAgICAgICAgIHN1cnZleVBhZ2VJZDogcGFnZS5wYWdlSWRcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZ3JvdXAuc3VydmV5UXVlc3Rpb25zLmZvckVhY2gocXVlc3Rpb24gPT4ge1xyXG4gICAgICAgICAgdmFyIG5ld1F1ZXN0aW9ucyA9IHRoaXMuYWRkUXVlc3Rpb24ocXVlc3Rpb24sIHBhZ2UucGFnZUlkLCBncm91cC5xdWVzdGlvbkdyb3VwSWQpXHJcbiAgICAgICAgICBxdWVzdGlvbkFyci5wdXNoKC4uLm5ld1F1ZXN0aW9ucyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHZhciBwYWdlSWRBcnIgPSBzdXJ2ZXkuc3VydmV5UGFnZXMubWFwKHggPT4geC5wYWdlSWQpO1xyXG5cclxuICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMubG9hZFN1cnZleSh7XHJcbiAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFycixcclxuICAgICAgcnVsZUFycjogc3VydmV5LnN1cnZleVJ1bGVzLFxyXG4gICAgICBxdWVzdGlvbkdyb3VwQXJyOiBxdWVzdGlvbkdyb3VwQXJyLFxyXG4gICAgICBzZWxlY3RlZFBhZ2VJZDogTWF0aC5taW4oLi4ucGFnZUlkQXJyKVxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgc2V0c3VydmV5QW5zd2Vycyhtb2RlbDogc3VydmV5QW5zd2Vyc1N1YmplY3REdG8pIHtcclxuXHJcbiAgICBtb2RlbC5kZWZhdWx0QW5zd2Vycy5mb3JFYWNoKGFuc3dlciA9PiB7XHJcblxyXG4gICAgICBpZiAoYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCB8fFxyXG4gICAgICAgIGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5GZWVkQmFjaykge1xyXG5cclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGFuc3dlci5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgYW5zd2VyOiBhbnN3ZXIuQW5zd2VyVGV4dCxcclxuICAgICAgICAgIGlzVmFsaWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkNoZWNrQm94XHJcbiAgICAgICAgfHwgYW5zd2VyLlF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkRyb3BEb3duTXVsdGkpIHtcclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGFuc3dlci5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgYW5zd2VyOiBhbnN3ZXIuQW5zd2VySWRBcnIsXHJcbiAgICAgICAgICBpc1ZhbGlkOiB0cnVlXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogYW5zd2VyLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBhbnN3ZXI6IGFuc3dlci5BbnN3ZXJUZXh0LFxyXG4gICAgICAgICAgYW5zd2VySWQ6IGFuc3dlci5BbnN3ZXJJZCxcclxuICAgICAgICAgIGFuc3dlckxldmVsSWQ6IGFuc3dlci5BbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgaXNWYWxpZDogdHJ1ZVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlcih7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOiBhbnN3ZXIuUXVlc3Rpb25JZCxcclxuICAgICAgICAgIGFuc3dlcjogYW5zd2VyLkFuc3dlcklkLFxyXG4gICAgICAgICAgaXNWYWxpZDogdHJ1ZVxyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHNldFJlbG9hZFN1cnZleSgpIHtcclxuICAgIHRoaXMucmVsb2FkU3VydmV5U3ViamVjdC5uZXh0KGd1aWRHZW5lcmF0b3IoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFF1ZXN0aW9uKHF1ZXN0aW9uOiBTdXJ2ZXlRdWVzdGlvbkR0bywgcGFnZUluZGV4OiBudW1iZXIsIHF1ZXN0aW9uR3JvdXBJZDogbnVtYmVyKTogUXVlc3Rpb25OZ3J4TW9kZWxbXSB7XHJcbiAgICB2YXIgcXVlc3Rpb25BcnI6IFF1ZXN0aW9uTmdyeE1vZGVsW10gPSBbXTtcclxuXHJcbiAgICB2YXIgcXVlc3Rpb25OZ3J4TW9kZWw6IFF1ZXN0aW9uTmdyeE1vZGVsID0ge1xyXG4gICAgICBzdXJ2ZXlQYWdlSWQ6IHBhZ2VJbmRleCxcclxuICAgICAgcXVlc3Rpb25JZDogcXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgcXVlc3Rpb25UeXBlOiBxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgaW5wdXRUeXBlSWQ6IHF1ZXN0aW9uLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQsXHJcbiAgICAgIGlzUXVlc3Rpb25Hcm91cDogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5NYXRyaXggfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMsXHJcbiAgICAgIGFuc3dlcklkOiBudWxsLFxyXG4gICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgaXNSZXF1aXJlZDogcXVlc3Rpb24uaXNSZXF1aXJlZCxcclxuICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgaXNTaG93OiBxdWVzdGlvbi5pc1Zpc2FibGUsXHJcbiAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgaXNTaG93X2RlZmF1bHQ6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgcXVlc3Rpb25Hcm91cElkOiBxdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG51bGwsXHJcbiAgICAgIG1heExldmVsVmFsdWU6IG51bGwsXHJcbiAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcXVlc3Rpb24sXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCA9PSBRdWVzdGlvblR5cGVFbnVtLkZlZWRCYWNrKSB7XHJcbiAgICAgIGlmIChxdWVzdGlvbi5zdXJ2ZXlBbnN3ZXJzWzBdLmV2YWx1YXRpb25UeXBlSWQgPT0gRXZhbHVhdGlvblR5cGVFbnVtLlN0YXJzKSB7XHJcbiAgICAgICAgcXVlc3Rpb25OZ3J4TW9kZWwuaW5wdXRUeXBlSWQgPSBJbnB1dFR5cGVFbnVtLlN0YXJzXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAocXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5ldmFsdWF0aW9uVHlwZUlkID09IEV2YWx1YXRpb25UeXBlRW51bS5QYWdpbmF0aW9uKSB7XHJcbiAgICAgICAgcXVlc3Rpb25OZ3J4TW9kZWwuaW5wdXRUeXBlSWQgPSBJbnB1dFR5cGVFbnVtLlBhZ2luYXRpb25cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHF1ZXN0aW9uQXJyLnB1c2gocXVlc3Rpb25OZ3J4TW9kZWwpO1xyXG5cclxuICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCkge1xyXG4gICAgICBxdWVzdGlvbi5zdXJ2ZXlTdWJRdWVzdGlvbnMuZm9yRWFjaChzdWJRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgcXVlc3Rpb25BcnIucHVzaCh7XHJcbiAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHBhZ2VJbmRleCxcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IHN1YlF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBxdWVzdGlvblR5cGU6IHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgaW5wdXRUeXBlSWQ6IHF1ZXN0aW9uLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQsXHJcbiAgICAgICAgICBpc1F1ZXN0aW9uR3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvbi5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiBxdWVzdGlvbi5pc1Zpc2FibGUsXHJcbiAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBxdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiBxdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHF1ZXN0aW9uLFxyXG4gICAgICAgICAgbWF4TGV2ZWxWYWx1ZTogbnVsbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgcXVlc3Rpb25OZ3J4TW9kZWwubWF4TGV2ZWxWYWx1ZSA9IHF1ZXN0aW9uLm1heExldmVsVmFsdWU7XHJcblxyXG4gICAgICBxdWVzdGlvbi5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVscy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICBxdWVzdGlvbkFyci5wdXNoKHtcclxuICAgICAgICAgIHN1cnZleVBhZ2VJZDogcGFnZUluZGV4LFxyXG4gICAgICAgICAgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICBpbnB1dFR5cGVJZDogcXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgIGlzUXVlc3Rpb25Hcm91cDogZmFsc2UsXHJcbiAgICAgICAgICBhbnN3ZXJJZDogbnVsbCxcclxuICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgICAgIGlzUmVxdWlyZWQ6IHN1YlF1ZXN0aW9uLmxldmVsID09IDEgPyBxdWVzdGlvbi5pc1JlcXVpcmVkIDogZmFsc2UsXHJcbiAgICAgICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgICAgIGlzU2hvdzogcXVlc3Rpb24uaXNWaXNhYmxlLFxyXG4gICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiBxdWVzdGlvbi5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IHF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcXVlc3Rpb24sXHJcbiAgICAgICAgICBtYXhMZXZlbFZhbHVlOiBudWxsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBxdWVzdGlvbkFycjtcclxuICB9XHJcbn1cclxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUloRCxPQUFPLEVBQUUsRUFBRSxJQUFJLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFLN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBb0IsTUFBYTtRQUFiLFdBQU0sR0FBTixNQUFNLENBQU87UUFQekIsd0JBQW1CLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDOUQsd0JBQW1CLEdBQVcsRUFBRSxDQUFDO0lBTUgsQ0FBQztJQUV0QyxhQUFhLENBQUMsTUFBaUI7UUFDN0IsSUFBSSxXQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLGdCQUFnQixHQUE2QixFQUFFLENBQUM7UUFFcEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENB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QWtCLEVBQUUsUUFBUSxDQUFDLFVBQVU7b0JBQ3ZDLGNBQWMsRUFBRSxRQUFRLENBQUMsU0FBUztvQkFDbEMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLFVBQVU7b0JBQ3JDLGVBQWUsRUFBRSxlQUFlO29CQUNoQyxlQUFlLEVBQUUsUUFBUTtvQkFDekIsYUFBYSxFQUFFLElBQUk7aUJBQ3BCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzhHQXRMVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXkuZHRvJztcclxuaW1wb3J0IHsgc3VydmV5QW5zd2Vyc1N1YmplY3REdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2Vycy1zdWJqZWN0LmR0byc7XHJcbmltcG9ydCB7IFN1cnZleUxhbmd1YWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWxhbmd1YWdlLmR0byc7XHJcbmltcG9ydCB7IHY0IGFzIGd1aWRHZW5lcmF0b3IgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LmFjdGlvbic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWwgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eSc7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgRXZhbHVhdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL2V2YWx1YXRpb24tdHlwZS5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1cnZleUxpYlNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHJlbG9hZFN1cnZleVN1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuIHByaXZhdGUgcXVlc3Rpb25zV2l0aEVycm9ycyA6IGFueVtdID0gW107XHJcblxyXG4gIGdldCByZWxvYWRTdXJ2ZXlPYnNydigpIHtcclxuICAgIHJldHVybiB0aGlzLnJlbG9hZFN1cnZleVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9TdG9yZTogU3RvcmUpIHsgfVxyXG5cclxuICBzZXRTdXJ2ZXlEYXRhKHN1cnZleTogU3VydmV5RHRvKSB7XHJcbiAgICB2YXIgcXVlc3Rpb25BcnI6IFF1ZXN0aW9uTmdyeE1vZGVsW10gPSBbXTtcclxuICAgIHZhciBxdWVzdGlvbkdyb3VwQXJyOiBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsW10gPSBbXTtcclxuXHJcbiAgICBzdXJ2ZXkuc3VydmV5UGFnZXMuZm9yRWFjaCgocGFnZSwgcGFnZUluZGV4KSA9PiB7XHJcbiAgICAgIHBhZ2Uuc3VydmV5UXVlc3Rpb25Hcm91cHMuZm9yRWFjaChncm91cCA9PiB7XHJcbiAgICAgICAgcXVlc3Rpb25Hcm91cEFyci5wdXNoKHtcclxuICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogZ3JvdXAucXVlc3Rpb25Hcm91cElkLFxyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cE5hbWU6IGdyb3VwLnF1ZXN0aW9uR3JvdXBOYW1lLFxyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cERlc2NyaXB0aW9uOiBncm91cC5xdWVzdGlvbkdyb3VwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHBhZ2UucGFnZUlkXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGdyb3VwLnN1cnZleVF1ZXN0aW9ucy5mb3JFYWNoKHF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgIHZhciBuZXdRdWVzdGlvbnMgPSB0aGlzLmFkZFF1ZXN0aW9uKHF1ZXN0aW9uLCBwYWdlLnBhZ2VJZCwgZ3JvdXAucXVlc3Rpb25Hcm91cElkKVxyXG4gICAgICAgICAgcXVlc3Rpb25BcnIucHVzaCguLi5uZXdRdWVzdGlvbnMpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB2YXIgcGFnZUlkQXJyID0gc3VydmV5LnN1cnZleVBhZ2VzLm1hcCh4ID0+IHgucGFnZUlkKTtcclxuXHJcbiAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLmxvYWRTdXJ2ZXkoe1xyXG4gICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BcnIsXHJcbiAgICAgIHJ1bGVBcnI6IHN1cnZleS5zdXJ2ZXlSdWxlcyxcclxuICAgICAgcXVlc3Rpb25Hcm91cEFycjogcXVlc3Rpb25Hcm91cEFycixcclxuICAgICAgc2VsZWN0ZWRQYWdlSWQ6IE1hdGgubWluKC4uLnBhZ2VJZEFycilcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHNldHN1cnZleUFuc3dlcnMobW9kZWw6IHN1cnZleUFuc3dlcnNTdWJqZWN0RHRvKSB7XHJcblxyXG4gICAgbW9kZWwuZGVmYXVsdEFuc3dlcnMuZm9yRWFjaChhbnN3ZXIgPT4ge1xyXG5cclxuICAgICAgaWYgKGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQgfHxcclxuICAgICAgICBhbnN3ZXIuUXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmVlZEJhY2spIHtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlcih7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOiBhbnN3ZXIuUXVlc3Rpb25JZCxcclxuICAgICAgICAgIGFuc3dlcjogYW5zd2VyLkFuc3dlclRleHQsXHJcbiAgICAgICAgICBpc1ZhbGlkOiB0cnVlXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5DaGVja0JveFxyXG4gICAgICAgIHx8IGFuc3dlci5RdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5Ecm9wRG93bk11bHRpKSB7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlcih7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOiBhbnN3ZXIuUXVlc3Rpb25JZCxcclxuICAgICAgICAgIGFuc3dlcjogYW5zd2VyLkFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgaXNWYWxpZDogdHJ1ZVxyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChhbnN3ZXIuUXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uSW5zdGl0dXRpb25zKSB7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGFuc3dlci5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgYW5zd2VyOiBhbnN3ZXIuQW5zd2VyVGV4dCxcclxuICAgICAgICAgIGFuc3dlcklkOiBhbnN3ZXIuQW5zd2VySWQsXHJcbiAgICAgICAgICBhbnN3ZXJMZXZlbElkOiBhbnN3ZXIuQW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgIGlzVmFsaWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogYW5zd2VyLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBhbnN3ZXI6IGFuc3dlci5BbnN3ZXJJZCxcclxuICAgICAgICAgIGlzVmFsaWQ6IHRydWVcclxuICAgICAgICB9KSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZXRSZWxvYWRTdXJ2ZXkoKSB7XHJcbiAgICB0aGlzLnJlbG9hZFN1cnZleVN1YmplY3QubmV4dChndWlkR2VuZXJhdG9yKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRRdWVzdGlvbihxdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG8sIHBhZ2VJbmRleDogbnVtYmVyLCBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcik6IFF1ZXN0aW9uTmdyeE1vZGVsW10ge1xyXG4gICAgdmFyIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbk5ncnhNb2RlbFtdID0gW107XHJcblxyXG4gICAgaWYgKHF1ZXN0aW9uLnN1cnZleUFuc3dlcnM/Lmxlbmd0aCA9PSAwIHx8IHF1ZXN0aW9uLnN1cnZleUFuc3dlcnMgPT0gbnVsbCkge1xyXG4gICAgICBkZWJ1Z2dlcjtcclxuICAgICAgdGhpcy5xdWVzdGlvbnNXaXRoRXJyb3JzLnB1c2gocXVlc3Rpb24pO1xyXG5jb25zb2xlLmVycm9yKFwiUXVlc3Rpb24gaGFzIG5vIGVycm9zXCIgLHRoaXMucXVlc3Rpb25zV2l0aEVycm9ycyk7XHJcbiAgICAgIHJldHVybiBxdWVzdGlvbkFycjtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgcXVlc3Rpb25OZ3J4TW9kZWw6IFF1ZXN0aW9uTmdyeE1vZGVsID0ge1xyXG4gICAgICBzdXJ2ZXlQYWdlSWQ6IHBhZ2VJbmRleCxcclxuICAgICAgcXVlc3Rpb25JZDogcXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgcXVlc3Rpb25UeXBlOiBxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgaW5wdXRUeXBlSWQ6IHF1ZXN0aW9uLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQsXHJcbiAgICAgIGlzUXVlc3Rpb25Hcm91cDogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5NYXRyaXggfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMsXHJcbiAgICAgIGFuc3dlcklkOiBudWxsLFxyXG4gICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgaXNSZXF1aXJlZDogcXVlc3Rpb24uaXNSZXF1aXJlZCxcclxuICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgaXNTaG93OiBxdWVzdGlvbi5pc1Zpc2FibGUsXHJcbiAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgaXNTaG93X2RlZmF1bHQ6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgcXVlc3Rpb25Hcm91cElkOiBxdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG51bGwsXHJcbiAgICAgIG1heExldmVsVmFsdWU6IG51bGwsXHJcbiAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcXVlc3Rpb24sXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCA9PSBRdWVzdGlvblR5cGVFbnVtLkZlZWRCYWNrKSB7XHJcbiAgICAgIGlmIChxdWVzdGlvbi5zdXJ2ZXlBbnN3ZXJzWzBdLmV2YWx1YXRpb25UeXBlSWQgPT0gRXZhbHVhdGlvblR5cGVFbnVtLlN0YXJzKSB7XHJcbiAgICAgICAgcXVlc3Rpb25OZ3J4TW9kZWwuaW5wdXRUeXBlSWQgPSBJbnB1dFR5cGVFbnVtLlN0YXJzXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAocXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5ldmFsdWF0aW9uVHlwZUlkID09IEV2YWx1YXRpb25UeXBlRW51bS5QYWdpbmF0aW9uKSB7XHJcbiAgICAgICAgcXVlc3Rpb25OZ3J4TW9kZWwuaW5wdXRUeXBlSWQgPSBJbnB1dFR5cGVFbnVtLlBhZ2luYXRpb25cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHF1ZXN0aW9uQXJyLnB1c2gocXVlc3Rpb25OZ3J4TW9kZWwpO1xyXG5cclxuICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGVJZCA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCkge1xyXG4gICAgICBxdWVzdGlvbi5zdXJ2ZXlTdWJRdWVzdGlvbnMuZm9yRWFjaChzdWJRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgcXVlc3Rpb25BcnIucHVzaCh7XHJcbiAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHBhZ2VJbmRleCxcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IHN1YlF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBxdWVzdGlvblR5cGU6IHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgaW5wdXRUeXBlSWQ6IHF1ZXN0aW9uLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQsXHJcbiAgICAgICAgICBpc1F1ZXN0aW9uR3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICBpc1JlcXVpcmVkOiBxdWVzdGlvbi5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiBxdWVzdGlvbi5pc1Zpc2FibGUsXHJcbiAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBxdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiBxdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHF1ZXN0aW9uLFxyXG4gICAgICAgICAgbWF4TGV2ZWxWYWx1ZTogbnVsbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgcXVlc3Rpb25OZ3J4TW9kZWwubWF4TGV2ZWxWYWx1ZSA9IHF1ZXN0aW9uLm1heExldmVsVmFsdWU7XHJcblxyXG4gICAgICBxdWVzdGlvbi5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVscy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICBxdWVzdGlvbkFyci5wdXNoKHtcclxuICAgICAgICAgIHN1cnZleVBhZ2VJZDogcGFnZUluZGV4LFxyXG4gICAgICAgICAgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgIHF1ZXN0aW9uVHlwZTogcXVlc3Rpb24ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICBpbnB1dFR5cGVJZDogcXVlc3Rpb24uc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgIGlzUXVlc3Rpb25Hcm91cDogZmFsc2UsXHJcbiAgICAgICAgICBhbnN3ZXJJZDogbnVsbCxcclxuICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgICAgIGlzUmVxdWlyZWQ6IHN1YlF1ZXN0aW9uLmxldmVsID09IDEgPyBxdWVzdGlvbi5pc1JlcXVpcmVkIDogZmFsc2UsXHJcbiAgICAgICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNSZWFkT25seSxcclxuICAgICAgICAgIGlzU2hvdzogcXVlc3Rpb24uaXNWaXNhYmxlLFxyXG4gICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiBxdWVzdGlvbi5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHF1ZXN0aW9uLmlzVmlzYWJsZSxcclxuICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IHF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcXVlc3Rpb24sXHJcbiAgICAgICAgICBtYXhMZXZlbFZhbHVlOiBudWxsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBxdWVzdGlvbkFycjtcclxuICB9XHJcbn1cclxuIl19