survery-lib 2.1.45 → 2.1.46

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.
@@ -124,6 +124,7 @@ export class QuestionCascadeTemplateComponent {
124
124
  answerId: null,
125
125
  answerIdArr: null,
126
126
  answerText: null,
127
+ answerFile: null,
127
128
  isRequired: res.isRequired,
128
129
  isValid: null,
129
130
  order: res.order,
@@ -205,6 +206,7 @@ export class QuestionCascadeTemplateComponent {
205
206
  answerId: null,
206
207
  answerIdArr: null,
207
208
  answerText: null,
209
+ answerFile: null,
208
210
  isRequired: res.isRequired,
209
211
  order: res.order,
210
212
  isValid: null,
@@ -242,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
242
244
  }], setQuestion: [{
243
245
  type: Input
244
246
  }] } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFNNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQVVELElBQWEsV0FBVyxDQUFDLEtBQXdCO1FBQy9DLElBQUks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QUN0QixRQUFRLEVBQUUsSUFBSTt3QkFDZCxXQUFXLEVBQUUsSUFBSTt3QkFDakIsVUFBVSxFQUFFLElBQUk7d0JBQ2hCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDMUIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO3dCQUNoQixPQUFPLEVBQUUsSUFBSTt3QkFDYixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7d0JBQzFCLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBUzt3QkFDckIsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLFVBQVU7d0JBQ2xDLGNBQWMsRUFBRSxHQUFHLENBQUMsU0FBUzt3QkFDN0IsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO3dCQUNyQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsVUFBVTt3QkFDbEMsZUFBZSxFQUFFLEdBQUc7cUJBQ3JCO2lCQUNGLENBQUMsQ0FBQyxDQUFDO2dCQUVKLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMU9VLGdDQUFnQztrR0FBaEMsZ0NBQWdDLCtRQ3BCN0MsbTNCQWFNOzsyRkRPTyxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsK0JBQStCOzhLQXNCaEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRU8sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2UsIFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1jYXNjYWRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3VydmV5QW5zd2VyRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWFuc3dlci5kdG8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVDb21wb25lbnQge1xyXG4gIHN1cnZleVF1ZXN0aW9uQXJyOiBTdXJ2ZXlRdWVzdGlvbkR0b1tdID0gW107XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyXHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgcGFnZUlkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXBJZDogbnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKSBpc1ByZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cnZleUxhbmd1YWdlSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgc3VydmV5S2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGFwcGxpY2FudEtleTogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBRdWVzdGlvbk5ncnhNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuc3VydmV5UXVlc3Rpb25BcnI/Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKHZhbHVlLnF1ZXN0aW9uQWxsSW5mbyk7XHJcblxyXG4gICAgICBpZiAodmFsdWUuaXNTaG93ID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5pc1Nob3cuc2V0VmFsdWUodmFsdWUuaXNTaG93KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdmFyIGNoaWxkUXVlc3Rpb24xID0gdGhpcy5wYWdlUXVlc3Rpb25zJCgpLmZpbmQoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gdmFsdWUucXVlc3Rpb25JZCk7XHJcbiAgICAgIGlmIChjaGlsZFF1ZXN0aW9uMSkge1xyXG4gICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKGNoaWxkUXVlc3Rpb24xLnF1ZXN0aW9uQWxsSW5mbyk7XHJcblxyXG4gICAgICAgIHZhciBjaGlsZFF1ZXN0aW9uMiA9IHRoaXMucGFnZVF1ZXN0aW9ucyQoKS5maW5kKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IGNoaWxkUXVlc3Rpb24xLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChjaGlsZFF1ZXN0aW9uMikge1xyXG4gICAgICAgICAgdGhpcy5zZXRRdWVzdGlvbnMoY2hpbGRRdWVzdGlvbjIucXVlc3Rpb25BbGxJbmZvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSxcclxuICAgIHByaXZhdGUgX0FwaVNlcnZpY2U6IEFwaVNlcnZpY2UsIHByaXZhdGUgX1N0b3JlOiBTdG9yZSkge1xyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBpc1Nob3c6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIHF1ZXN0aW9uQXJyOiB0aGlzLl9mb3JtQnVpbGRlci5hcnJheTxGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+PihbXSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IHtcclxuICAgIC8vICAgY29uc29sZS5sb2codik7XHJcbiAgICAvLyB9KVxyXG4gIH1cclxuXHJcbiAgb25VcGRhdGVBbnN3ZXIobW9kZWw6IFF1ZXN0aW9uQW5zd2VyTW9kZWwpIHtcclxuICAgIGlmICh0aGlzLnN1cnZleVF1ZXN0aW9uQXJyLmxlbmd0aCA+IDEpIHtcclxuICAgICAgY29uc3Qgc3VydmV5UXVlc3Rpb25JbmRleCA9IHRoaXMuc3VydmV5UXVlc3Rpb25BcnIuZmluZEluZGV4KGMgPT4gYy5xdWVzdGlvbklkID09IG1vZGVsLlF1ZXN0aW9uSWQpO1xyXG5cclxuICAgICAgdmFyIGRlbGV0ZWRRdWVzdGlvbnMgPSBbXVxyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IHN1cnZleVF1ZXN0aW9uSW5kZXggKyAxOyBpbmRleCA8IHRoaXMuc3VydmV5UXVlc3Rpb25BcnIubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgZGVsZXRlZFF1ZXN0aW9ucy5wdXNoKGluZGV4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdmFyIHNvcnREZWxldGVkQXJyID0gZGVsZXRlZFF1ZXN0aW9ucy5zb3J0KChhLCBiKSA9PiAoYSA+IGIgPyAtMSA6IDEpKTtcclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHNvcnREZWxldGVkQXJyLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRJbmRleCA9IHNvcnREZWxldGVkQXJyW2luZGV4XTtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbklkID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFycltlbGVtZW50SW5kZXhdLnF1ZXN0aW9uSWQ7XHJcblxyXG4gICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMucmVtb3ZlUXVlc3Rpb24oeyBxdWVzdGlvbklkOiBxdWVzdGlvbklkIH0pKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyciA9IHRoaXMuc3VydmV5UXVlc3Rpb25BcnIuZmlsdGVyKHggPT4geC5xdWVzdGlvbklkICE9IHF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIHRoaXMucXVlc3Rpb25Gb3JtQXJyYXkucmVtb3ZlQXQoZWxlbWVudEluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChtb2RlbC5BbnN3ZXIpIHtcclxuICAgICAgdmFyIHNlbGVjdGVkQW5zd2VyT2JqID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyclxyXG4gICAgICAgIC5maW5kKHggPT4geC5xdWVzdGlvbklkID09IG1vZGVsLlF1ZXN0aW9uSWQpPy5zdXJ2ZXlBbnN3ZXJzLmZpbmQoeCA9PiB4LmFuc3dlcklkID09PSBtb2RlbC5TdXJ2ZXlBbnN3ZXJJZCk7XHJcbiAgICAgIGlmIChzZWxlY3RlZEFuc3dlck9iaj8uaXNPdGhlciA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5pc090aGVyUXVlc3Rpb24obW9kZWwpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2V0TmV4dFF1ZXN0aW9uKG1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWRlbnRpZnkoaW5kZXgsIGl0ZW06IEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4pIHtcclxuICAgIHJldHVybiBpdGVtLnZhbHVlLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRRdWVzdGlvbnModmFsdWU6IFN1cnZleVF1ZXN0aW9uRHRvKSB7XHJcbiAgICB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyLnB1c2godmFsdWUpO1xyXG5cclxuICAgIHZhciBncm91cCA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25JZCksXHJcbiAgICAgIHR5cGVJZDogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uVHlwZUlkKSxcclxuICAgICAgYW5zd2VyOiBuZXcgRm9ybUNvbnRyb2wobnVsbClcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh2YWx1ZS5pc1JlcXVpcmVkID09IHRydWUpIHtcclxuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5wdXNoKGdyb3VwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNPdGhlclF1ZXN0aW9uKG1vZGVsOiBRdWVzdGlvbkFuc3dlck1vZGVsKSB7XHJcbiAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldElzT3RoZXJRdWVzdGlvbih7XHJcbiAgICAgIHBhcmVudFFJZDogbW9kZWwuUXVlc3Rpb25JZCxcclxuICAgICAgZ3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgIHN1cnZleUtleTogdGhpcy5zdXJ2ZXlLZXksXHJcbiAgICAgIHN1cnZleUxhbmd1YWdlSWQ6IHRoaXMuc3VydmV5TGFuZ3VhZ2VJZFxyXG4gICAgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmIChyZXMuZXJyb3JzLmZpbHRlcih4ID0+IHguY29kZSA9PSAxNykubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXMucXVlc3Rpb25UeXBlSWQgPSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICBxdWVzdGlvbjoge1xyXG4gICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHQsXHJcbiAgICAgICAgICAgIGlzUXVlc3Rpb25Hcm91cDogZmFsc2UsXHJcbiAgICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICAgIGlzVmFsaWQ6IG51bGwsXHJcbiAgICAgICAgICAgIG9yZGVyOiByZXMub3JkZXIsXHJcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICBpc1Nob3c6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IHRoaXMucXVlc3Rpb25Hcm91cElkLFxyXG4gICAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHtcclxuICAgICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICBxdWVzdGlvblR5cGVJZDogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uTmFtZTogcmVzLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICAgICAgICBxdWVzdGlvblRpdGxlOiByZXMucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICBxdWVzdGlvbkRlc2NyaXB0aW9uOiByZXMucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgICBpc1Zpc2FibGU6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgICAgaXNFZGl0YWJsZTogcmVzLmlzRWRpdGFibGUsXHJcbiAgICAgICAgICAgICAgaXNPVFBPcHRpb246IHJlcy5pc090cE9wdGlvbixcclxuICAgICAgICAgICAgICBpc0FkdmFuY2VUZXh0QXJlYTogcmVzLmlzQWR2YW5jZVRleHRBcmVhLFxyXG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICAgIG9yZGVyOiByZXMub3JkZXIsXHJcbiAgICAgICAgICAgICAgaXNQcmVEZWZpbmU6IHJlcy5pc1ByZURlZmluZSxcclxuICAgICAgICAgICAgICBtYXhMZXZlbFZhbHVlOiByZXMubWF4TGV2ZWxWYWx1ZSxcclxuICAgICAgICAgICAgICBzdXJ2ZXlBbnN3ZXJzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiByZXMuYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHRcclxuICAgICAgICAgICAgICAgIH0gYXMgU3VydmV5QW5zd2VyRHRvXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbnM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbnMsXHJcbiAgICAgICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25MZXZlbHM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVsc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyh7XHJcbiAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgIHF1ZXN0aW9uVHlwZUlkOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICBxdWVzdGlvbk5hbWU6IHJlcy5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgICBxdWVzdGlvblRpdGxlOiByZXMucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgIHF1ZXN0aW9uRGVzY3JpcHRpb246IHJlcy5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICBpc1Zpc2FibGU6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICBpc0VkaXRhYmxlOiByZXMuaXNFZGl0YWJsZSxcclxuICAgICAgICAgIGlzT1RQT3B0aW9uOiByZXMuaXNPdHBPcHRpb24sXHJcbiAgICAgICAgICBvcmRlcjogcmVzLm9yZGVyLFxyXG4gICAgICAgICAgaXNBZHZhbmNlVGV4dEFyZWE6IHJlcy5pc0FkdmFuY2VUZXh0QXJlYSxcclxuICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgaXNQcmVEZWZpbmU6IHJlcy5pc1ByZURlZmluZSxcclxuICAgICAgICAgIG1heExldmVsVmFsdWU6IHJlcy5tYXhMZXZlbFZhbHVlLFxyXG4gICAgICAgICAgc3VydmV5QW5zd2VyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgYW5zd2VySWQ6IHJlcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICBpbnB1dFR5cGVJZDogSW5wdXRUeXBlRW51bS5UZXh0XHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5QW5zd2VyRHRvXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25zOiByZXMuc3VydmV5U3ViUXVlc3Rpb25zLFxyXG4gICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25MZXZlbHM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVsc1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmdldE5leHRRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0TmV4dFF1ZXN0aW9uKG1vZGVsOiBRdWVzdGlvbkFuc3dlck1vZGVsKSB7XHJcbiAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldE5leHRRdWVzdGlvbih7XHJcbiAgICAgIGFuc3dlcklkOiBtb2RlbC5BbnN3ZXIsXHJcbiAgICAgIGFwcGxpY2FudEtleTogdGhpcy5hcHBsaWNhbnRLZXksXHJcbiAgICAgIGlzUHJlOiB0aGlzLmlzUHJlLFxyXG4gICAgICBzdXJ2ZXlMYW5ndWFnZUlkOiB0aGlzLnN1cnZleUxhbmd1YWdlSWRcclxuICAgIH0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzLmVycm9ycy5maWx0ZXIoeCA9PiB4LmNvZGUgPT0gMTcpLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICBxdWVzdGlvbjoge1xyXG4gICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgIGlucHV0VHlwZUlkOiByZXMuc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgICAgaXNRdWVzdGlvbkdyb3VwOiBmYWxzZSxcclxuICAgICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgb3JkZXI6IHJlcy5vcmRlcixcclxuICAgICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvdzogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcmVzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieydkLW5vbmUnOmZDdHJscy5pc1Nob3cudmFsdWUgIT0gdHJ1ZX1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlc3Rpb25Gb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6aWRlbnRpZnkgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgPGxpYi1xdWVzdGlvbi1kcm9wZG93bi10ZW1wbGF0ZSAjcXVlc3Rpb25Ecm9wZG93blRlbXBsYXRlXHJcbiAgICAgICAgICAgICpuZ0lmPVwiKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCk/LnF1ZXN0aW9uVHlwZSAhPSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgICAgIFtzZXRRdWVzdGlvbl09XCJwYWdlUXVlc3Rpb25zJCgpIHxmaW5kUXVlc3Rpb24gOml0ZW0udmFsdWUuaWQgXCIgKGVtaXR0ZXIpPVwib25VcGRhdGVBbnN3ZXIoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvbGliLXF1ZXN0aW9uLWRyb3Bkb3duLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGUgI3F1ZXN0aW9uVGV4dFRlbXBsYXRlXHJcbiAgICAgICAgICAgICpuZ0lmPVwiKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCk/LnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgICAgIFtzZXRRdWVzdGlvbl09XCJwYWdlUXVlc3Rpb25zJCgpIHxmaW5kUXVlc3Rpb24gOml0ZW0udmFsdWUuaWQgXCJcclxuICAgICAgICAgICAgW2lzQXJhYmljTGFuZ109XCJ0cnVlXCI+PC9saWItcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZT5cclxuXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+Il19
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFNNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQVVELElBQWEsV0FBVyxDQUFDLEtBQXdCO1FBQy9DLElBQUks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QUM3QyxlQUFlLEVBQUUsS0FBSzt3QkFDdEIsUUFBUSxFQUFFLElBQUk7d0JBQ2QsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLFVBQVUsRUFBRSxJQUFJO3dCQUNoQixVQUFVLEVBQUUsSUFBSTt3QkFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO3dCQUMxQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7d0JBQ2hCLE9BQU8sRUFBRSxJQUFJO3dCQUNiLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTO3dCQUNyQixrQkFBa0IsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDbEMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxTQUFTO3dCQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7d0JBQ3JDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUNsQyxlQUFlLEVBQUUsR0FBRztxQkFDckI7aUJBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBRUosSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1T1UsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsK1FDcEI3QyxtM0JBYU07OzJGRE9PLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwrQkFBK0I7OEtBc0JoQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZSwgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLWNhc2NhZGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvbkR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1xdWVzdGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IFN1cnZleUxpYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5JztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LmFjdGlvbic7XHJcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3F1ZXN0aW9uLnNlbGVjdG9yJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlBbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2VyLmR0byc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUNvbXBvbmVudCB7XHJcbiAgc3VydmV5UXVlc3Rpb25BcnI6IFN1cnZleVF1ZXN0aW9uRHRvW10gPSBbXTtcclxuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT47XHJcbiAgcGFnZVF1ZXN0aW9ucyQgPSB0aGlzLl9TdG9yZS5zZWxlY3RTaWduYWwocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucyk7XHJcblxyXG4gIGdldCBmQ3RybHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcclxuICB9XHJcblxyXG4gIGdldCBxdWVzdGlvblR5cGVFbnVtKCkge1xyXG4gICAgcmV0dXJuIFF1ZXN0aW9uVHlwZUVudW07XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25Gb3JtQXJyYXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnJcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKSBwYWdlSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcXVlc3Rpb25Hcm91cElkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGlzUHJlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VydmV5TGFuZ3VhZ2VJZDogbnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKSBzdXJ2ZXlLZXk6IHN0cmluZyA9IG51bGw7XHJcbiAgQElucHV0KCkgYXBwbGljYW50S2V5OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAodGhpcy5zdXJ2ZXlRdWVzdGlvbkFycj8ubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5zZXRRdWVzdGlvbnModmFsdWUucXVlc3Rpb25BbGxJbmZvKTtcclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1Nob3cgPT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZSh2YWx1ZS5pc1Nob3cpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgY2hpbGRRdWVzdGlvbjEgPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucGFyZW50UXVlc3Rpb25JZCA9PSB2YWx1ZS5xdWVzdGlvbklkKTtcclxuICAgICAgaWYgKGNoaWxkUXVlc3Rpb24xKSB7XHJcbiAgICAgICAgdGhpcy5zZXRRdWVzdGlvbnMoY2hpbGRRdWVzdGlvbjEucXVlc3Rpb25BbGxJbmZvKTtcclxuXHJcbiAgICAgICAgdmFyIGNoaWxkUXVlc3Rpb24yID0gdGhpcy5wYWdlUXVlc3Rpb25zJCgpLmZpbmQoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gY2hpbGRRdWVzdGlvbjEucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgaWYgKGNoaWxkUXVlc3Rpb24yKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhjaGlsZFF1ZXN0aW9uMi5xdWVzdGlvbkFsbEluZm8pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9zdXJ2ZXlMaWJTZXJ2aWNlOiBTdXJ2ZXlMaWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfQXBpU2VydmljZTogQXBpU2VydmljZSwgcHJpdmF0ZSBfU3RvcmU6IFN0b3JlKSB7XHJcbiAgICB0aGlzLnJGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGlzU2hvdzogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgICAgcXVlc3Rpb25BcnI6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh2KTtcclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuICBvblVwZGF0ZUFuc3dlcihtb2RlbDogUXVlc3Rpb25BbnN3ZXJNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuc3VydmV5UXVlc3Rpb25BcnIubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zdCBzdXJ2ZXlRdWVzdGlvbkluZGV4ID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maW5kSW5kZXgoYyA9PiBjLnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk7XHJcblxyXG4gICAgICB2YXIgZGVsZXRlZFF1ZXN0aW9ucyA9IFtdXHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gc3VydmV5UXVlc3Rpb25JbmRleCArIDE7IGluZGV4IDwgdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBkZWxldGVkUXVlc3Rpb25zLnB1c2goaW5kZXgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgc29ydERlbGV0ZWRBcnIgPSBkZWxldGVkUXVlc3Rpb25zLnNvcnQoKGEsIGIpID0+IChhID4gYiA/IC0xIDogMSkpO1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc29ydERlbGV0ZWRBcnIubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEluZGV4ID0gc29ydERlbGV0ZWRBcnJbaW5kZXhdO1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uSWQgPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyW2VsZW1lbnRJbmRleF0ucXVlc3Rpb25JZDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbih7IHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uSWQgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnF1ZXN0aW9uSWQgIT0gcXVlc3Rpb25JZCk7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkZvcm1BcnJheS5yZW1vdmVBdChlbGVtZW50SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1vZGVsLkFuc3dlcikge1xyXG4gICAgICB2YXIgc2VsZWN0ZWRBbnN3ZXJPYmogPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyXHJcbiAgICAgICAgLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk/LnN1cnZleUFuc3dlcnMuZmluZCh4ID0+IHguYW5zd2VySWQgPT09IG1vZGVsLlN1cnZleUFuc3dlcklkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkQW5zd2VyT2JqPy5pc090aGVyID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmlzT3RoZXJRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZXROZXh0UXVlc3Rpb24obW9kZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZGVudGlmeShpbmRleCwgaXRlbTogRm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xyXG4gICAgcmV0dXJuIGl0ZW0udmFsdWUuaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1ZXN0aW9ucyh2YWx1ZTogU3VydmV5UXVlc3Rpb25EdG8pIHtcclxuICAgIHRoaXMuc3VydmV5UXVlc3Rpb25BcnIucHVzaCh2YWx1ZSk7XHJcblxyXG4gICAgdmFyIGdyb3VwID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbklkKSxcclxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UeXBlSWQpLFxyXG4gICAgICBhbnN3ZXI6IG5ldyBGb3JtQ29udHJvbChudWxsKVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLmlzUmVxdWlyZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnB1c2goZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc090aGVyUXVlc3Rpb24obW9kZWw6IFF1ZXN0aW9uQW5zd2VyTW9kZWwpIHtcclxuICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0SXNPdGhlclF1ZXN0aW9uKHtcclxuICAgICAgcGFyZW50UUlkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICBncm91cElkOiB0aGlzLnF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgc3VydmV5S2V5OiB0aGlzLnN1cnZleUtleSxcclxuICAgICAgc3VydmV5TGFuZ3VhZ2VJZDogdGhpcy5zdXJ2ZXlMYW5ndWFnZUlkXHJcbiAgICB9KS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcy5lcnJvcnMuZmlsdGVyKHggPT4geC5jb2RlID09IDE3KS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHJlcy5xdWVzdGlvblR5cGVJZCA9IFF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0O1xyXG5cclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uKHtcclxuICAgICAgICAgIHF1ZXN0aW9uOiB7XHJcbiAgICAgICAgICAgIHN1cnZleVBhZ2VJZDogdGhpcy5wYWdlSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvblR5cGU6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IElucHV0VHlwZUVudW0uVGV4dCxcclxuICAgICAgICAgICAgaXNRdWVzdGlvbkdyb3VwOiBmYWxzZSxcclxuICAgICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJGaWxlOiBudWxsLFxyXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgICAgb3JkZXI6IHJlcy5vcmRlcixcclxuICAgICAgICAgICAgaXNEaXNhYmxlZDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvdzogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzoge1xyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uVHlwZUlkOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25OYW1lOiByZXMucXVlc3Rpb25OYW1lLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uVGl0bGU6IHJlcy5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uRGVzY3JpcHRpb246IHJlcy5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHJlcy5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIGlzVmlzYWJsZTogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgICBpc0VkaXRhYmxlOiByZXMuaXNFZGl0YWJsZSxcclxuICAgICAgICAgICAgICBpc09UUE9wdGlvbjogcmVzLmlzT3RwT3B0aW9uLFxyXG4gICAgICAgICAgICAgIGlzQWR2YW5jZVRleHRBcmVhOiByZXMuaXNBZHZhbmNlVGV4dEFyZWEsXHJcbiAgICAgICAgICAgICAgaXNSZWFkT25seTogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgICAgb3JkZXI6IHJlcy5vcmRlcixcclxuICAgICAgICAgICAgICBpc1ByZURlZmluZTogcmVzLmlzUHJlRGVmaW5lLFxyXG4gICAgICAgICAgICAgIG1heExldmVsVmFsdWU6IHJlcy5tYXhMZXZlbFZhbHVlLFxyXG4gICAgICAgICAgICAgIHN1cnZleUFuc3dlcnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHJlcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IElucHV0VHlwZUVudW0uVGV4dFxyXG4gICAgICAgICAgICAgICAgfSBhcyBTdXJ2ZXlBbnN3ZXJEdG9cclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cnZleVN1YlF1ZXN0aW9uczogcmVzLnN1cnZleVN1YlF1ZXN0aW9ucyxcclxuICAgICAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsczogcmVzLnN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgcXVlc3Rpb25UeXBlSWQ6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgIHF1ZXN0aW9uTmFtZTogcmVzLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICAgIHF1ZXN0aW9uVGl0bGU6IHJlcy5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgcXVlc3Rpb25EZXNjcmlwdGlvbjogcmVzLnF1ZXN0aW9uRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgIGlzVmlzYWJsZTogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgIGlzRWRpdGFibGU6IHJlcy5pc0VkaXRhYmxlLFxyXG4gICAgICAgICAgaXNPVFBPcHRpb246IHJlcy5pc090cE9wdGlvbixcclxuICAgICAgICAgIG9yZGVyOiByZXMub3JkZXIsXHJcbiAgICAgICAgICBpc0FkdmFuY2VUZXh0QXJlYTogcmVzLmlzQWR2YW5jZVRleHRBcmVhLFxyXG4gICAgICAgICAgaXNSZWFkT25seTogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICBpc1ByZURlZmluZTogcmVzLmlzUHJlRGVmaW5lLFxyXG4gICAgICAgICAgbWF4TGV2ZWxWYWx1ZTogcmVzLm1heExldmVsVmFsdWUsXHJcbiAgICAgICAgICBzdXJ2ZXlBbnN3ZXJzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBhbnN3ZXJJZDogcmVzLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHRcclxuICAgICAgICAgICAgfSBhcyBTdXJ2ZXlBbnN3ZXJEdG9cclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbnM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbnMsXHJcbiAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsczogcmVzLnN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZ2V0TmV4dFF1ZXN0aW9uKG1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXh0UXVlc3Rpb24obW9kZWw6IFF1ZXN0aW9uQW5zd2VyTW9kZWwpIHtcclxuICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0TmV4dFF1ZXN0aW9uKHtcclxuICAgICAgYW5zd2VySWQ6IG1vZGVsLkFuc3dlcixcclxuICAgICAgYXBwbGljYW50S2V5OiB0aGlzLmFwcGxpY2FudEtleSxcclxuICAgICAgaXNQcmU6IHRoaXMuaXNQcmUsXHJcbiAgICAgIHN1cnZleUxhbmd1YWdlSWQ6IHRoaXMuc3VydmV5TGFuZ3VhZ2VJZFxyXG4gICAgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmIChyZXMuZXJyb3JzLmZpbHRlcih4ID0+IHguY29kZSA9PSAxNykubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uKHtcclxuICAgICAgICAgIHF1ZXN0aW9uOiB7XHJcbiAgICAgICAgICAgIHN1cnZleVBhZ2VJZDogdGhpcy5wYWdlSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvblR5cGU6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IHJlcy5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkLFxyXG4gICAgICAgICAgICBpc1F1ZXN0aW9uR3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgICBhbnN3ZXJJZDogbnVsbCxcclxuICAgICAgICAgICAgYW5zd2VySWRBcnI6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlckZpbGU6IG51bGwsXHJcbiAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHJlcy5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgICBvcmRlcjogcmVzLm9yZGVyLFxyXG4gICAgICAgICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICAgICAgICBpc0Rpc2FibGVkOiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93OiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgICBpc0Rpc2FibGVkX2RlZmF1bHQ6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICBpc1Nob3dfZGVmYXVsdDogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cElkOiB0aGlzLnF1ZXN0aW9uR3JvdXBJZCxcclxuICAgICAgICAgICAgcGFyZW50UXVlc3Rpb25JZDogbW9kZWwuUXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25BbGxJbmZvOiByZXNcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7J2Qtbm9uZSc6ZkN0cmxzLmlzU2hvdy52YWx1ZSAhPSB0cnVlfVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBxdWVzdGlvbkZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTppZGVudGlmeSA7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICA8bGliLXF1ZXN0aW9uLWRyb3Bkb3duLXRlbXBsYXRlICNxdWVzdGlvbkRyb3Bkb3duVGVtcGxhdGVcclxuICAgICAgICAgICAgKm5nSWY9XCIocGFnZVF1ZXN0aW9ucyQoKSB8ZmluZFF1ZXN0aW9uIDppdGVtLnZhbHVlLmlkKT8ucXVlc3Rpb25UeXBlICE9IHF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0XCJcclxuICAgICAgICAgICAgW3NldFF1ZXN0aW9uXT1cInBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCBcIiAoZW1pdHRlcik9XCJvblVwZGF0ZUFuc3dlcigkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9saWItcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxsaWItcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZSAjcXVlc3Rpb25UZXh0VGVtcGxhdGVcclxuICAgICAgICAgICAgKm5nSWY9XCIocGFnZVF1ZXN0aW9ucyQoKSB8ZmluZFF1ZXN0aW9uIDppdGVtLnZhbHVlLmlkKT8ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0XCJcclxuICAgICAgICAgICAgW3NldFF1ZXN0aW9uXT1cInBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCBcIlxyXG4gICAgICAgICAgICBbaXNBcmFiaWNMYW5nXT1cInRydWVcIj48L2xpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlPlxyXG5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,163 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormControl, Validators } from '@angular/forms';
3
+ import { QuestionTypeEnum } from '../../../shared/enums/question-type.enum';
4
+ import { debounceTime, distinctUntilChanged, filter, map, pairwise } from 'rxjs';
5
+ import { surveyActions } from '../../core/states/survey-store/survey.action';
6
+ import { questionSelectors } from '../../core/states/survey-store/question.selector';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "../../services/survey-lib.service";
10
+ import * as i3 from "@ngrx/store";
11
+ import * as i4 from "@angular/common";
12
+ export class QuestionFileTemplateComponent {
13
+ get fCtrls() {
14
+ return this.rForm.controls;
15
+ }
16
+ get questionTypeEnum() {
17
+ return QuestionTypeEnum;
18
+ }
19
+ set setQuestion(value) {
20
+ if (!this.surveyQuestion) {
21
+ this.surveyQuestion = value.questionAllInfo;
22
+ this.rForm.patchValue({
23
+ id: value.questionId,
24
+ name: value.questionAllInfo.questionName,
25
+ title: value.questionAllInfo.questionTitle,
26
+ typeId: value.questionAllInfo.questionTypeId,
27
+ description: value.questionAllInfo.questionDescription,
28
+ isDisabled: value.questionAllInfo.isReadOnly,
29
+ isShow: value.questionAllInfo.isVisable
30
+ });
31
+ if (value.isShow == true) {
32
+ this.fCtrls.isShow.setValue(value.isShow);
33
+ }
34
+ if (value.questionAllInfo.surveyAnswers[0]?.answerId != null && value.questionAllInfo.surveyAnswers[0]?.answerId != undefined) {
35
+ this.fCtrls.surveyAnswerId.setValue(value.questionAllInfo.surveyAnswers[0].answerId);
36
+ }
37
+ if (value.isRequired == true) {
38
+ this.fCtrls.fileName.addValidators([Validators.required]);
39
+ this.fCtrls.fileName.updateValueAndValidity();
40
+ }
41
+ var question = this.questionArr().find(x => x.questionId == value.questionId);
42
+ if (question?.answerText) {
43
+ this.rForm.patchValue({
44
+ fileName: question.answerText,
45
+ isDisabled: question.isDisabled,
46
+ isShow: question.isShow
47
+ }, { emitEvent: false });
48
+ }
49
+ this.toggleEnableAnswer(value.questionAllInfo.isReadOnly);
50
+ }
51
+ }
52
+ set isDisabled(value) {
53
+ this.toggleEnableAnswer(value);
54
+ }
55
+ constructor(_formBuilder, _surveyLibService, _Store) {
56
+ this._formBuilder = _formBuilder;
57
+ this._surveyLibService = _surveyLibService;
58
+ this._Store = _Store;
59
+ this.questionArr = this._Store.selectSignal(questionSelectors.pageQuestions);
60
+ this.isArabicLang = false;
61
+ // Define maximum size in bytes (e.g., 5MB = 5 * 1024 * 1024)
62
+ this.MAX_FILE_SIZE = 10 * 1024 * 1024;
63
+ this.rForm = this._formBuilder.group({
64
+ id: new FormControl(null),
65
+ name: new FormControl(null),
66
+ title: new FormControl(null),
67
+ typeId: new FormControl(null),
68
+ description: new FormControl(null),
69
+ surveyAnswerId: new FormControl(null),
70
+ file: new FormControl(null),
71
+ fileName: new FormControl(null),
72
+ isDisabled: new FormControl(false),
73
+ isShow: new FormControl(true),
74
+ });
75
+ }
76
+ ngOnInit() {
77
+ this.fCtrls.file.valueChanges.pipe().pipe(debounceTime(200), distinctUntilChanged()).subscribe(value => {
78
+ setTimeout(() => {
79
+ const formValue = this.rForm.value;
80
+ this._Store.dispatch(surveyActions.updateQuestionFileAnswer({
81
+ questionId: formValue.id,
82
+ fileByteArr: formValue.file,
83
+ fileName: formValue.fileName,
84
+ isValid: this.fCtrls.file.valid
85
+ }));
86
+ }, 100);
87
+ });
88
+ this._Store.select(questionSelectors.pageQuestions).pipe(map(arr => arr.find(x => x.questionId == this.fCtrls.id.value)))
89
+ .pipe(filter(x => x != null), pairwise()).subscribe(value => {
90
+ const oldValue = value[0];
91
+ const newValue = value[1];
92
+ //updated answer
93
+ if (oldValue?.answerText != newValue?.answerText && oldValue?.answerText == null) {
94
+ this.fCtrls.fileName.setValue(newValue?.answerText, { emitEvent: false });
95
+ }
96
+ //updated isDisabled
97
+ if (oldValue?.isDisabled != newValue?.isDisabled) {
98
+ this.fCtrls.isDisabled.setValue(newValue?.isDisabled);
99
+ }
100
+ //updated isShow
101
+ if (oldValue?.isShow != newValue?.isShow) {
102
+ this.fCtrls.isShow.setValue(newValue?.isShow);
103
+ if (newValue?.isShow == false) {
104
+ this.fCtrls.file.setValue(null);
105
+ this.fCtrls.fileName.setValue(null);
106
+ }
107
+ }
108
+ });
109
+ }
110
+ convertToFormControl(element) {
111
+ return element;
112
+ }
113
+ onFileSelect(event) {
114
+ const input = event.target;
115
+ if (input.files && input.files.length > 0) {
116
+ const file = input.files[0];
117
+ if (file.size > this.MAX_FILE_SIZE) {
118
+ // Exceeds max length/size
119
+ alert('File size exceeds the 10MB limit.');
120
+ // Reset the form control value
121
+ this.fCtrls.file.setValue(null);
122
+ this.fCtrls.fileName.setValue(null);
123
+ input.value = ''; // Clear native input
124
+ }
125
+ else {
126
+ const reader = new FileReader();
127
+ // Read the file as a Data URL (Base64)
128
+ reader.readAsDataURL(file);
129
+ reader.onload = () => {
130
+ const base64Result = reader.result;
131
+ // Strip the Data URL prefix (e.g., "data:image/png;base64,") to leave raw Base64 data
132
+ const base64Data = base64Result.split(',')[1];
133
+ this.rForm.patchValue({
134
+ file: base64Data,
135
+ fileName: file.name
136
+ });
137
+ };
138
+ }
139
+ }
140
+ }
141
+ toggleEnableAnswer(isReadOnly) {
142
+ if (isReadOnly == true) {
143
+ this.fCtrls.file.disable();
144
+ }
145
+ else {
146
+ this.fCtrls.file.enable();
147
+ }
148
+ this.fCtrls.file.updateValueAndValidity();
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionFileTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionFileTemplateComponent, selector: "lib-question-file-template", inputs: { isArabicLang: "isArabicLang", setQuestion: "setQuestion", isDisabled: "isDisabled" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.fileName.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <input class=\"form-control\" [disabled]=\"isDisabled\"\r\n type=\"file\" type=\"file\" (change)=\"onFileSelect($event)\">\r\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionFileTemplateComponent, decorators: [{
154
+ type: Component,
155
+ args: [{ selector: 'lib-question-file-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.fileName.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <input class=\"form-control\" [disabled]=\"isDisabled\"\r\n type=\"file\" type=\"file\" (change)=\"onFileSelect($event)\">\r\n </div>" }]
156
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SurveyLibService }, { type: i3.Store }]; }, propDecorators: { isArabicLang: [{
157
+ type: Input
158
+ }], setQuestion: [{
159
+ type: Input
160
+ }], isDisabled: [{
161
+ type: Input
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS9xdWVzdGlvbi1maWxlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1maWxlLXRlbXBsYXRlL3F1ZXN0aW9uLWZpbGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7QUFRckYsTUFBTSxPQUFPLDZCQUE2QjtJQU14QyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFJRCxJQUFhLFdBQVcsQ0FBQyxLQUF3QjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxH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LE1BQU0sQ0FBQyxNQUFnQixDQUFDO29CQUU3QyxzRkFBc0Y7b0JBQ3RGLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO3dCQUNwQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNwQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFBO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxVQUFtQjtRQUM1QyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7U0FDM0I7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzhHQXRLVSw2QkFBNkI7a0dBQTdCLDZCQUE2QixrS0N0QjFDLHVsQkFTVTs7MkZEYUcsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLDRCQUE0QjtxSkFtQjdCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkF3Q08sVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UZXh0VGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IERlZmF1bHRRdWVzdGlvbkFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL2RlZmF1bHQtcXVlc3Rpb24tYW5zd2Vycy5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQaG9uZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uRmlsZVRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1maWxlLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tZmlsZS10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkZpbGVUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHN1cnZleVF1ZXN0aW9uOiBTdXJ2ZXlRdWVzdGlvbkR0bztcclxuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uRmlsZVRlbXBsYXRlRm9ybUludGVyZmFjZT47XHJcbiAgcXVlc3Rpb25BcnIgPSB0aGlzLl9TdG9yZS5zZWxlY3RTaWduYWwocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucyk7XHJcblxyXG4gIGdldCBmQ3RybHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcclxuICB9XHJcblxyXG4gIGdldCBxdWVzdGlvblR5cGVFbnVtKCkge1xyXG4gICAgcmV0dXJuIFF1ZXN0aW9uVHlwZUVudW07XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgaXNBcmFiaWNMYW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBRdWVzdGlvbk5ncnhNb2RlbCkge1xyXG4gICAgaWYgKCF0aGlzLnN1cnZleVF1ZXN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3VydmV5UXVlc3Rpb24gPSB2YWx1ZS5xdWVzdGlvbkFsbEluZm87XHJcblxyXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxyXG4gICAgICAgIG5hbWU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgIHR5cGVJZDogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICBpc0Rpc2FibGVkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSxcclxuICAgICAgICBpc1Nob3c6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1Zpc2FibGVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAodmFsdWUuaXNTaG93ID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5pc1Nob3cuc2V0VmFsdWUodmFsdWUuaXNTaG93KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdPy5hbnN3ZXJJZCAhPSBudWxsICYmIHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdPy5hbnN3ZXJJZCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5zdXJ2ZXlBbnN3ZXJJZC5zZXRWYWx1ZSh2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5hbnN3ZXJJZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1JlcXVpcmVkID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5maWxlTmFtZS5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuZmlsZU5hbWUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uQXJyKCkuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB2YWx1ZS5xdWVzdGlvbklkKTtcclxuICAgICAgaWYgKHF1ZXN0aW9uPy5hbnN3ZXJUZXh0KSB7XHJcbiAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgIGZpbGVOYW1lOiBxdWVzdGlvbi5hbnN3ZXJUZXh0LFxyXG4gICAgICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZCxcclxuICAgICAgICAgIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93XHJcbiAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRvZ2dsZUVuYWJsZUFuc3dlcih2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy50b2dnbGVFbmFibGVBbnN3ZXIodmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSxcclxuICAgIHByaXZhdGUgX1N0b3JlOiBTdG9yZSkge1xyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uRmlsZVRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIHR5cGVJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBzdXJ2ZXlBbnN3ZXJJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBmaWxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGZpbGVOYW1lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGlzU2hvdzogbmV3IEZvcm1Db250cm9sKHRydWUpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZkN0cmxzLmZpbGUudmFsdWVDaGFuZ2VzLnBpcGUoKS5waXBlKGRlYm91bmNlVGltZSgyMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25GaWxlQW5zd2VyKHtcclxuICAgICAgICAgIHF1ZXN0aW9uSWQ6IGZvcm1WYWx1ZS5pZCxcclxuICAgICAgICAgIGZpbGVCeXRlQXJyOiBmb3JtVmFsdWUuZmlsZSxcclxuICAgICAgICAgIGZpbGVOYW1lOiBmb3JtVmFsdWUuZmlsZU5hbWUsXHJcbiAgICAgICAgICBpc1ZhbGlkOiB0aGlzLmZDdHJscy5maWxlLnZhbGlkXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpLnBpcGUobWFwKGFyciA9PiBhcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB0aGlzLmZDdHJscy5pZC52YWx1ZSkpKVxyXG4gICAgICAucGlwZShmaWx0ZXIoeCA9PiB4ICE9IG51bGwpLCBwYWlyd2lzZSgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdmFsdWVbMF07XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZVsxXTtcclxuXHJcbiAgICAgICAgLy91cGRhdGVkIGFuc3dlclxyXG4gICAgICAgIGlmIChvbGRWYWx1ZT8uYW5zd2VyVGV4dCAhPSBuZXdWYWx1ZT8uYW5zd2VyVGV4dCAmJiBvbGRWYWx1ZT8uYW5zd2VyVGV4dCA9PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5maWxlTmFtZS5zZXRWYWx1ZShuZXdWYWx1ZT8uYW5zd2VyVGV4dCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy91cGRhdGVkIGlzRGlzYWJsZWRcclxuICAgICAgICBpZiAob2xkVmFsdWU/LmlzRGlzYWJsZWQgIT0gbmV3VmFsdWU/LmlzRGlzYWJsZWQpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmlzRGlzYWJsZWQuc2V0VmFsdWUobmV3VmFsdWU/LmlzRGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy91cGRhdGVkIGlzU2hvd1xyXG4gICAgICAgIGlmIChvbGRWYWx1ZT8uaXNTaG93ICE9IG5ld1ZhbHVlPy5pc1Nob3cpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZShuZXdWYWx1ZT8uaXNTaG93KTtcclxuXHJcbiAgICAgICAgICBpZiAobmV3VmFsdWU/LmlzU2hvdyA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZDdHJscy5maWxlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmZDdHJscy5maWxlTmFtZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIC8vIERlZmluZSBtYXhpbXVtIHNpemUgaW4gYnl0ZXMgKGUuZy4sIDVNQiA9IDUgKiAxMDI0ICogMTAyNClcclxuICByZWFkb25seSBNQVhfRklMRV9TSVpFID0gMTAgKiAxMDI0ICogMTAyNDtcclxuXHJcbiAgb25GaWxlU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgICBpZiAoaW5wdXQuZmlsZXMgJiYgaW5wdXQuZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBmaWxlID0gaW5wdXQuZmlsZXNbMF07XHJcblxyXG4gICAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5NQVhfRklMRV9TSVpFKSB7XHJcbiAgICAgICAgLy8gRXhjZWVkcyBtYXggbGVuZ3RoL3NpemVcclxuICAgICAgICBhbGVydCgnRmlsZSBzaXplIGV4Y2VlZHMgdGhlIDEwTUIgbGltaXQuJyk7XHJcblxyXG4gICAgICAgIC8vIFJlc2V0IHRoZSBmb3JtIGNvbnRyb2wgdmFsdWVcclxuICAgICAgICB0aGlzLmZDdHJscy5maWxlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmZpbGVOYW1lLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gJyc7IC8vIENsZWFyIG5hdGl2ZSBpbnB1dFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblxyXG4gICAgICAgIC8vIFJlYWQgdGhlIGZpbGUgYXMgYSBEYXRhIFVSTCAoQmFzZTY0KVxyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG5cclxuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgYmFzZTY0UmVzdWx0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XHJcblxyXG4gICAgICAgICAgLy8gU3RyaXAgdGhlIERhdGEgVVJMIHByZWZpeCAoZS5nLiwgXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsXCIpIHRvIGxlYXZlIHJhdyBCYXNlNjQgZGF0YVxyXG4gICAgICAgICAgY29uc3QgYmFzZTY0RGF0YSA9IGJhc2U2NFJlc3VsdC5zcGxpdCgnLCcpWzFdO1xyXG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgICAgZmlsZTogYmFzZTY0RGF0YSxcclxuICAgICAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUVuYWJsZUFuc3dlcihpc1JlYWRPbmx5OiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNSZWFkT25seSA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmZpbGUuZGlzYWJsZSgpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZDdHJscy5maWxlLmVuYWJsZSgpXHJcbiAgICB9XHJcbiAgICB0aGlzLmZDdHJscy5maWxlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJxdWFzdGlvblwiIFtmb3JtR3JvdXBdPVwickZvcm1cIiBbYXR0ci5pZF09XCIncXVlc3Rpb25fJytmQ3RybHMuaWQudmFsdWVcIlxyXG4gICAgW25nQ2xhc3NdPVwieydpbnZhbGlkLXF1ZXN0aW9uJzogZkN0cmxzLmZpbGVOYW1lLmludmFsaWQgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInN1cnZleVF1ZXN0aW9uPy5xdWVzdGlvblRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cInN1cnZleVF1ZXN0aW9uLmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXF1YXN0aW9uXCI+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIiB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0KCRldmVudClcIj5cclxuICAgIDwvZGl2PiJdfQ==
@@ -5,4 +5,4 @@ export function selectQuestionId(a) {
5
5
  export const questionAdapter = createEntityAdapter({
6
6
  selectId: selectQuestionId
7
7
  });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSy9FLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFvQjtJQUNqRCxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUMsbUJBQW1CLENBQW9CO0lBQ3BHLFFBQVEsRUFBRSxnQkFBZ0I7Q0FDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0b1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFF1ZXN0aW9uSWQoYTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIHJldHVybiBhLnF1ZXN0aW9uSWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBxdWVzdGlvbkFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8UXVlc3Rpb25OZ3J4TW9kZWw+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxRdWVzdGlvbk5ncnhNb2RlbD4oe1xyXG4gICAgc2VsZWN0SWQ6IHNlbGVjdFF1ZXN0aW9uSWRcclxufSk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uRW50aXR5U3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD4geyB9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uTmdyeE1vZGVsIHtcclxuICAgIHN1cnZleVBhZ2VJZDpudW1iZXI7XHJcbiAgICBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcjtcclxuICAgIHF1ZXN0aW9uSWQ7XHJcbiAgICBxdWVzdGlvblR5cGU6UXVlc3Rpb25UeXBlRW51bTtcclxuICAgIGlucHV0VHlwZUlkOklucHV0VHlwZUVudW07XHJcbiAgICBpc1F1ZXN0aW9uR3JvdXA6Ym9vbGVhbjtcclxuICAgIGFuc3dlcklkO1xyXG4gICAgYW5zd2VySWRBcnI7XHJcbiAgICBhbnN3ZXJUZXh0O1xyXG4gICAgYW5zd2VyTGV2ZWxJZCA/Om51bWJlcjtcclxuICAgIGlzUmVxdWlyZWQ6Ym9vbGVhbjtcclxuICAgIGlzVmFsaWQ6Ym9vbGVhbjtcclxuICAgIG9yZGVyOiBudW1iZXI7XHJcbiAgICBpc0Rpc2FibGVkIDpib29sZWFuO1xyXG4gICAgaXNTaG93OmJvb2xlYW47XHJcbiAgICBpc0Rpc2FibGVkX2RlZmF1bHQgOmJvb2xlYW47XHJcbiAgICBpc1Nob3dfZGVmYXVsdDpib29sZWFuO1xyXG4gICAgcGFyZW50UXVlc3Rpb25JZDtcclxuICAgIHF1ZXN0aW9uQWxsSW5mbyA6IFN1cnZleVF1ZXN0aW9uRHRvO1xyXG4gICAgbWF4TGV2ZWxWYWx1ZT86IG51bWJlcjtcclxuICAgIHBhc3NlZFJ1bGVRdWVzdGlvbklkPzogbnVtYmVyO1xyXG59Il19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSy9FLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFvQjtJQUNqRCxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUMsbUJBQW1CLENBQW9CO0lBQ3BHLFFBQVEsRUFBRSxnQkFBZ0I7Q0FDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUsIGNyZWF0ZUVudGl0eUFkYXB0ZXIgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0b1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFF1ZXN0aW9uSWQoYTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIHJldHVybiBhLnF1ZXN0aW9uSWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBxdWVzdGlvbkFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8UXVlc3Rpb25OZ3J4TW9kZWw+ID0gY3JlYXRlRW50aXR5QWRhcHRlcjxRdWVzdGlvbk5ncnhNb2RlbD4oe1xyXG4gICAgc2VsZWN0SWQ6IHNlbGVjdFF1ZXN0aW9uSWRcclxufSk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uRW50aXR5U3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD4geyB9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uTmdyeE1vZGVsIHtcclxuICAgIHN1cnZleVBhZ2VJZDpudW1iZXI7XHJcbiAgICBxdWVzdGlvbkdyb3VwSWQ6IG51bWJlcjtcclxuICAgIHF1ZXN0aW9uSWQ7XHJcbiAgICBxdWVzdGlvblR5cGU6UXVlc3Rpb25UeXBlRW51bTtcclxuICAgIGlucHV0VHlwZUlkOklucHV0VHlwZUVudW07XHJcbiAgICBpc1F1ZXN0aW9uR3JvdXA6Ym9vbGVhbjtcclxuICAgIGFuc3dlcklkO1xyXG4gICAgYW5zd2VySWRBcnI7XHJcbiAgICBhbnN3ZXJUZXh0O1xyXG4gICAgYW5zd2VyRmlsZTtcclxuICAgIGFuc3dlckxldmVsSWQgPzpudW1iZXI7XHJcbiAgICBpc1JlcXVpcmVkOmJvb2xlYW47XHJcbiAgICBpc1ZhbGlkOmJvb2xlYW47XHJcbiAgICBvcmRlcjogbnVtYmVyO1xyXG4gICAgaXNEaXNhYmxlZCA6Ym9vbGVhbjtcclxuICAgIGlzU2hvdzpib29sZWFuO1xyXG4gICAgaXNEaXNhYmxlZF9kZWZhdWx0IDpib29sZWFuO1xyXG4gICAgaXNTaG93X2RlZmF1bHQ6Ym9vbGVhbjtcclxuICAgIHBhcmVudFF1ZXN0aW9uSWQ7XHJcbiAgICBxdWVzdGlvbkFsbEluZm8gOiBTdXJ2ZXlRdWVzdGlvbkR0bztcclxuICAgIG1heExldmVsVmFsdWU/OiBudW1iZXI7XHJcbiAgICBwYXNzZWRSdWxlUXVlc3Rpb25JZD86IG51bWJlcjtcclxufSJdfQ==
@@ -48,6 +48,20 @@ const questionAnswers = createSelector(selectSurveyData, (state) => selectAll(st
48
48
  PassedRuleQuestionId: x.passedRuleQuestionId
49
49
  };
50
50
  }
51
+ else if (x.questionType == QuestionTypeEnum.File) {
52
+ return {
53
+ SurveyPageIndex: x.surveyPageId,
54
+ QuestionId: x.questionId,
55
+ QuestionName: x.questionAllInfo.questionTitle,
56
+ QuestionType: x.questionType,
57
+ AnswerId: x.answerId,
58
+ AnswerText: answerText,
59
+ AnswerIdArr: x.answerIdArr,
60
+ AnswerLevelId: x.answerLevelId,
61
+ AnswerFile: x.answerFile,
62
+ PassedRuleQuestionId: x.passedRuleQuestionId
63
+ };
64
+ }
51
65
  else {
52
66
  return {
53
67
  SurveyPageIndex: x.surveyPageId,
@@ -68,7 +82,8 @@ const questionAnswers = createSelector(selectSurveyData, (state) => selectAll(st
68
82
  const hasAnswerId = res.AnswerId !== null && res.AnswerId !== undefined;
69
83
  const hasAnswerText = res.AnswerText !== null && res.AnswerText !== undefined && res.AnswerText !== '';
70
84
  const hasAnswerIdArr = Array.isArray(res.AnswerIdArr) && res.AnswerIdArr?.length > 0;
71
- return hasAnswerId || hasAnswerText || hasAnswerIdArr;
85
+ const hasAnswerFile = res.AnswerFile !== null && res.AnswerFile !== undefined;
86
+ return hasAnswerId || hasAnswerText || hasAnswerIdArr || hasAnswerFile;
72
87
  }
73
88
  }
74
89
  // Keep the item if at least one of them has a valid value
@@ -80,4 +95,4 @@ export const questionSelectors = {
80
95
  questionAnswers,
81
96
  allRequiredQuestionsOfCurrentPageDone
82
97
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7QUFHaEUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBYyxZQUFZLENBQUMsQ0FBQztBQUUxRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUUvRixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUVwSixNQUFNLHFDQUFxQyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENB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U2VsZWN0b3IgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25Hcm91cEFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25BZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IFN1cnZleVN0YXRlIH0gZnJvbSBcIi4vc3VydmV5LnJlZHVjZXJcIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25SZXN1bHQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9zdXJ2ZXJ5LXF1ZXN0aW9uLXJlc3VsdC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtXCI7XHJcblxyXG5jb25zdCB7IHNlbGVjdEFsbCwgc2VsZWN0SWRzIH0gPSBxdWVzdGlvbkFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XHJcblxyXG5cclxuY29uc3Qgc2VsZWN0U3VydmV5RGF0YSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdXJ2ZXlTdGF0ZT4oJ3N1cnZleS1saWInKTtcclxuXHJcbmNvbnN0IGFsbFF1ZXN0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKSk7XHJcblxyXG5jb25zdCBwYWdlUXVlc3Rpb25zID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbHRlcih4ID0+IHguc3VydmV5UGFnZUlkID09IHN0YXRlLnNlbGVjdGVkUGFnZUlkKSk7XHJcblxyXG5jb25zdCBhbGxSZXF1aXJlZFF1ZXN0aW9uc09mQ3VycmVudFBhZ2VEb25lID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiB7XHJcbiAgICBjb25zdCBxdWVzdGlvbkFyciA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmlsdGVyKHggPT4geC5zdXJ2ZXlQYWdlSWQgPT0gc3RhdGUuc2VsZWN0ZWRQYWdlSWQpO1xyXG5cclxuICAgIGlmIChxdWVzdGlvbkFyci5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB2YXIgaW52YWxpZFJlY29yZHMgPSBbXTtcclxuXHJcbiAgICAgICAgdmFyIGFyciA9IHF1ZXN0aW9uQXJyLmZpbHRlcih4ID0+IHguaXNEaXNhYmxlZCA9PSBmYWxzZSAmJiB4LmlzU2hvdyA9PSB0cnVlICYmIHguaXNSZXF1aXJlZCA9PSB0cnVlKTtcclxuICAgICAgICBhcnIubWFwKHggPT4ge1xyXG4gICAgICAgICAgICBpZiAoeC5pc1ZhbGlkICE9IHRydWUgJiYgeC5pc1F1ZXN0aW9uR3JvdXAgIT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgaW52YWxpZFJlY29yZHMucHVzaCh4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh4LnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCAmJiB4LmlucHV0VHlwZUlkID09IElucHV0VHlwZUVudW0uRW1haWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoeC5hbnN3ZXJUZXh0Py50cmltKCkgJiYgeC5pc1ZhbGlkICE9IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZFJlY29yZHMucHVzaCh4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGludmFsaWRSZWNvcmRzLmxlbmd0aCA9PSAwO1xyXG4gICAgfVxyXG59KTtcclxuXHJcbmNvbnN0IHF1ZXN0aW9uQW5zd2VycyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgLmZpbHRlcih4ID0+IHguaXNRdWVzdGlvbkdyb3VwICE9IHRydWUgJiYgeC5pc1Nob3cgPT0gdHJ1ZSkubWFwKHggPT4ge1xyXG5cclxuICAgICAgICB2YXIgYW5zd2VyVGV4dCA9IHguYW5zd2VyVGV4dDtcclxuICAgICAgICBpZiAoeC5hbnN3ZXJUZXh0ICE9PSBudWxsICYmIHguYW5zd2VyVGV4dCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGFuc3dlclRleHQgPSBhbnN3ZXJUZXh0ICsgXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh4LnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkluc3RpdHV0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgU3VydmV5UGFnZUluZGV4OiB4LnN1cnZleVBhZ2VJZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uSWQ6IHgucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uTmFtZTogeC5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uVHlwZTogeC5xdWVzdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZDogeC5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyVGV4dDogYW5zd2VyVGV4dCxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkQXJyOiB4LmFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyTGV2ZWxJZDogeC5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgIFBhc3NlZFJ1bGVRdWVzdGlvbklkOiB4LnBhc3NlZFJ1bGVRdWVzdGlvbklkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgU3VydmV5UGFnZUluZGV4OiB4LnN1cnZleVBhZ2VJZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uSWQ6IHgucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uTmFtZTogeC5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uVHlwZTogeC5xdWVzdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZDogeC5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IGFuc3dlclRleHQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZEFycjogeC5hbnN3ZXJJZEFycixcclxuICAgICAgICAgICAgICAgIEFuc3dlckxldmVsSWQ6IHguYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgIFBhc3NlZFJ1bGVRdWVzdGlvbklkOiB4LnBhc3NlZFJ1bGVRdWVzdGlvbklkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9KS5maWx0ZXIocmVzID0+IHtcclxuICAgICAgICBpZiAocmVzLlBhc3NlZFJ1bGVRdWVzdGlvbklkICE9PSBudWxsICYmIHJlcy5QYXNzZWRSdWxlUXVlc3Rpb25JZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHZhciBwYXNzZWRSdWxlUXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcmVzLlBhc3NlZFJ1bGVRdWVzdGlvbklkKTtcclxuICAgICAgICAgICAgaWYgKHBhc3NlZFJ1bGVRdWVzdGlvbikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzQW5zd2VySWQgPSByZXMuQW5zd2VySWQgIT09IG51bGwgJiYgcmVzLkFuc3dlcklkICE9PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbnN3ZXJUZXh0ID0gcmVzLkFuc3dlclRleHQgIT09IG51bGwgJiYgcmVzLkFuc3dlclRleHQgIT09IHVuZGVmaW5lZCAmJiByZXMuQW5zd2VyVGV4dCAhPT0gJyc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbnN3ZXJJZEFyciA9IEFycmF5LmlzQXJyYXkocmVzLkFuc3dlcklkQXJyKSAmJiByZXMuQW5zd2VySWRBcnI/Lmxlbmd0aCA+IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhc0Fuc3dlcklkIHx8IGhhc0Fuc3dlclRleHQgfHwgaGFzQW5zd2VySWRBcnI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEtlZXAgdGhlIGl0ZW0gaWYgYXQgbGVhc3Qgb25lIG9mIHRoZW0gaGFzIGEgdmFsaWQgdmFsdWVcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pXHJcbilcclxuXHJcbmV4cG9ydCBjb25zdCBxdWVzdGlvblNlbGVjdG9ycyA9IHtcclxuICAgIGFsbFF1ZXN0aW9ucyxcclxuICAgIHBhZ2VRdWVzdGlvbnMsXHJcbiAgICBxdWVzdGlvbkFuc3dlcnMsXHJcbiAgICBhbGxSZXF1aXJlZFF1ZXN0aW9uc09mQ3VycmVudFBhZ2VEb25lXHJcbn0iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7QUFHaEUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBYyxZQUFZLENBQUMsQ0FBQztBQUUxRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUUvRixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUVwSixNQUFNLHFDQUFxQyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENB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SSxHQUFHLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQztZQUN2RyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDckYsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUM7WUFFOUUsT0FBTyxXQUFXLElBQUksYUFBYSxJQUFJLGNBQWMsSUFBSSxhQUFhLENBQUM7U0FDMUU7S0FDSjtJQUVELDBEQUEwRDtJQUMxRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FDTCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsWUFBWTtJQUNaLGFBQWE7SUFDYixlQUFlO0lBQ2YscUNBQXFDO0NBQ3hDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uR3JvdXBBZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24tZ3JvdXAuZW50aXR5XCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTdGF0ZSB9IGZyb20gXCIuL3N1cnZleS5yZWR1Y2VyXCI7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uUmVzdWx0IH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvc3VydmVyeS1xdWVzdGlvbi1yZXN1bHQubW9kZWxcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL2lucHV0LXR5cGUuZW51bVwiO1xyXG5cclxuY29uc3QgeyBzZWxlY3RBbGwsIHNlbGVjdElkcyB9ID0gcXVlc3Rpb25BZGFwdGVyLmdldFNlbGVjdG9ycygpO1xyXG5cclxuXHJcbmNvbnN0IHNlbGVjdFN1cnZleURhdGEgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8U3VydmV5U3RhdGU+KCdzdXJ2ZXktbGliJyk7XHJcblxyXG5jb25zdCBhbGxRdWVzdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikpO1xyXG5cclxuY29uc3QgcGFnZVF1ZXN0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maWx0ZXIoeCA9PiB4LnN1cnZleVBhZ2VJZCA9PSBzdGF0ZS5zZWxlY3RlZFBhZ2VJZCkpO1xyXG5cclxuY29uc3QgYWxsUmVxdWlyZWRRdWVzdGlvbnNPZkN1cnJlbnRQYWdlRG9uZSA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4ge1xyXG4gICAgY29uc3QgcXVlc3Rpb25BcnIgPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbHRlcih4ID0+IHguc3VydmV5UGFnZUlkID09IHN0YXRlLnNlbGVjdGVkUGFnZUlkKTtcclxuXHJcbiAgICBpZiAocXVlc3Rpb25BcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFyIGludmFsaWRSZWNvcmRzID0gW107XHJcblxyXG4gICAgICAgIHZhciBhcnIgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gZmFsc2UgJiYgeC5pc1Nob3cgPT0gdHJ1ZSAmJiB4LmlzUmVxdWlyZWQgPT0gdHJ1ZSk7XHJcbiAgICAgICAgYXJyLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgaWYgKHguaXNWYWxpZCAhPSB0cnVlICYmIHguaXNRdWVzdGlvbkdyb3VwICE9IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoeC5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQgJiYgeC5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLkVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHguYW5zd2VyVGV4dD8udHJpbSgpICYmIHguaXNWYWxpZCAhPSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBpbnZhbGlkUmVjb3Jkcy5sZW5ndGggPT0gMDtcclxuICAgIH1cclxufSk7XHJcblxyXG5jb25zdCBxdWVzdGlvbkFuc3dlcnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgIC5maWx0ZXIoeCA9PiB4LmlzUXVlc3Rpb25Hcm91cCAhPSB0cnVlICYmIHguaXNTaG93ID09IHRydWUpLm1hcCh4ID0+IHtcclxuXHJcbiAgICAgICAgdmFyIGFuc3dlclRleHQgPSB4LmFuc3dlclRleHQ7XHJcbiAgICAgICAgaWYgKHguYW5zd2VyVGV4dCAhPT0gbnVsbCAmJiB4LmFuc3dlclRleHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0ID0gYW5zd2VyVGV4dCArIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoeC5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIFN1cnZleVBhZ2VJbmRleDogeC5zdXJ2ZXlQYWdlSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbklkOiB4LnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbk5hbWU6IHgucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvblR5cGU6IHgucXVlc3Rpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWQ6IHguYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IGFuc3dlclRleHQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZEFycjogeC5hbnN3ZXJJZEFycixcclxuICAgICAgICAgICAgICAgIEFuc3dlckxldmVsSWQ6IHguYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICBQYXNzZWRSdWxlUXVlc3Rpb25JZDogeC5wYXNzZWRSdWxlUXVlc3Rpb25JZFxyXG4gICAgICAgICAgICB9IGFzIFN1cnZleVF1ZXN0aW9uUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHgucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgU3VydmV5UGFnZUluZGV4OiB4LnN1cnZleVBhZ2VJZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uSWQ6IHgucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uTmFtZTogeC5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uVHlwZTogeC5xdWVzdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZDogeC5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IGFuc3dlclRleHQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZEFycjogeC5hbnN3ZXJJZEFycixcclxuICAgICAgICAgICAgICAgIEFuc3dlckxldmVsSWQ6IHguYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlckZpbGU6IHguYW5zd2VyRmlsZSxcclxuICAgICAgICAgICAgICAgIFBhc3NlZFJ1bGVRdWVzdGlvbklkOiB4LnBhc3NlZFJ1bGVRdWVzdGlvbklkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBTdXJ2ZXlQYWdlSW5kZXg6IHguc3VydmV5UGFnZUlkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25JZDogeC5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25OYW1lOiB4LnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgICAgUXVlc3Rpb25UeXBlOiB4LnF1ZXN0aW9uVHlwZSxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkOiB4LmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyVGV4dDogYW5zd2VyVGV4dCxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkQXJyOiB4LmFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyTGV2ZWxJZDogeC5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgUGFzc2VkUnVsZVF1ZXN0aW9uSWQ6IHgucGFzc2VkUnVsZVF1ZXN0aW9uSWRcclxuICAgICAgICAgICAgfSBhcyBTdXJ2ZXlRdWVzdGlvblJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH0pLmZpbHRlcihyZXMgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuUGFzc2VkUnVsZVF1ZXN0aW9uSWQgIT09IG51bGwgJiYgcmVzLlBhc3NlZFJ1bGVRdWVzdGlvbklkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdmFyIHBhc3NlZFJ1bGVRdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXMuUGFzc2VkUnVsZVF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICBpZiAocGFzc2VkUnVsZVF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbnN3ZXJJZCA9IHJlcy5BbnN3ZXJJZCAhPT0gbnVsbCAmJiByZXMuQW5zd2VySWQgIT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlclRleHQgPSByZXMuQW5zd2VyVGV4dCAhPT0gbnVsbCAmJiByZXMuQW5zd2VyVGV4dCAhPT0gdW5kZWZpbmVkICYmIHJlcy5BbnN3ZXJUZXh0ICE9PSAnJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlcklkQXJyID0gQXJyYXkuaXNBcnJheShyZXMuQW5zd2VySWRBcnIpICYmIHJlcy5BbnN3ZXJJZEFycj8ubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0Fuc3dlckZpbGUgPSByZXMuQW5zd2VyRmlsZSAhPT0gbnVsbCAmJiByZXMuQW5zd2VyRmlsZSAhPT0gdW5kZWZpbmVkOyBcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzQW5zd2VySWQgfHwgaGFzQW5zd2VyVGV4dCB8fCBoYXNBbnN3ZXJJZEFyciB8fCBoYXNBbnN3ZXJGaWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBLZWVwIHRoZSBpdGVtIGlmIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGhhcyBhIHZhbGlkIHZhbHVlXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KVxyXG4pXHJcblxyXG5leHBvcnQgY29uc3QgcXVlc3Rpb25TZWxlY3RvcnMgPSB7XHJcbiAgICBhbGxRdWVzdGlvbnMsXHJcbiAgICBwYWdlUXVlc3Rpb25zLFxyXG4gICAgcXVlc3Rpb25BbnN3ZXJzLFxyXG4gICAgYWxsUmVxdWlyZWRRdWVzdGlvbnNPZkN1cnJlbnRQYWdlRG9uZVxyXG59Il19
@@ -2,6 +2,7 @@ import { createAction, props } from "@ngrx/store";
2
2
  const loadSurvey = createAction('[Survey library] Load Survey', props());
3
3
  const addQuestion = createAction('[Survey library] Add Question', props());
4
4
  const updateQuestionAnswer = createAction('[Survey library] Update Question Answer', props());
5
+ const updateQuestionFileAnswer = createAction('[Survey library] Update Question Answer', props());
5
6
  const updateInstitutionQuestionAnswer = createAction('[Survey library] Update Institution Question Answer', props());
6
7
  const updateQuestionShow = createAction('[Survey library] Update Question Show', props());
7
8
  const updateQuestionsShow = createAction('[Survey library] Update Questions Show', props());
@@ -17,6 +18,7 @@ export const surveyActions = {
17
18
  loadSurvey,
18
19
  addQuestion,
19
20
  updateQuestionAnswer,
21
+ updateQuestionFileAnswer,
20
22
  updateInstitutionQuestionAnswer,
21
23
  updateQuestionShow,
22
24
  updateQuestionsShow,
@@ -29,4 +31,4 @@ export const surveyActions = {
29
31
  loadInstitutionArrSuccess,
30
32
  resetSurvey
31
33
  };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixFQUFFLEtBQUssRUFDTSxDQUFDLENBQUM7QUFFN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFDLEtBQUssRUFBZ0MsQ0FBQyxDQUFBO0FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBcUQsQ0FBQyxDQUFDO0FBQ2hKLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLHFEQUFxRCxFQUN0RyxLQUFLLEVBQXNGLENBQUMsQ0FBQztBQUNqRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyx1Q0FBdUMsRUFBQyxLQUFLLEVBQXNDLENBQUMsQ0FBQztBQUM3SCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyx3Q0FBd0MsRUFBQyxLQUFLLEVBQXdFLENBQUMsQ0FBQztBQUNqSyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQywwQ0FBMEMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUN4SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTRFLENBQUMsQ0FBQztBQUMzSyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUMxSSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQUMsS0FBSyxFQUFvQixDQUFDLENBQUE7QUFFakcsTUFBTSxZQUFZLEdBQUksWUFBWSxDQUFDLGlDQUFpQyxFQUFDLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakYsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsK0NBQStDLEVBQUMsS0FBSyxFQUFxQyxDQUFDLENBQUE7QUFFMUksTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFakUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFFO0lBQ3hCLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLCtCQUErQjtJQUMvQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixXQUFXO0NBQ2QsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUnVsZU5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3J1bGUuZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvXCI7XHJcblxyXG5jb25zdCBsb2FkU3VydmV5ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIExvYWQgU3VydmV5JywgcHJvcHM8eyBxdWVzdGlvbkFycjogUXVlc3Rpb25OZ3J4TW9kZWxbXSAsIHJ1bGVBcnI6UnVsZU5ncnhNb2RlbFtdICxcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnIgOiBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsW10gLHNlbGVjdGVkUGFnZUlkOm51bWJlciB9PigpKTtcclxuXHJcbmNvbnN0IGFkZFF1ZXN0aW9uID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIEFkZCBRdWVzdGlvbicscHJvcHM8e3F1ZXN0aW9uOlF1ZXN0aW9uTmdyeE1vZGVsfT4oKSlcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25BbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIEFuc3dlcicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICwgYW5zd2VyIDphbnkgLGlzVmFsaWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIEluc3RpdHV0aW9uIFF1ZXN0aW9uIEFuc3dlcicsXHJcbiAgICBwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBhbnN3ZXIgOmFueSAsYW5zd2VySWQ6YW55ICxhbnN3ZXJMZXZlbElkOmFueSAsaXNWYWxpZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25TaG93ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBTaG93Jyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLGlzU2hvdyA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25zU2hvdyA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb25zIFNob3cnLHByb3BzPHtxdWVzdGlvbnM6e2lkOmFueSAsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOmFueX1bXSwgaXNTaG93IDogYm9vbGVhbiB9PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25EaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBEaXNhYmxlJyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBpc0Rpc2FibGVkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbnNEaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbnMgRGlzYWJsZScscHJvcHM8e3F1ZXN0aW9uczp7aWQ6YW55ICwgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ6YW55fVtdICwgaXNEaXNhYmxlZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25SZXF1aXJlZCA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb24gUmVxdWlyZWQnLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGlzUmVxdWlyZWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHJlbW92ZVF1ZXN0aW9uID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFJlbW92ZSBRdWVzdGlvbicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55fT4oKSlcclxuXHJcbmNvbnN0IHVwZGF0ZVBhZ2VJZCA9ICBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFBhZ2UgSWQnLHByb3BzPHtwYWdlSWQ6bnVtYmVyfT4oKSk7XHJcblxyXG5jb25zdCBsb2FkSW5zdGl0dXRpb25BcnIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gTG9hZCBJbnN0aXR1dGlvbiBBcnInKTtcclxuY29uc3QgbG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIEluc3RpdHV0aW9uIEFyciBTdWNjZXNzJyxwcm9wczx7aW5zdGl0dXRpb25BcnI6SW5zdGl0dXRpb25EdG9bXX0+KCkpXHJcblxyXG5jb25zdCByZXNldFN1cnZleSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBSZXNldCBTdXJ2ZXknKVxyXG5cclxuZXhwb3J0IGNvbnN0IHN1cnZleUFjdGlvbnMgPXtcclxuICAgIGxvYWRTdXJ2ZXkgLFxyXG4gICAgYWRkUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIsXHJcbiAgICB1cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25TaG93LFxyXG4gICAgdXBkYXRlUXVlc3Rpb25zU2hvdyxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsXHJcbiAgICB1cGRhdGVRdWVzdGlvblJlcXVpcmVkLFxyXG4gICAgcmVtb3ZlUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUGFnZUlkICxcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFycixcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MsXHJcbiAgICByZXNldFN1cnZleVxyXG59XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixFQUFFLEtBQUssRUFDTSxDQUFDLENBQUM7QUFFN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFDLEtBQUssRUFBZ0MsQ0FBQyxDQUFBO0FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBcUQsQ0FBQyxDQUFDO0FBQ2hKLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBNEUsQ0FBQyxDQUFDO0FBQzNLLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLHFEQUFxRCxFQUN0RyxLQUFLLEVBQXNGLENBQUMsQ0FBQztBQUNqRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyx1Q0FBdUMsRUFBQyxLQUFLLEVBQXNDLENBQUMsQ0FBQztBQUM3SCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyx3Q0FBd0MsRUFBQyxLQUFLLEVBQXdFLENBQUMsQ0FBQztBQUNqSyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQywwQ0FBMEMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUN4SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTRFLENBQUMsQ0FBQztBQUMzSyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUMxSSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQUMsS0FBSyxFQUFvQixDQUFDLENBQUE7QUFFakcsTUFBTSxZQUFZLEdBQUksWUFBWSxDQUFDLGlDQUFpQyxFQUFDLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakYsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsK0NBQStDLEVBQUMsS0FBSyxFQUFxQyxDQUFDLENBQUE7QUFFMUksTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFakUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFFO0lBQ3hCLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsV0FBVztDQUNkLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IFJ1bGVOZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9ydWxlLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24tZ3JvdXAuZW50aXR5XCI7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0b1wiO1xyXG5cclxuY29uc3QgbG9hZFN1cnZleSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIFN1cnZleScsIHByb3BzPHsgcXVlc3Rpb25BcnI6IFF1ZXN0aW9uTmdyeE1vZGVsW10gLCBydWxlQXJyOlJ1bGVOZ3J4TW9kZWxbXSAsXHJcbiAgICBxdWVzdGlvbkdyb3VwQXJyIDogUXVlc3Rpb25Hcm91cE5ncnhNb2RlbFtdICxzZWxlY3RlZFBhZ2VJZDpudW1iZXIgfT4oKSk7XHJcblxyXG5jb25zdCBhZGRRdWVzdGlvbiA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBBZGQgUXVlc3Rpb24nLHByb3BzPHtxdWVzdGlvbjpRdWVzdGlvbk5ncnhNb2RlbH0+KCkpXHJcbmNvbnN0IHVwZGF0ZVF1ZXN0aW9uQW5zd2VyID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBBbnN3ZXInLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGFuc3dlciA6YW55ICxpc1ZhbGlkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIEFuc3dlcicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICwgZmlsZUJ5dGVBcnIgOmFueSAgLCBmaWxlTmFtZSA6IGFueSAsaXNWYWxpZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlciA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgSW5zdGl0dXRpb24gUXVlc3Rpb24gQW5zd2VyJyxcclxuICAgIHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGFuc3dlciA6YW55ICxhbnN3ZXJJZDphbnkgLGFuc3dlckxldmVsSWQ6YW55ICxpc1ZhbGlkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvblNob3cgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIFNob3cnLHByb3BzPHtxdWVzdGlvbklkOmFueSAsaXNTaG93IDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbnNTaG93ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbnMgU2hvdycscHJvcHM8e3F1ZXN0aW9uczp7aWQ6YW55ICwgcGFzc2VkUnVsZVF1ZXN0aW9uSWQ6YW55fVtdLCBpc1Nob3cgOiBib29sZWFuIH0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbkRpc2FibGUgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIERpc2FibGUnLHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGlzRGlzYWJsZWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9ucyBEaXNhYmxlJyxwcm9wczx7cXVlc3Rpb25zOntpZDphbnkgLCBwYXNzZWRSdWxlUXVlc3Rpb25JZDphbnl9W10gLCBpc0Rpc2FibGVkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvblJlcXVpcmVkID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBSZXF1aXJlZCcscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICwgaXNSZXF1aXJlZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgcmVtb3ZlUXVlc3Rpb24gPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gUmVtb3ZlIFF1ZXN0aW9uJyxwcm9wczx7cXVlc3Rpb25JZDphbnl9PigpKVxyXG5cclxuY29uc3QgdXBkYXRlUGFnZUlkID0gIGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUGFnZSBJZCcscHJvcHM8e3BhZ2VJZDpudW1iZXJ9PigpKTtcclxuXHJcbmNvbnN0IGxvYWRJbnN0aXR1dGlvbkFyciA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIEluc3RpdHV0aW9uIEFycicpO1xyXG5jb25zdCBsb2FkSW5zdGl0dXRpb25BcnJTdWNjZXNzID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIExvYWQgSW5zdGl0dXRpb24gQXJyIFN1Y2Nlc3MnLHByb3BzPHtpbnN0aXR1dGlvbkFycjpJbnN0aXR1dGlvbkR0b1tdfT4oKSlcclxuXHJcbmNvbnN0IHJlc2V0U3VydmV5ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFJlc2V0IFN1cnZleScpXHJcblxyXG5leHBvcnQgY29uc3Qgc3VydmV5QWN0aW9ucyA9e1xyXG4gICAgbG9hZFN1cnZleSAsXHJcbiAgICBhZGRRdWVzdGlvbiAsXHJcbiAgICB1cGRhdGVRdWVzdGlvbkFuc3dlcixcclxuICAgIHVwZGF0ZVF1ZXN0aW9uRmlsZUFuc3dlcixcclxuICAgIHVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIsXHJcbiAgICB1cGRhdGVRdWVzdGlvblNob3csXHJcbiAgICB1cGRhdGVRdWVzdGlvbnNTaG93LFxyXG4gICAgdXBkYXRlUXVlc3Rpb25EaXNhYmxlLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25zRGlzYWJsZSxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uUmVxdWlyZWQsXHJcbiAgICByZW1vdmVRdWVzdGlvbiAsXHJcbiAgICB1cGRhdGVQYWdlSWQgLFxyXG4gICAgbG9hZEluc3RpdHV0aW9uQXJyLFxyXG4gICAgbG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcyxcclxuICAgIHJlc2V0U3VydmV5XHJcbn1cclxuIl19
@@ -66,6 +66,29 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
66
66
  return {
67
67
  ...state
68
68
  };
69
+ }), on(surveyActions.updateQuestionFileAnswer, (state, props) => {
70
+ const question = selectAll(state.questionArr).find(x => x.questionId == props.questionId);
71
+ if (question) {
72
+ var updateModel;
73
+ if (question.questionType == QuestionTypeEnum.File) {
74
+ updateModel = {
75
+ id: props.questionId,
76
+ changes: {
77
+ answerId: question.questionAllInfo.surveyAnswers[0].answerId,
78
+ answerText: props.fileName,
79
+ answerFile: props.fileByteArr,
80
+ isValid: props.isValid
81
+ }
82
+ };
83
+ }
84
+ return {
85
+ ...state,
86
+ questionArr: questionAdapter.updateOne(updateModel, state.questionArr)
87
+ };
88
+ }
89
+ return {
90
+ ...state
91
+ };
69
92
  }), on(surveyActions.updateInstitutionQuestionAnswer, (state, props) => {
70
93
  const question = selectAll(state.questionArr).find(x => x.questionId == props.questionId);
71
94
  if (question) {
@@ -162,4 +185,4 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
162
185
  export function surveyReducer(state, action) {
163
186
  return _surveyReducer(state, action);
164
187
  }
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUkvRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxFQUFFO0lBQ3hELFdBQVcsRUFBRSxlQUFlLENBQUMsZUFBZSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFO0lBQ3RDLGNBQWMsRUFBRSxFQUFFO0NBQ3JCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUN2QyxrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtB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ekQsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztLQUN2QyxDQUFBO0FBQ0wsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNwQyxPQUFPO1FBQ0gsR0FBRyxrQkFBa0I7S0FDeEIsQ0FBQTtBQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFFRixNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNO0lBQ3ZDLE9BQU8sY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25BZGFwdGVyLCBRdWVzdGlvbkVudGl0eVN0YXRlLCBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSBcIi4vc3VydmV5LmFjdGlvblwiO1xyXG5pbXBvcnQgeyBSdWxlRW50aXR5U3RhdGUsIHJ1bGVBZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcnVsZS5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cEVudGl0eVN0YXRlLCBxdWVzdGlvbkdyb3VwQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgVXBkYXRlIH0gZnJvbSBcIkBuZ3J4L2VudGl0eVwiO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkR0byB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG9cIjtcclxuXHJcbmNvbnN0IHsgc2VsZWN0QWxsLCBzZWxlY3RJZHMgfSA9IHF1ZXN0aW9uQWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VydmV5U3RhdGUge1xyXG4gICAgc2VsZWN0ZWRQYWdlSWQ6IG51bWJlcixcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IFF1ZXN0aW9uR3JvdXBFbnRpdHlTdGF0ZSxcclxuICAgIHF1ZXN0aW9uQXJyOiBRdWVzdGlvbkVudGl0eVN0YXRlLFxyXG4gICAgcnVsZUFycjogUnVsZUVudGl0eVN0YXRlLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6IEluc3RpdHV0aW9uRHRvW11cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdXJ2ZXlTdGF0ZTogU3VydmV5U3RhdGUgPSB7XHJcbiAgICBzZWxlY3RlZFBhZ2VJZDogbnVsbCxcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IHF1ZXN0aW9uR3JvdXBBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoKSxcclxuICAgIHJ1bGVBcnI6IHJ1bGVBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6IFtdXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBfc3VydmV5UmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXHJcbiAgICBpbml0aWFsU3VydmV5U3RhdGUsXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmxvYWRTdXJ2ZXksIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5zZXRBbGwocHJvcHMucXVlc3Rpb25BcnIsIHN0YXRlLnF1ZXN0aW9uQXJyKSxcclxuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cEFycjogcXVlc3Rpb25Hcm91cEFkYXB0ZXIuc2V0QWxsKHByb3BzLnF1ZXN0aW9uR3JvdXBBcnIsIHN0YXRlLnF1ZXN0aW9uR3JvdXBBcnIpLFxyXG4gICAgICAgICAgICBydWxlQXJyOiBydWxlQWRhcHRlci5zZXRBbGwocHJvcHMucnVsZUFyciwgc3RhdGUucnVsZUFyciksXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUGFnZUlkOiBwcm9wcy5zZWxlY3RlZFBhZ2VJZCxcclxuICAgICAgICAgICAgSW5zdGl0dXRpb25BcnI6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmFkZFF1ZXN0aW9uLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIuYWRkT25lKHByb3BzLnF1ZXN0aW9uLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCB8fCBxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5GZWVkQmFjaykge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcXVlc3Rpb24ucXVlc3Rpb25BbGxJbmZvLnN1cnZleUFuc3dlcnNbMF0uYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uQ2hlY2tCb3ggfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRHJvcERvd25NdWx0aSkge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZEFycjogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUodXBkYXRlTW9kZWwsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgaWYgKHF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgIHZhciB1cGRhdGVNb2RlbDogVXBkYXRlPFF1ZXN0aW9uTmdyeE1vZGVsPjtcclxuXHJcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHByb3BzLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJUZXh0OiBwcm9wcy5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlckxldmVsSWQ6IHByb3BzLmFuc3dlckxldmVsSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUodXBkYXRlTW9kZWwsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblNob3csIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNTaG93OiBwcm9wcy5pc1Nob3cgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNTaG93LCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdXBkYXRlcyA9IHByb3BzLnF1ZXN0aW9ucy5tYXAocSA9PiAoe1xyXG4gICAgICAgICAgICBpZDogcS5pZCxcclxuICAgICAgICAgICAgY2hhbmdlczogeyBpc1Nob3c6IHByb3BzLmlzU2hvdyAsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOiBxLnBhc3NlZFJ1bGVRdWVzdGlvbklkIH1cclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlTWFueSh1cGRhdGVzLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25EaXNhYmxlLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHByb3BzLmlzRGlzYWJsZWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCB1cGRhdGVzID0gcHJvcHMucXVlc3Rpb25zLm1hcChxID0+ICh7XHJcbiAgICAgICAgICAgIGlkOiBxLmlkICAsXHJcbiAgICAgICAgICAgIGNoYW5nZXM6IHsgaXNEaXNhYmxlZDogcHJvcHMuaXNEaXNhYmxlZCAsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOiBxLnBhc3NlZFJ1bGVRdWVzdGlvbklkIH1cclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlTWFueSh1cGRhdGVzLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBwcm9wcy5pc1JlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbiwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnJlbW92ZU9uZShwcm9wcy5xdWVzdGlvbklkLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUGFnZUlkLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUGFnZUlkOiBwcm9wcy5wYWdlSWRcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBJbnN0aXR1dGlvbkFycjogcHJvcHMuaW5zdGl0dXRpb25BcnJcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMucmVzZXRTdXJ2ZXksIChzdGF0ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmluaXRpYWxTdXJ2ZXlTdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbik7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3VydmV5UmVkdWNlcihzdGF0ZSwgYWN0aW9uKSB7XHJcbiAgICByZXR1cm4gX3N1cnZleVJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUkvRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxFQUFFO0lBQ3hELFdBQVcsRUFBRSxlQUFlLENBQUMsZUFBZSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFO0lBQ3RDLGNBQWMsRUFBRSxFQUFFO0NBQ3JCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUN2QyxrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN6RSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RixPQUFPLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDekQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1FBQ3BDLGNBQWMsRUFBRSxFQUFFO0tBQ3JCLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUMzQyxPQUFPO1FBQ0gsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO0tBQ3pFLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3BELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUYsSUFBSSxRQUFRLEVBQUU7UUFDVixJQUFJLFdBQXNDLENBQUM7UUFFM0MsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUMzRyxXQUFXLEdBQUc7Z0JBQ1YsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUNwQixPQUFPLEVBQUU7b0JBQ0wsUUFBUSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7b0JBQzVELFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDeEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2lCQUN6QjthQUNKLENBQUM7U0FDTDthQUNJLElBQUksUUFBUSxDQUFDLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUU7WUFDcEgsV0FBVyxHQUFHO2dCQUNWLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDcEIsT0FBTyxFQUFFO29CQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDekIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2lCQUN6QjthQUNKLENBQUM7U0FDTDthQUNJO1lBQ0QsV0FBVyxHQUFHO2dCQUNWLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDcEIsT0FBTyxFQUFFO29CQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2lCQUN6QjthQUNKLENBQUM7U0FDTDtRQUNELE9BQU87WUFDSCxHQUFHLEtBQUs7WUFDUixXQUFXLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUN6RSxDQUFBO0tBQ0o7SUFFRCxPQUFPO1FBQ0gsR0FBRyxLQUFLO0tBQ1gsQ0FBQTtBQUNMLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRixJQUFJLFFBQVEsRUFBRTtRQUNWLElBQUksV0FBc0MsQ0FBQztRQUUzQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQ2hELFdBQVcsR0FBRztnQkFDVixFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRTtvQkFDTCxRQUFRLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtvQkFDNUQsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRO29CQUMxQixVQUFVLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQzdCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztpQkFDekI7YUFDSixDQUFDO1NBQ0w7UUFFRCxPQUFPO1lBQ0gsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDekUsQ0FBQTtLQUNKO0lBRUQsT0FBTztRQUNILEdBQUcsS0FBSztLQUNYLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLCtCQUErQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQy9ELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUYsSUFBSSxRQUFRLEVBQUU7UUFDVixJQUFJLFdBQXNDLENBQUM7UUFFM0MsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFlBQVksRUFBRTtZQUN4RCxXQUFXLEdBQUc7Z0JBQ1YsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUNwQixPQUFPLEVBQUU7b0JBQ0wsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO29CQUN4QixVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3hCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtvQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2lCQUN6QjthQUNKLENBQUM7WUFFRixPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUixXQUFXLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUN6RSxDQUFBO1NBQ0o7S0FDSjtJQUVELE9BQU87UUFDSCxHQUFHLEtBQUs7S0FDWCxDQUFBO0FBQ0wsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNsRCxPQUFPO1FBQ0gsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDbkMsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3BCLE9BQU8sRUFBRTtnQkFDTCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07YUFDdkI7U0FDSixFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUM7S0FDeEIsQ0FBQTtBQUNMLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDbkQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtRQUNSLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRTtLQUNsRixDQUFDLENBQUMsQ0FBQztJQUNKLE9BQU87UUFDSCxHQUFHLEtBQUs7UUFDUixXQUFXLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQztLQUN0RSxDQUFBO0FBQ0wsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNyRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFGLE9BQU87UUFDSCxHQUFHLEtBQUs7UUFDUixXQUFXLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDcEIsT0FBTyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTthQUMvQjtTQUNKLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQztLQUN4QixDQUFBO0FBQ0wsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN0RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQ1IsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFO0tBQzFGLENBQUMsQ0FBQyxDQUFDO0lBQ0osT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO0tBQ3RFLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3RELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUYsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQ25DLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUNwQixPQUFPLEVBQUU7Z0JBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2FBQy9CO1NBQ0osRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO0tBQ3hCLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUM5QyxPQUFPO1FBQ0gsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO0tBQzlFLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUM1QyxPQUFPO1FBQ0gsR0FBRyxLQUFLO1FBQ1IsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFNO0tBQy9CLENBQUE7QUFDTCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3pELE9BQU87UUFDSCxHQUFHLEtBQUs7UUFDUixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7S0FDdkMsQ0FBQTtBQUNMLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDcEMsT0FBTztRQUNILEdBQUcsa0JBQWtCO0tBQ3hCLENBQUE7QUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTTtJQUN2QyxPQUFPLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uQWRhcHRlciwgUXVlc3Rpb25FbnRpdHlTdGF0ZSwgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gXCIuL3N1cnZleS5hY3Rpb25cIjtcclxuaW1wb3J0IHsgUnVsZUVudGl0eVN0YXRlLCBydWxlQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3J1bGUuZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBFbnRpdHlTdGF0ZSwgcXVlc3Rpb25Hcm91cEFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IFVwZGF0ZSB9IGZyb20gXCJAbmdyeC9lbnRpdHlcIjtcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvXCI7XHJcblxyXG5jb25zdCB7IHNlbGVjdEFsbCwgc2VsZWN0SWRzIH0gPSBxdWVzdGlvbkFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cnZleVN0YXRlIHtcclxuICAgIHNlbGVjdGVkUGFnZUlkOiBudW1iZXIsXHJcbiAgICBxdWVzdGlvbkdyb3VwQXJyOiBRdWVzdGlvbkdyb3VwRW50aXR5U3RhdGUsXHJcbiAgICBxdWVzdGlvbkFycjogUXVlc3Rpb25FbnRpdHlTdGF0ZSxcclxuICAgIHJ1bGVBcnI6IFJ1bGVFbnRpdHlTdGF0ZSxcclxuICAgIEluc3RpdHV0aW9uQXJyOiBJbnN0aXR1dGlvbkR0b1tdXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBpbml0aWFsU3VydmV5U3RhdGU6IFN1cnZleVN0YXRlID0ge1xyXG4gICAgc2VsZWN0ZWRQYWdlSWQ6IG51bGwsXHJcbiAgICBxdWVzdGlvbkdyb3VwQXJyOiBxdWVzdGlvbkdyb3VwQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoKSxcclxuICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKCksXHJcbiAgICBydWxlQXJyOiBydWxlQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoKSxcclxuICAgIEluc3RpdHV0aW9uQXJyOiBbXVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgX3N1cnZleVJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxyXG4gICAgaW5pdGlhbFN1cnZleVN0YXRlLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5sb2FkU3VydmV5LCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIuc2V0QWxsKHByb3BzLnF1ZXN0aW9uQXJyLCBzdGF0ZS5xdWVzdGlvbkFyciksXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBBcnI6IHF1ZXN0aW9uR3JvdXBBZGFwdGVyLnNldEFsbChwcm9wcy5xdWVzdGlvbkdyb3VwQXJyLCBzdGF0ZS5xdWVzdGlvbkdyb3VwQXJyKSxcclxuICAgICAgICAgICAgcnVsZUFycjogcnVsZUFkYXB0ZXIuc2V0QWxsKHByb3BzLnJ1bGVBcnIsIHN0YXRlLnJ1bGVBcnIpLFxyXG4gICAgICAgICAgICBzZWxlY3RlZFBhZ2VJZDogcHJvcHMuc2VsZWN0ZWRQYWdlSWQsXHJcbiAgICAgICAgICAgIEluc3RpdHV0aW9uQXJyOiBbXVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbiwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLmFkZE9uZShwcm9wcy5xdWVzdGlvbiwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgaWYgKHF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgIHZhciB1cGRhdGVNb2RlbDogVXBkYXRlPFF1ZXN0aW9uTmdyeE1vZGVsPjtcclxuXHJcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQgfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmVlZEJhY2spIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJUZXh0OiBwcm9wcy5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkNoZWNrQm94IHx8IHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkRyb3BEb3duTXVsdGkpIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWRBcnI6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiBwcm9wcy5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHVwZGF0ZU1vZGVsLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGVcclxuICAgICAgICB9XHJcbiAgICB9KSwgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkZpbGVBbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkZpbGUpIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJUZXh0OiBwcm9wcy5maWxlTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyRmlsZTogcHJvcHMuZmlsZUJ5dGVBcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh1cGRhdGVNb2RlbCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkluc3RpdHV0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcHJvcHMuYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyTGV2ZWxJZDogcHJvcHMuYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh1cGRhdGVNb2RlbCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uU2hvdywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc1Nob3c6IHByb3BzLmlzU2hvd1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zU2hvdywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZXMgPSBwcm9wcy5xdWVzdGlvbnMubWFwKHEgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IHEuaWQsXHJcbiAgICAgICAgICAgIGNoYW5nZXM6IHsgaXNTaG93OiBwcm9wcy5pc1Nob3csIHBhc3NlZFJ1bGVRdWVzdGlvbklkOiBxLnBhc3NlZFJ1bGVRdWVzdGlvbklkIH1cclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlTWFueSh1cGRhdGVzLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25EaXNhYmxlLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHByb3BzLmlzRGlzYWJsZWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCB1cGRhdGVzID0gcHJvcHMucXVlc3Rpb25zLm1hcChxID0+ICh7XHJcbiAgICAgICAgICAgIGlkOiBxLmlkLFxyXG4gICAgICAgICAgICBjaGFuZ2VzOiB7IGlzRGlzYWJsZWQ6IHByb3BzLmlzRGlzYWJsZWQsIHBhc3NlZFJ1bGVRdWVzdGlvbklkOiBxLnBhc3NlZFJ1bGVRdWVzdGlvbklkIH1cclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlTWFueSh1cGRhdGVzLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBwcm9wcy5pc1JlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbiwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnJlbW92ZU9uZShwcm9wcy5xdWVzdGlvbklkLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUGFnZUlkLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUGFnZUlkOiBwcm9wcy5wYWdlSWRcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyU3VjY2VzcywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBJbnN0aXR1dGlvbkFycjogcHJvcHMuaW5zdGl0dXRpb25BcnJcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMucmVzZXRTdXJ2ZXksIChzdGF0ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLmluaXRpYWxTdXJ2ZXlTdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbik7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3VydmV5UmVkdWNlcihzdGF0ZSwgYWN0aW9uKSB7XHJcbiAgICByZXR1cm4gX3N1cnZleVJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19