nuxeo-development-framework 6.0.0 → 6.0.2

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.
Files changed (22) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +107 -32
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +18 -3
  4. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +29 -7
  5. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +16 -13
  6. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +2 -2
  7. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +2 -2
  8. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +10 -6
  9. package/esm2015/lib/components/notifications/services/notifications.service.js +8 -2
  10. package/esm2015/lib/shared/components/general-notification-popup/general-notification-popup.component.js +27 -0
  11. package/esm2015/lib/shared/libraryShared.module.js +10 -5
  12. package/esm2015/public-api.js +2 -1
  13. package/fesm2015/nuxeo-development-framework.js +106 -33
  14. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  15. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +1 -0
  16. package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +1 -0
  17. package/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.d.ts +1 -0
  18. package/lib/components/notifications/services/notifications.service.d.ts +2 -0
  19. package/lib/shared/components/general-notification-popup/general-notification-popup.component.d.ts +11 -0
  20. package/lib/shared/libraryShared.module.d.ts +15 -14
  21. package/package.json +1 -1
  22. package/public-api.d.ts +1 -0
@@ -256,7 +256,7 @@ export class DynamicFormTextItemComponent {
256
256
  }
257
257
  DynamicFormTextItemComponent.DEFAULT_SEPARATOR = ', ';
258
258
  DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
259
- DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
259
+ DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
260
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
261
261
  type: Component,
262
262
  args: [{
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
313
313
  type: ViewChild,
314
314
  args: ['editorInput']
315
315
  }] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRlZFZhbHVlID0gb2JqO1xyXG4gICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gb2JqO1xyXG5cclxuICAgIC8vICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgfVxyXG5cclxuICBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RW1wdHkgfHwgIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NsaWNrYWJsZUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uKCkgJiYgdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaXNDbGlja2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LmNsaWNrYWJsZTtcclxuICB9XHJcblxyXG4gIGhhc0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5Lmljb247XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGFsbG93U3BhY2UoZSkge1xyXG4gICAgaWYgKHRoaXMucHJldmVudFNwYWNlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RWRpdE1vZGUoZWRpdFN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pbkVkaXQgPSBlZGl0U3RhdHVzO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvcklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JJbnB1dD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZXNldChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgICAgdGhpcy5wcm9wZXJ0eSxcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZVxyXG4gICAgKTtcclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSB1cGRhdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsLFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dEFyZWFJbnB1dENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMucHJvcGVydHkuZ2V0VmFsaWRhdGlvbkVycm9ycyh0aGlzLmVkaXRlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLmNsaWNrZWQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW07XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHNlbGVjdGVkSXRlbS50aXRsZTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0aW5nKCl7XHJcbiAgICBpZih0aGlzLmVtaXRGdWxsT2JqZWN0KXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBpZighdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4udGhpcy5vdXRzaWRlUGFyYW1zXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmIGkgd2FzIHNlbmRpbmcgdGVuYW50IGlkIGZyb20gb3V0c2lkZSB0aGVuIGkgYW0gaW4gY2FzZSBvZiBtdWx0aSB0ZW5hbnQgdGhlbiBhZGQgdGVuYW50IGlkIHRvIHBhcmFtc1xyXG4gICAgICBpZih0aGlzLnRlbmFudElkKXtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICAvLyBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXSA9ICh2YWwpID8gYCUke3ZhbH0lYCA6ICcnO1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwiY2FzZVNlbnNpdGl2ZVwiICYmIHZhbCl7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuVG9DYXNlSW5zZW5zaXRpdmUodmFsKTtcclxuICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT1yZXN1bHQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJwZXJjZW50YWdlXCIgJiYgdmFsKXtcclxuXHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0nJScrdmFsKyclJztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVjayBpZiByZWxhdGlvbiB0aGVuIHdpbGwgdXNlIGVudHJpZXMgdGhlbiBmZXRjaCBvbmx5IHJlcXVpcmVkIHNjaGVtYXNcclxuICAgICAgLy8gYW5kIG90aGVyIHN1Z2dlc3RlciB3aWxsIHVzZSBhZ2dyZWdhdGlvbnMgZnJvbSByZXNwb25zZSBub3QgZW50cmllcyB0aGVuIGFkZCBwYWdlIHNpemUgMFxyXG4gICAgICAvLyBhbGwgdGhpcyB0byBkZWNyZWFzZSByZXNwb25zZSBzaXplXHJcbiAgICAgIGxldCBjdXN0b21Qcm9wZXJ0aWVzID0gJyonXHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9PT0gJ1BQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2gnKXtcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzID0gJ0NvcnJlc3BvbmRlbmNlJztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcGFyYW1zLnBhZ2VTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZVxyXG4gICAgICAgIC5nZXRUZXh0Qm94U3VnZ2VzdGlvblJlc3VsdHMoXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVLZXksXHJcbiAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gZGF0YS5maWx0ZXIoKG9wdGlvbikgPT5cclxuICAgICAgICAgICAgb3B0aW9uLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50TGlzdC5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBUb0Nhc2VJbnNlbnNpdGl2ZSAob3JnaW5hbFRleHQpe1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBsZXQgb3JnaW5hbFRleHRMb3dlckNhc2UgPSBvcmdpbmFsVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZm9yKGxldCBpPTA7aTxvcmdpbmFsVGV4dExvd2VyQ2FzZS5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYob3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpID49ICdhJyAmJiBvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPD0gJ3onKVxyXG4gICAgICAgcmVzdWx0ID0gcmVzdWx0K1wiW1wiK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKStvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKStcIl1cIjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCtvcmdpbmFsVGV4dC5jaGFyQXQoaSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiLipcIityZXN1bHQrXCIuKlwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbXgtMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZSgpOyBlbHNlIHJlYWRPbmx5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1vbmVcIiAoY2xpY2tPdXRzaWRlKT1cIm9wZW5PcHRpb25zKGZhbHNlKVwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lucHV0LWZpbGxlZCcgOiAoZW1pdEZ1bGxPYmplY3QgPyAoZWRpdGVkVmFsdWU/LnRpdGxlKSA6IGVkaXRlZFZhbHVlKSB9XCJcclxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwiYWxsb3dTcGFjZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgI2VkaXRvcklucHV0XHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtaXRGdWxsT2JqZWN0ID8gZWRpdGVkVmFsdWU/LnRpdGxlIDogZWRpdGVkVmFsdWVcIlxyXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIm5hdGl2ZUF1dG9Db21wbGV0ZVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGtleXVwKT1cIndhaXRVbnRpbFVzZXJGaW5pc2hUeXBpbmcoKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lZGl0aW5wdXQtJ1wiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib3Blbk9wdGlvbnModHJ1ZSlcIlxyXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCJ7e21heENoYXJzTnVtfX1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudExpc3QubGVuZ3RoICE9PSAwXCIgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInN1Z2dlc3Rpb25zLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2QtYmxvY2snOiBzaG93c3VnZ2VzdGVkT3B0aW9ucyB9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRvY3VtZW50TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShvcHRpb24pXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBvcHRpb24udGl0bGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICAgICAgICAgIHt7IGxhYmVsIHwgdHJhbnNsYXRlIH19IHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnBhdHRlcm5cIj5cclxuICAgICAgICAgICAgICB7eyBcIndyb25nIHBhdHRlcm5cIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5taW5cIj5cclxuICAgICAgICAgICAgICB7eyBcIlZBTElEQVRPUlMuTUlOXCIgfCB0cmFuc2xhdGUgfX0ge3sgY29udHJvbC5lcnJvcnMubWluLm1pbiB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjcmVhZE9ubHk+XHJcbiAgICAgICAge3sgZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZSB9fVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9MlxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIGlzUmVxdWlyZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG9iajtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG9iajtcclxuXHJcbiAgICAvLyAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgZGlydHksIHRvdWNoZWQgfSA9IHRoaXMuY29udHJvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gZGlydHkgfHwgdG91Y2hlZCA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheUVtcHR5IHx8ICF0aGlzLnByb3BlcnR5LmlzRW1wdHkoKTtcclxuICB9XHJcblxyXG4gIHNob3dDbGlja2FibGVJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzSWNvbigpICYmIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0VkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGFibGU7XHJcbiAgfVxyXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGlzQ2xpY2thYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5jbGlja2FibGU7XHJcbiAgfVxyXG5cclxuICBoYXNJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5pY29uO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICBhbGxvd1NwYWNlKGUpIHtcclxuICAgIGlmICh0aGlzLnByZXZlbnRTcGFjZSkge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldEVkaXRNb2RlKGVkaXRTdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaW5FZGl0ID0gZWRpdFN0YXR1cztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9ySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAvKnRoaXMuZWRpdGVkVmFsdWUgPSB0aGlzLnByb3BlcnR5Lm11bHRpbGluZVxyXG4gICAgICA/IHRoaXMucHJvcGVydHkuZGlzcGxheVZhbHVlXHJcbiAgICAgIDogdGhpcy5wcm9wZXJ0eS52YWx1ZTsqL1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEVycm9yTWVzc2FnZXMoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0gdGhpcy5wcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICAgIHRoaXMucHJvcGVydHksXHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWVcclxuICAgICk7XHJcbiAgICAvLyB0aGlzLnByb3BlcnR5LnZhbHVlID0gdXBkYXRlZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCB1cGRhdGVkVmFsdWUpO1xyXG4gICAgdGhpcy5zZXRFZGl0TW9kZShmYWxzZSk7XHJcbiAgICB0aGlzLnJlc2V0RXJyb3JNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCxcclxuICAgIHZhbHVlOiBzdHJpbmdcclxuICApOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBvblRleHRBcmVhSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSB0aGlzLnByb3BlcnR5LmdldFZhbGlkYXRpb25FcnJvcnModGhpcy5lZGl0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS5jbGlja2VkKHRoaXMucHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pIHtcclxuICAgIGlmKHRoaXMuZW1pdEZ1bGxPYmplY3Qpe1xyXG4gICAgICB0aGlzLmVkaXRlZFZhbHVlID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW0udGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gW107XHJcbiAgfVxyXG5cclxuICByZXNldFNlbGVjdGluZygpe1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBudWxsO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZG9jdW1lbnRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGRlbGF5ZWRBY3Rpb247XHJcbiAgd2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpIHtcclxuICAgIGlmICh0aGlzLmRlbGF5ZWRBY3Rpb24pIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXllZEFjdGlvbik7XHJcbiAgICAgIHRoaXMuZGVsYXllZEFjdGlvbiA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpO1xyXG4gICAgICB9LCAxNTAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVsYXllZEFjdGlvbiA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hJbnB1dENoYW5nZSgpO1xyXG4gICAgICB9LCAxNTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoSW5wdXRDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGUpIHtcclxuICAgICAgaWYoIXRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5yZXNldFNlbGVjdGluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCB2YWwgPSB0aGlzLmVkaXRvcklucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5hdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyLFxyXG4gICAgICAgIC4uLnRoaXMub3V0c2lkZVBhcmFtc1xyXG4gICAgICB9O1xyXG4gICAgICAvLyBpZiBpIHdhcyBzZW5kaW5nIHRlbmFudCBpZCBmcm9tIG91dHNpZGUgdGhlbiBpIGFtIGluIGNhc2Ugb2YgbXVsdGkgdGVuYW50IHRoZW4gYWRkIHRlbmFudCBpZCB0byBwYXJhbXNcclxuICAgICAgaWYodGhpcy50ZW5hbnRJZCl7XHJcbiAgICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gYCR7dGhpcy50ZW5hbnRJZH1gXHJcbiAgICAgIH1cclxuICAgICAgLy8gcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV0gPSAodmFsKSA/IGAlJHt2YWx9JWAgOiAnJztcclxuICAgICAgaWYodGhpcy5hdXRvQ29tcGxldGVUeXBlPT1cImNhc2VTZW5zaXRpdmVcIiAmJiB2YWwpe1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLlRvQ2FzZUluc2Vuc2l0aXZlKHZhbCk7XHJcbiAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09cmVzdWx0O1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwicGVyY2VudGFnZVwiICYmIHZhbCl7XHJcblxyXG4gICAgICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV09JyUnK3ZhbCsnJSc7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0gJydcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2hlY2sgaWYgcmVsYXRpb24gdGhlbiB3aWxsIHVzZSBlbnRyaWVzIHRoZW4gZmV0Y2ggb25seSByZXF1aXJlZCBzY2hlbWFzXHJcbiAgICAgIC8vIGFuZCBvdGhlciBzdWdnZXN0ZXIgd2lsbCB1c2UgYWdncmVnYXRpb25zIGZyb20gcmVzcG9uc2Ugbm90IGVudHJpZXMgdGhlbiBhZGQgcGFnZSBzaXplIDBcclxuICAgICAgLy8gYWxsIHRoaXMgdG8gZGVjcmVhc2UgcmVzcG9uc2Ugc2l6ZVxyXG4gICAgICBsZXQgY3VzdG9tUHJvcGVydGllcyA9ICcqJ1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIgPT09ICdQUF9Db3JyZXNwb25kZW5jZV9SZWxhdGlvblNlYWNoJyl7XHJcbiAgICAgICAgY3VzdG9tUHJvcGVydGllcyA9ICdDb3JyZXNwb25kZW5jZSc7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHBhcmFtcy5wYWdlU2l6ZSA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2VcclxuICAgICAgICAuZ2V0VGV4dEJveFN1Z2dlc3Rpb25SZXN1bHRzKFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlLZXksXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlS2V5LFxyXG4gICAgICAgICAgY3VzdG9tUHJvcGVydGllc1xyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdCA9IGRhdGEuZmlsdGVyKChvcHRpb24pID0+XHJcbiAgICAgICAgICAgIG9wdGlvbi50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRMaXN0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9wdGlvbnModmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICAgIGlmICghdGhpcy5kb2N1bWVudExpc3QubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgVG9DYXNlSW5zZW5zaXRpdmUgKG9yZ2luYWxUZXh0KXtcclxuICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgbGV0IG9yZ2luYWxUZXh0TG93ZXJDYXNlID0gb3JnaW5hbFRleHQudG9Mb3dlckNhc2UoKTtcclxuICAgIGZvcihsZXQgaT0wO2k8b3JnaW5hbFRleHRMb3dlckNhc2UubGVuZ3RoO2krKyl7XHJcbiAgICAgIGlmKG9yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKSA+PSAnYScgJiYgb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpIDw9ICd6JylcclxuICAgICAgIHJlc3VsdCA9IHJlc3VsdCtcIltcIitvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkrb3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpLnRvVXBwZXJDYXNlKCkrXCJdXCI7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSByZXN1bHQrb3JnaW5hbFRleHQuY2hhckF0KGkpO1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIHJldHVybiBcIi4qXCIrcmVzdWx0K1wiLipcIjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1wcm9wZXJ0eS12YWx1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhcHAtaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBmb3I9XCJmb3JtR3JvdXBJbnB1dFNtYWxsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG14LTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGUoKTsgZWxzZSByZWFkT25seVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXctb25lXCIgKGNsaWNrT3V0c2lkZSk9XCJvcGVuT3B0aW9ucyhmYWxzZSlcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzRGlzYWJsZWQoKSB8fCBudWxsXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpbnB1dC1maWxsZWQnIDogKGVtaXRGdWxsT2JqZWN0ID8gKGVkaXRlZFZhbHVlPy50aXRsZSkgOiBlZGl0ZWRWYWx1ZSkgfVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cImFsbG93U3BhY2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICNlZGl0b3JJbnB1dFxyXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlXCJcclxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJuYXRpdmVBdXRvQ29tcGxldGVcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXl1cCk9XCJ3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZWRpdGlucHV0LSdcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5PcHRpb25zKHRydWUpXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwie3ttYXhDaGFyc051bX19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG9jdW1lbnRMaXN0Lmxlbmd0aCAhPT0gMFwiIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzdWdnZXN0aW9ucy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkLWJsb2NrJzogc2hvd3N1Z2dlc3RlZE9wdGlvbnMgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkb2N1bWVudExpc3RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0ob3B0aW9uKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fSB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5wYXR0ZXJuXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJ3cm9uZyBwYXR0ZXJuXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMubWluXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJWQUxJREFUT1JTLk1JTlwiIHwgdHJhbnNsYXRlIH19IHt7IGNvbnRyb2wuZXJyb3JzLm1pbi5taW4gfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5PlxyXG4gICAgICAgIHt7IGVtaXRGdWxsT2JqZWN0ID8gZWRpdGVkVmFsdWU/LnRpdGxlIDogZWRpdGVkVmFsdWUgfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -102,13 +102,17 @@ export class NotificationsSettingsComponent extends BaseNotification {
102
102
  _handleUnsubscribe(definition) {
103
103
  const subscriptions = this._subscriptionsSub.getValue();
104
104
  const _subscription = this._findSubscription(subscriptions, definition);
105
- if (!_subscription) {
106
- return;
105
+ let _apiCall;
106
+ // no subsc and sent by defult then call api
107
+ if (!_subscription && definition.sentByDefault) {
108
+ _apiCall = this.notificationsService.callUnSubscribeForNoSubscription(definition.uid);
109
+ }
110
+ else {
111
+ _apiCall = this.notificationsService
112
+ .unsubscribe(_subscription.uid);
107
113
  }
108
114
  this.changingItemId = definition.uid;
109
- this.notificationsService
110
- .unsubscribe(_subscription.uid)
111
- .pipe(switchMap(() => this.getSubscriptionsByChannel(this._channel.id).pipe(finalize(() => {
115
+ _apiCall.pipe(switchMap(() => this.getSubscriptionsByChannel(this._channel.id).pipe(finalize(() => {
112
116
  this.changingItemId = null;
113
117
  this._cdr.detectChanges();
114
118
  }))), finalize(() => {
@@ -160,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
160
164
  }], channel: [{
161
165
  type: Input
162
166
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvY29tcG9uZW50cy9ub3RpZmljYXRpb25zLXNldHRpbmdzL25vdGlmaWNhdGlvbnMtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1zZXR0aW5ncy9ub3RpZmljYXRpb25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7O0FBUTFDLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUE2QmxFLFlBQ1ksTUFBZ0IsRUFDbEIsaUJBQXFDLEVBQ3JDLElBQXVCLEVBQ3ZCLGNBQW1DLEVBQ1osWUFBaUM7UUFFaEUs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LENBQUM7UUFDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzRIQTNMVSw4QkFBOEIsZ0pBa0MvQixhQUFhO2dIQWxDWiw4QkFBOEIsa01DakMzQywyMURBMENBOzRGRFRhLDhCQUE4QjtrQkFOMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxXQUFXLEVBQUUseUNBQXlDO29CQUN0RCxTQUFTLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQztvQkFDdEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFtQ0ksTUFBTTsyQkFBQyxhQUFhOzRDQWpDYixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBT00sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIE5vdGlmaWNhdGlvbkRlZmluaXRpb25Nb2RlbCxcclxuICBOb3RpZmljYXRpb25EZWZpbml0aW9uUHJlc2VudGVyLFxyXG4gIE5vdGlmaWNhdGlvblN1YnNjcmlwdGlvblByZXNlbnRlcixcclxuICBWb2NhYnVsYXJ5VHlwZSxcclxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCYXNlTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vYmFzZS1ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgbWFwRGVmaW5pdGlvblRvUHJlc2VudGVyLFxyXG4gIG1hcFN1YnNjcmlwdGlvblRvUHJlc2VudGVyLFxyXG59IGZyb20gJy4vbm90aWZpY2F0aW9ucy1zZXR0aW5ncy5hZGFwdGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBCYXNlTm90aWZpY2F0aW9uIHtcclxuICBAT3V0cHV0KCkgb25TdWJzY3JpYmUgPSBuZXcgRXZlbnRFbWl0dGVyPE5vdGlmaWNhdGlvbkRlZmluaXRpb25QcmVzZW50ZXI+KCk7XHJcbiAgQE91dHB1dCgpIG9uVW5zdWJzY3JpYmUgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZDxzdHJpbmcsIGFueT4+KCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5uZWxTdWIgPSBuZXcgUmVwbGF5U3ViamVjdDxWb2NhYnVsYXJ5VHlwZT4oKTtcclxuXHJcbiAgY2hhbmdpbmdJdGVtSWQ6IHN0cmluZztcclxuICBpc0xvYWRpbmdSZXN1bHQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9jaGFubmVsOiBWb2NhYnVsYXJ5VHlwZTtcclxuICBASW5wdXQoKSBzZXQgY2hhbm5lbCh2YWx1ZTogVm9jYWJ1bGFyeVR5cGUpIHtcclxuICAgIHRoaXMuX2NoYW5uZWwgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9jaGFubmVsU3ViLm5leHQodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRMYW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UudXNlckxhbmc7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0IF9hcHBLZXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQ/LmFwcEtleTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnNTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxyXG4gICAgTm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uUHJlc2VudGVyW11cclxuICA+KFtdKTtcclxuXHJcbiAgcmVhZG9ubHkgc2V0dGluZ3MkID0gdGhpcy5fcHJlcGFyZVNldHRpbmdzKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGluamVjdDogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfdG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBfZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIGFueT5cclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdWJzY3JpcHRpb25zQnlDaGFubmVsKGNoYW5uZWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2VcclxuICAgICAgLmdldFN1YnNjcmlwdGlvbnMoe1xyXG4gICAgICAgIG5vdGZzdWJzY3JpcHRpb25fY2hhbm5lbDogY2hhbm5lbCxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUobWFwKChkYXRhKSA9PiBkYXRhLm1hcChtYXBTdWJzY3JpcHRpb25Ub1ByZXNlbnRlcikpKTtcclxuICB9XHJcblxyXG4gIGdldERlZmluaXRpb25zQnlDaGFubmVsKGNoYW5uZWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2VcclxuICAgICAgLmdldERlZmluaXRpb25zKHtcclxuICAgICAgICBub3Rmbm90aWZpY2F0aW9uZGVmX2NoYW5uZWw6IGNoYW5uZWwsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZWR1Y2UoKGdyb3VwLCBpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hJdGVtKGl0ZW0sIGNoYW5uZWwpKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IF9kYXRhID0gbWFwRGVmaW5pdGlvblRvUHJlc2VudGVyKGl0ZW0pO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ3JvdXBCeShncm91cCwgX2RhdGEpO1xyXG4gICAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlcltdPik7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHNldHRpbmdDaGFuZ2VkKFxyXG4gICAgZGVmaW5pdGlvbjogTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlcixcclxuICAgIHN0YXRlOiBNYXRTbGlkZVRvZ2dsZUNoYW5nZVxyXG4gICkge1xyXG4gICAgaWYgKHN0YXRlLmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5faGFuZGxlU3Vic2NyaWJlKGRlZmluaXRpb24pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGFuZGxlVW5zdWJzY3JpYmUoZGVmaW5pdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlU2V0dGluZ3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2hhbm5lbFN1Yi5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nUmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgoY2hhbm5lbCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzLmdldERlZmluaXRpb25zQnlDaGFubmVsKGNoYW5uZWwuaWQpO1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSB0aGlzLmdldFN1YnNjcmlwdGlvbnNCeUNoYW5uZWwoY2hhbm5lbC5pZCkucGlwZShcclxuICAgICAgICAgIHN3aXRjaE1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zU3ViLm5leHQoZGF0YSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdWJzY3JpcHRpb25zU3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtkZWZpbml0aW9uLCBzdWJzY3JpcHRpb25zXSkucGlwZShcclxuICAgICAgICAgIG1hcCgoW2RlZmluaXRpb25zLCBzdWJzY3JpcHRpb25zXSkgPT4gKHsgZGVmaW5pdGlvbnMsIHN1YnNjcmlwdGlvbnMgfSkpLFxyXG4gICAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdSZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVTdWJzY3JpYmUoZGVmaW5pdGlvbjogTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlcikge1xyXG4gICAgdGhpcy5jaGFuZ2luZ0l0ZW1JZCA9IGRlZmluaXRpb24udWlkO1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZVxyXG4gICAgICAuc3Vic2NyaWJlKGRlZmluaXRpb24udWlkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cclxuICAgICAgICAgIHRoaXMuZ2V0U3Vic2NyaXB0aW9uc0J5Q2hhbm5lbCh0aGlzLl9jaGFubmVsLmlkKS5waXBlKFxyXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFuZ2luZ0l0ZW1JZCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIClcclxuICAgICAgICApLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMub25TdWJzY3JpYmUuZW1pdChkZWZpbml0aW9uKTtcclxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zU3ViLm5leHQocmVzKTtcclxuICAgICAgICB0aGlzLl90b2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAnbm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25zJyxcclxuICAgICAgICAgICdub3RpZmljYXRpb25zLnN1YnNjcmliZWREb25lJ1xyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlVW5zdWJzY3JpYmUoZGVmaW5pdGlvbjogTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlcikge1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHRoaXMuX3N1YnNjcmlwdGlvbnNTdWIuZ2V0VmFsdWUoKTtcclxuICAgIGNvbnN0IF9zdWJzY3JpcHRpb24gPSB0aGlzLl9maW5kU3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvbnMsIGRlZmluaXRpb24pO1xyXG4gICAgaWYgKCFfc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYW5naW5nSXRlbUlkID0gZGVmaW5pdGlvbi51aWQ7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlXHJcbiAgICAgIC51bnN1YnNjcmliZShfc3Vic2NyaXB0aW9uLnVpZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XHJcbiAgICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvbnNCeUNoYW5uZWwodGhpcy5fY2hhbm5lbC5pZCkucGlwZShcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdpbmdJdGVtSWQgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNoYW5naW5nSXRlbUlkID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uc1N1Yi5uZXh0KHJlcyk7XHJcbiAgICAgICAgdGhpcy5vblVuc3Vic2NyaWJlLmVtaXQoX3N1YnNjcmlwdGlvbik7XHJcbiAgICAgICAgdGhpcy5fdG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgJ25vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9ucycsXHJcbiAgICAgICAgICAnbm90aWZpY2F0aW9ucy51bnN1YnNjcmliZWREb25lJ1xyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmluZFN1YnNjcmlwdGlvbihcclxuICAgIHN1YnNjcmlwdGlvbnM6IE5vdGlmaWNhdGlvblN1YnNjcmlwdGlvblByZXNlbnRlcltdLFxyXG4gICAgZGVmaW5pdGlvbjogTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlclxyXG4gICkge1xyXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbnMuZmluZCgoc3ViKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgc3ViLmNoYW5uZWwgPT0gZGVmaW5pdGlvbi5jaGFubmVsICYmXHJcbiAgICAgICAgc3ViLmFwcGxpY2F0aW9uS2V5ID09IGRlZmluaXRpb24uYXBwbGljYXRpb25LZXkgJiZcclxuICAgICAgICBzdWIubm90aWZpY2F0aW9uS2V5ID09IGRlZmluaXRpb24ubm90aWZpY2F0aW9uS2V5XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21hdGNoSXRlbShkZWY6IE5vdGlmaWNhdGlvbkRlZmluaXRpb25Nb2RlbCwgY2hhbm5lbDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkZWYucHJvcGVydGllc1snbm90aWZfZGVmOmFwcGxpY2F0aW9uS2V5J10gPT0gdGhpcy5fYXBwS2V5ICYmXHJcbiAgICAgIGRlZi5wcm9wZXJ0aWVzWydub3RpZl9kZWY6Y2hhbm5lbCddID09IGNoYW5uZWxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9ncm91cEJ5KGdyb3VwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBpdGVtOiBOb3RpZmljYXRpb25EZWZpbml0aW9uUHJlc2VudGVyKSB7XHJcbiAgICBjb25zdCBrZXkgPSBpdGVtWydzb3VyY2VUeXBlJ107XHJcbiAgICBncm91cFtrZXldID0gZ3JvdXBba2V5XSA/PyBbXTtcclxuICAgIGdyb3VwW2tleV0ucHVzaChpdGVtKTtcclxuICAgIHJldHVybiBncm91cDtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1zcGlubmVyICpuZ0lmPVwiaXNMb2FkaW5nUmVzdWx0XCIgY2xhc3M9XCJtdC00IG14LWF1dG9cIiBbZGlhbWV0ZXJdPVwiNDhcIj48L21hdC1zcGlubmVyPlxyXG48ZGl2ICpuZ0lmPVwic2V0dGluZ3MkIHwgYXN5bmMgYXMgc2V0dGluZ3NcIiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtc2V0dGluZ3NcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1Jlc3VsdCAmJiBzZXR0aW5ncy5kZWZpbml0aW9uc1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2Ygc2V0dGluZ3MuZGVmaW5pdGlvbnMgfCBrZXl2YWx1ZVwiXHJcbiAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9ucy1zZXR0aW5nc19fc2VjdGlvbiBub3RpZmljYXRpb25zLXNldHRpbmdzX19zZWN0aW9uLS17e1xyXG4gICAgICAgIGdyb3VwLmtleVxyXG4gICAgICB9fVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLXNldHRpbmdzX19zZWN0aW9uX190aXRsZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj4gdHVuZSA8L21hdC1pY29uPlxyXG4gICAgICAgIDxzdHJvbmc+IHt7ICd2b2NhYnVsYXJ5LlZPQ19Ob3RmX1NvdXJjZVR5cGVzLicgKyBncm91cC5rZXkgfCB0cmFuc2xhdGUgfX08L3N0cm9uZz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLXNldHRpbmdzX19zZWN0aW9uX19jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGVmaW5pdGlvbiBvZiBncm91cC52YWx1ZVwiIGNsYXNzPVwibm90aWZpY2F0aW9ucy1zZXR0aW5nc19fZ3JvdXBcIj5cclxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICAgICAgICAgIFtuYW1lXT1cImRlZmluaXRpb24udGl0bGVcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJcclxuICAgICAgICAgICAgICBkZWZpbml0aW9uLmF1dG9TdWJzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgID8gdHJ1ZVxyXG4gICAgICAgICAgICAgICAgOiAoZGVmaW5pdGlvbiB8IGNoZWNrSWZTdWJzY3JpYmVkIDogc2V0dGluZ3Muc3Vic2NyaXB0aW9ucylcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb25zLXNldHRpbmdzX19ncm91cF9fdG9nZ2xlXCJcclxuICAgICAgICAgICAgW2NsYXNzLmlzLWxvYWRpbmddPVwiY2hhbmdpbmdJdGVtSWQgPT09IGRlZmluaXRpb24udWlkXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRlZmluaXRpb24uYXV0b1N1YnNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0dGluZ0NoYW5nZWQoZGVmaW5pdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtc2V0dGluZ3NfX2dyb3VwX190aXRsZVwiXHJcbiAgICAgICAgICAgID57eyBjdXJyZW50TGFuZyA9PSAnYXInID8gZGVmaW5pdGlvbj8uYXJUaXRsZSA6IGRlZmluaXRpb24/LmVuVGl0bGUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICA8cCBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtc2V0dGluZ3NfX2dyb3VwX19kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgIGN1cnJlbnRMYW5nID09ICdhcicgPyBkZWZpbml0aW9uPy5hckRlc2NyaXB0aW9uIDogZGVmaW5pdGlvbj8uZW5EZXNjcmlwdGlvblxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvY29tcG9uZW50cy9ub3RpZmljYXRpb25zLXNldHRpbmdzL25vdGlmaWNhdGlvbnMtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1zZXR0aW5ncy9ub3RpZmljYXRpb25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7O0FBUTFDLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUE2QmxFLFlBQ1ksTUFBZ0IsRUFDbEIsaUJBQXFDLEVBQ3JDLElBQXVCLEVBQ3ZCLGNBQW1DLEVBQ1osWUFBaUM7UUFFaEUs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QUNKLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBMEIsRUFBRSxJQUFxQzs7UUFDaEYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsbUNBQUksRUFBRSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs0SEE3TFUsOEJBQThCLGdKQWtDL0IsYUFBYTtnSEFsQ1osOEJBQThCLGtNQ2pDM0MsMjFEQTBDQTs0RkRUYSw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUMseUNBQXlDLENBQUM7b0JBQ3RELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBbUNJLE1BQU07MkJBQUMsYUFBYTs0Q0FqQ2IsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQU9NLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBOb3RpZmljYXRpb25EZWZpbml0aW9uTW9kZWwsXHJcbiAgTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlcixcclxuICBOb3RpZmljYXRpb25TdWJzY3JpcHRpb25QcmVzZW50ZXIsXHJcbiAgVm9jYWJ1bGFyeVR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2Jhc2Utbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIG1hcERlZmluaXRpb25Ub1ByZXNlbnRlcixcclxuICBtYXBTdWJzY3JpcHRpb25Ub1ByZXNlbnRlcixcclxufSBmcm9tICcuL25vdGlmaWNhdGlvbnMtc2V0dGluZ3MuYWRhcHRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RpZmljYXRpb25zLXNldHRpbmdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9ucy1zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1NldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgQmFzZU5vdGlmaWNhdGlvbiB7XHJcbiAgQE91dHB1dCgpIG9uU3Vic2NyaWJlID0gbmV3IEV2ZW50RW1pdHRlcjxOb3RpZmljYXRpb25EZWZpbml0aW9uUHJlc2VudGVyPigpO1xyXG4gIEBPdXRwdXQoKSBvblVuc3Vic2NyaWJlID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ8c3RyaW5nLCBhbnk+PigpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFubmVsU3ViID0gbmV3IFJlcGxheVN1YmplY3Q8Vm9jYWJ1bGFyeVR5cGU+KCk7XHJcblxyXG4gIGNoYW5naW5nSXRlbUlkOiBzdHJpbmc7XHJcbiAgaXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfY2hhbm5lbDogVm9jYWJ1bGFyeVR5cGU7XHJcbiAgQElucHV0KCkgc2V0IGNoYW5uZWwodmFsdWU6IFZvY2FidWxhcnlUeXBlKSB7XHJcbiAgICB0aGlzLl9jaGFubmVsID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5fY2hhbm5lbFN1Yi5uZXh0KHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW50TGFuZygpIHtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLnVzZXJMYW5nO1xyXG4gIH1cclxuICBwcml2YXRlIGdldCBfYXBwS2V5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vudmlyb25tZW50Py5hcHBLZXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zU3ViID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcclxuICAgIE5vdGlmaWNhdGlvblN1YnNjcmlwdGlvblByZXNlbnRlcltdXHJcbiAgPihbXSk7XHJcblxyXG4gIHJlYWRvbmx5IHNldHRpbmdzJCA9IHRoaXMuX3ByZXBhcmVTZXR0aW5ncygpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBpbmplY3Q6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3RvYXN0clNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgX2Vudmlyb25tZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgKSB7XHJcbiAgICBzdXBlcihpbmplY3QpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3Vic2NyaXB0aW9uc0J5Q2hhbm5lbChjaGFubmVsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlXHJcbiAgICAgIC5nZXRTdWJzY3JpcHRpb25zKHtcclxuICAgICAgICBub3Rmc3Vic2NyaXB0aW9uX2NoYW5uZWw6IGNoYW5uZWwsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKG1hcCgoZGF0YSkgPT4gZGF0YS5tYXAobWFwU3Vic2NyaXB0aW9uVG9QcmVzZW50ZXIpKSk7XHJcbiAgfVxyXG5cclxuICBnZXREZWZpbml0aW9uc0J5Q2hhbm5lbChjaGFubmVsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlXHJcbiAgICAgIC5nZXREZWZpbml0aW9ucyh7XHJcbiAgICAgICAgbm90Zm5vdGlmaWNhdGlvbmRlZl9jaGFubmVsOiBjaGFubmVsLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVkdWNlKChncm91cCwgaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX21hdGNoSXRlbShpdGVtLCBjaGFubmVsKSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBncm91cDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBfZGF0YSA9IG1hcERlZmluaXRpb25Ub1ByZXNlbnRlcihpdGVtKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dyb3VwQnkoZ3JvdXAsIF9kYXRhKTtcclxuICAgICAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIE5vdGlmaWNhdGlvbkRlZmluaXRpb25QcmVzZW50ZXJbXT4pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBzZXR0aW5nQ2hhbmdlZChcclxuICAgIGRlZmluaXRpb246IE5vdGlmaWNhdGlvbkRlZmluaXRpb25QcmVzZW50ZXIsXHJcbiAgICBzdGF0ZTogTWF0U2xpZGVUb2dnbGVDaGFuZ2VcclxuICApIHtcclxuICAgIGlmIChzdGF0ZS5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZVN1YnNjcmliZShkZWZpbml0aW9uKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZVVuc3Vic2NyaWJlKGRlZmluaXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVNldHRpbmdzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NoYW5uZWxTdWIucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKGNoYW5uZWwpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZpbml0aW9uID0gdGhpcy5nZXREZWZpbml0aW9uc0J5Q2hhbm5lbChjaGFubmVsLmlkKTtcclxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gdGhpcy5nZXRTdWJzY3JpcHRpb25zQnlDaGFubmVsKGNoYW5uZWwuaWQpLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uc1N1Yi5uZXh0KGRhdGEpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc3Vic2NyaXB0aW9uc1N1Yi5hc09ic2VydmFibGUoKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbZGVmaW5pdGlvbiwgc3Vic2NyaXB0aW9uc10pLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKFtkZWZpbml0aW9ucywgc3Vic2NyaXB0aW9uc10pID0+ICh7IGRlZmluaXRpb25zLCBzdWJzY3JpcHRpb25zIH0pKSxcclxuICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlU3Vic2NyaWJlKGRlZmluaXRpb246IE5vdGlmaWNhdGlvbkRlZmluaXRpb25QcmVzZW50ZXIpIHtcclxuICAgIHRoaXMuY2hhbmdpbmdJdGVtSWQgPSBkZWZpbml0aW9uLnVpZDtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2VcclxuICAgICAgLnN1YnNjcmliZShkZWZpbml0aW9uLnVpZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XHJcbiAgICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvbnNCeUNoYW5uZWwodGhpcy5fY2hhbm5lbC5pZCkucGlwZShcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdpbmdJdGVtSWQgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLm9uU3Vic2NyaWJlLmVtaXQoZGVmaW5pdGlvbik7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uc1N1Yi5uZXh0KHJlcyk7XHJcbiAgICAgICAgdGhpcy5fdG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgJ25vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9ucycsXHJcbiAgICAgICAgICAnbm90aWZpY2F0aW9ucy5zdWJzY3JpYmVkRG9uZSdcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVVuc3Vic2NyaWJlKGRlZmluaXRpb246IE5vdGlmaWNhdGlvbkRlZmluaXRpb25QcmVzZW50ZXIpIHtcclxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSB0aGlzLl9zdWJzY3JpcHRpb25zU3ViLmdldFZhbHVlKCk7XHJcbiAgICBjb25zdCBfc3Vic2NyaXB0aW9uID0gdGhpcy5fZmluZFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25zLCBkZWZpbml0aW9uKTtcclxuICAgIGxldCBfYXBpQ2FsbDtcclxuICAgIC8vIG5vIHN1YnNjIGFuZCBzZW50IGJ5IGRlZnVsdCB0aGVuIGNhbGwgYXBpXHJcbiAgICBpZiAoIV9zdWJzY3JpcHRpb24gJiYgZGVmaW5pdGlvbi5zZW50QnlEZWZhdWx0KSB7XHJcbiAgICAgIF9hcGlDYWxsID0gIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuY2FsbFVuU3Vic2NyaWJlRm9yTm9TdWJzY3JpcHRpb24oZGVmaW5pdGlvbi51aWQpXHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIF9hcGlDYWxsID0gIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2VcclxuICAgICAgLnVuc3Vic2NyaWJlKF9zdWJzY3JpcHRpb24udWlkKVxyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2luZ0l0ZW1JZCA9IGRlZmluaXRpb24udWlkO1xyXG4gICAgICBfYXBpQ2FsbC5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PlxyXG4gICAgICAgICAgdGhpcy5nZXRTdWJzY3JpcHRpb25zQnlDaGFubmVsKHRoaXMuX2NoYW5uZWwuaWQpLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmNoYW5naW5nSXRlbUlkID0gbnVsbDtcclxuICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFuZ2luZ0l0ZW1JZCA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnNTdWIubmV4dChyZXMpO1xyXG4gICAgICAgIHRoaXMub25VbnN1YnNjcmliZS5lbWl0KF9zdWJzY3JpcHRpb24pO1xyXG4gICAgICAgIHRoaXMuX3RvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICdub3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnMnLFxyXG4gICAgICAgICAgJ25vdGlmaWNhdGlvbnMudW5zdWJzY3JpYmVkRG9uZSdcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbmRTdWJzY3JpcHRpb24oXHJcbiAgICBzdWJzY3JpcHRpb25zOiBOb3RpZmljYXRpb25TdWJzY3JpcHRpb25QcmVzZW50ZXJbXSxcclxuICAgIGRlZmluaXRpb246IE5vdGlmaWNhdGlvbkRlZmluaXRpb25QcmVzZW50ZXJcclxuICApIHtcclxuICAgIHJldHVybiBzdWJzY3JpcHRpb25zLmZpbmQoKHN1YikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHN1Yi5jaGFubmVsID09IGRlZmluaXRpb24uY2hhbm5lbCAmJlxyXG4gICAgICAgIHN1Yi5hcHBsaWNhdGlvbktleSA9PSBkZWZpbml0aW9uLmFwcGxpY2F0aW9uS2V5ICYmXHJcbiAgICAgICAgc3ViLm5vdGlmaWNhdGlvbktleSA9PSBkZWZpbml0aW9uLm5vdGlmaWNhdGlvbktleVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9tYXRjaEl0ZW0oZGVmOiBOb3RpZmljYXRpb25EZWZpbml0aW9uTW9kZWwsIGNoYW5uZWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZGVmLnByb3BlcnRpZXNbJ25vdGlmX2RlZjphcHBsaWNhdGlvbktleSddID09IHRoaXMuX2FwcEtleSAmJlxyXG4gICAgICBkZWYucHJvcGVydGllc1snbm90aWZfZGVmOmNoYW5uZWwnXSA9PSBjaGFubmVsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ3JvdXBCeShncm91cDogUmVjb3JkPHN0cmluZywgYW55PiwgaXRlbTogTm90aWZpY2F0aW9uRGVmaW5pdGlvblByZXNlbnRlcikge1xyXG4gICAgY29uc3Qga2V5ID0gaXRlbVsnc291cmNlVHlwZSddO1xyXG4gICAgZ3JvdXBba2V5XSA9IGdyb3VwW2tleV0gPz8gW107XHJcbiAgICBncm91cFtrZXldLnB1c2goaXRlbSk7XHJcbiAgICByZXR1cm4gZ3JvdXA7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1Jlc3VsdFwiIGNsYXNzPVwibXQtNCBteC1hdXRvXCIgW2RpYW1ldGVyXT1cIjQ4XCI+PC9tYXQtc3Bpbm5lcj5cclxuPGRpdiAqbmdJZj1cInNldHRpbmdzJCB8IGFzeW5jIGFzIHNldHRpbmdzXCIgY2xhc3M9XCJub3RpZmljYXRpb25zLXNldHRpbmdzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdSZXN1bHQgJiYgc2V0dGluZ3MuZGVmaW5pdGlvbnNcIj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHNldHRpbmdzLmRlZmluaXRpb25zIHwga2V5dmFsdWVcIlxyXG4gICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtc2V0dGluZ3NfX3NlY3Rpb24gbm90aWZpY2F0aW9ucy1zZXR0aW5nc19fc2VjdGlvbi0te3tcclxuICAgICAgICBncm91cC5rZXlcclxuICAgICAgfX1cIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1zZXR0aW5nc19fc2VjdGlvbl9fdGl0bGVcIj5cclxuICAgICAgICA8bWF0LWljb24+IHR1bmUgPC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Ryb25nPiB7eyAndm9jYWJ1bGFyeS5WT0NfTm90Zl9Tb3VyY2VUeXBlcy4nICsgZ3JvdXAua2V5IHwgdHJhbnNsYXRlIH19PC9zdHJvbmc+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1zZXR0aW5nc19fc2VjdGlvbl9fY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRlZmluaXRpb24gb2YgZ3JvdXAudmFsdWVcIiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtc2V0dGluZ3NfX2dyb3VwXCI+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgICAgICBbbmFtZV09XCJkZWZpbml0aW9uLnRpdGxlXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiXHJcbiAgICAgICAgICAgICAgZGVmaW5pdGlvbi5hdXRvU3Vic2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICA/IHRydWVcclxuICAgICAgICAgICAgICAgIDogKGRlZmluaXRpb24gfCBjaGVja0lmU3Vic2NyaWJlZCA6IHNldHRpbmdzLnN1YnNjcmlwdGlvbnMpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9ucy1zZXR0aW5nc19fZ3JvdXBfX3RvZ2dsZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1sb2FkaW5nXT1cImNoYW5naW5nSXRlbUlkID09PSBkZWZpbml0aW9uLnVpZFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkZWZpbml0aW9uLmF1dG9TdWJzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInNldHRpbmdDaGFuZ2VkKGRlZmluaXRpb24sICRldmVudClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZmljYXRpb25zLXNldHRpbmdzX19ncm91cF9fdGl0bGVcIlxyXG4gICAgICAgICAgICA+e3sgY3VycmVudExhbmcgPT0gJ2FyJyA/IGRlZmluaXRpb24/LmFyVGl0bGUgOiBkZWZpbml0aW9uPy5lblRpdGxlIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJub3RpZmljYXRpb25zLXNldHRpbmdzX19ncm91cF9fZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICBjdXJyZW50TGFuZyA9PSAnYXInID8gZGVmaW5pdGlvbj8uYXJEZXNjcmlwdGlvbiA6IGRlZmluaXRpb24/LmVuRGVzY3JpcHRpb25cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -76,6 +76,11 @@ export class NotificationsService extends SocketService {
76
76
  unsubscribe(id) {
77
77
  return this._operation(id, 'unsubscribe');
78
78
  }
79
+ callUnSubscribeForNoSubscription(id) {
80
+ return this._operation(id, 'unSubscripFromSelectByDefultSubscitp', {
81
+ companyName: `${this._tenantId}`
82
+ });
83
+ }
79
84
  subscribe(id) {
80
85
  return this._operation(id, 'subscribe', {
81
86
  companyName: `${this._tenantId}`
@@ -180,7 +185,8 @@ NotificationsService.operations = {
180
185
  unsubscribe: 'AC_UA_NotfNotification_Unsubscribe',
181
186
  subscribe: 'AC_UA_NotfNotification_Subscribe',
182
187
  reset: 'AC_UA_NotfNotification_ResetSubscription',
183
- markAllAsUnread: 'AC_UA_NotfNotification_UnreadAll'
188
+ markAllAsUnread: 'AC_UA_NotfNotification_UnreadAll',
189
+ unSubscripFromSelectByDefultSubscitp: 'AC_UA_NotfNotification_UnSubscribe'
184
190
  };
185
191
  NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsService, deps: [{ token: 'environment' }, { token: i1.NuxeoService }, { token: i2.CallApiService }, { token: i3.HttpClient }, { token: i4.VocabularyApiService }], target: i0.ɵɵFactoryTarget.Injectable });
186
192
  NotificationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsService });
@@ -190,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
190
196
  type: Inject,
191
197
  args: ['environment']
192
198
  }] }, { type: i1.NuxeoService }, { type: i2.CallApiService }, { type: i3.HttpClient }, { type: i4.VocabularyApiService }]; } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVNuRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFHakQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUErQnREOztPQUVHO0lBQ0gsWUFDa0MsWUFBaUMsRUFDeEQsYUFBMkIsRUFDM0IsUUFBd0IsRUFDeEIsS0FBaUIsRUFDakIsYUFBb0M7O1FBRzlDLEtBQUssQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFQRixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDeEQsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUF0Qy9DLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO1FBMkMxRCxJQUFJLENBQUEsTUFBQSxNQUFBLElB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RSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUU7U0FDdEUsQ0FBQzthQUNELE1BQU0saUJBQ04sV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUNoQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFDekIsTUFBTSxFQUNSO2FBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUNvRCxDQUFDO0lBQ3BFLENBQUM7O0FBdlBlLCtCQUFVLEdBQUcsd0NBQXdDLENBQUM7QUFDdEQsNkJBQVEsR0FBRyxpREFBaUQsQ0FBQztBQUU3RCw4QkFBUyxHQUFHO0lBQzNCLGFBQWEsRUFBRSw0QkFBNEI7SUFDM0Msa0JBQWtCLEVBQUUsa0NBQWtDO0lBQ3RELFlBQVksRUFBRSwyQkFBMkI7SUFDekMsVUFBVSxFQUFFLHFDQUFxQztDQUNqRCxDQUFDO0FBRWMsK0JBQVUsR0FBRztJQUM1QixhQUFhLEVBQUUsZ0NBQWdDO0lBQy9DLFVBQVUsRUFBRSw2QkFBNkI7SUFDekMsWUFBWSxFQUFFLCtCQUErQjtJQUM3QyxhQUFhLEVBQUUsa0NBQWtDO0lBQ2pELFdBQVcsRUFBRSxvQ0FBb0M7SUFDakQsU0FBUyxFQUFFLGtDQUFrQztJQUM3QyxLQUFLLEVBQUUsMENBQTBDO0lBQ2pELGVBQWUsRUFBRSxrQ0FBa0M7Q0FDbkQsQ0FBQztrSEFyQlUsb0JBQW9CLGtCQW1DdkIsYUFBYTtzSEFuQ1Ysb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQW9DUixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlTW9kZWwsIEF1dG9tYXRpb25SZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IE5PVElGSUNBVElPTl9TVEFUVVMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQge1xyXG5cdE5vdGlmaWNhdGlvbkRlZmluaXRpb25Nb2RlbCxcclxuXHROb3RpZmljYXRpb25NZXNzYWdlTW9kZWwsXHJcblx0Tm90aWZpY2F0aW9uTW9kZWwsXHJcblx0Tm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uTW9kZWwsXHJcblx0UGF5bG9hZFBhcmFtc01vZGVsLFxyXG5cdFZvY2FidWxhcnlUeXBlXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgbWFwTm90aWZpY2F0aW9uc1RvUGFnaW5nUmVzcG9uc2UgfSBmcm9tICcuLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBTb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi9zb2NrZXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFZvY2FidWxhcnlBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1mb3JtL3NlcnZpY2VzL3ZvY2FidWxhcnktYXBpLnNlcnZpY2UnO1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zU2VydmljZSBleHRlbmRzIFNvY2tldFNlcnZpY2Uge1xyXG5cdGxpc3RlbmVyT2JzZXJ2ZXIgPSBuZXcgU3ViamVjdDxOb3RpZmljYXRpb25NZXNzYWdlTW9kZWw+KCk7XHJcblx0c3RhdGljIHJlYWRvbmx5IHNvdXJjZVR5cGUgPSAnL2FwaS92MS9kaXJlY3RvcnkvVk9DX05vdGZfU291cmNlVHlwZXMnO1xyXG5cdHN0YXRpYyByZWFkb25seSBjaGFubmVscyA9ICcvYXBpL3YxL2RpcmVjdG9yeS9WT0NfTm90Zl9Ob3RpZmljYXRpb25DaGFubmVscyc7XHJcblxyXG5cdHN0YXRpYyByZWFkb25seSBwcm92aWRlcnMgPSB7XHJcblx0XHRub3RpZmljYXRpb25zOiAnUFBfTm90Zk5vdGlmaWNhdGlvbkNvbnRlbnQnLFxyXG5cdFx0bm90aWZpY2F0aW9uc01hbmdvOiAnUFBfTm90Zk5vdGlmaWNhdGlvbkNvbnRlbnRfTW9uZ28nLFxyXG5cdFx0c3Vic2NyaXB0aW9uOiAnUFBfTm90ZlN1YnNjcmlwdGlvbl9Nb25nbycsXHJcblx0XHRkZWZpbml0aW9uOiAnUFBfTm90Zk5vdGlmaWNhdGlvbkRlZmluaXRpb25fTW9uZ28nXHJcblx0fTtcclxuXHJcblx0c3RhdGljIHJlYWRvbmx5IG9wZXJhdGlvbnMgPSB7XHJcblx0XHRtYXJrQWxsQXNSZWFkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9SZWFkQWxsJyxcclxuXHRcdG1hcmtBc1JlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1JlYWQnLFxyXG5cdFx0bWFya0FzVW5yZWFkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VbnJlYWQnLFxyXG5cdFx0bWFya0FzRGVsZXRlZDogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fVG9EZWxldGVkJyxcclxuXHRcdHVuc3Vic2NyaWJlOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VbnN1YnNjcmliZScsXHJcblx0XHRzdWJzY3JpYmU6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1N1YnNjcmliZScsXHJcblx0XHRyZXNldDogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fUmVzZXRTdWJzY3JpcHRpb24nLFxyXG5cdFx0bWFya0FsbEFzVW5yZWFkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VbnJlYWRBbGwnXHJcblx0fTtcclxuXHJcblx0cHJpdmF0ZSBnZXQgX3RlbmFudElkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX251eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQgPz8gJyc7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdldCBfYXBwS2V5KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2Vudmlyb25tZW50Py5hcHBLZXk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKlxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgX2Vudmlyb25tZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG5cdFx0cHJvdGVjdGVkIF9udXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBfY2FsbEFwaTogQ2FsbEFwaVNlcnZpY2UsXHJcblx0XHRwcm90ZWN0ZWQgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHZvY2FidWxhcnlBcGkgOiBWb2NhYnVsYXJ5QXBpU2VydmljZVxyXG5cclxuXHQpIHtcclxuXHRcdHN1cGVyKF9lbnZpcm9ubWVudCwgX251eGVvU2VydmljZSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuX251eGVvU2VydmljZS5udXhlb0NsaWVudD8udXNlcj8uaWQgJiYgdGhpcy5fZW52aXJvbm1lbnQ/LnNvY2tldFVybCkge1xyXG5cdFx0XHR0aGlzLnNvY2tldENvbm5lY3QoKVxyXG5cdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0c3dpdGNoTWFwKCgpID0+IHRoaXMub25NZXNzYWdlJCksXHJcblx0XHRcdFx0XHRjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycm9yKTtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHR0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXHJcblx0XHRcdFx0KVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5saXN0ZW5lck9ic2VydmVyLm5leHQocmVzKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldFVuUmVhZENvdW50KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY2FsbEFwaVxyXG5cdFx0XHQucXVlcnkoXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0cGFnZVByb3ZpZGVyOiBOb3RpZmljYXRpb25zU2VydmljZS5wcm92aWRlcnMubm90aWZpY2F0aW9uc01hbmdvLFxyXG5cdFx0XHRcdFx0cGFnZVNpemU6IDEsXHJcblx0XHRcdFx0XHRub3Rmbm90aWZpY2F0aW9uY29udGVudF9jb21wYW55OiBgJHt0aGlzLl90ZW5hbnRJZH1gLFxyXG5cdFx0XHRcdFx0bm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfYXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuXHRcdFx0XHRcdG5vdGZub3RpZmljYXRpb25jb250ZW50X3N0YXR1czogTk9USUZJQ0FUSU9OX1NUQVRVUy5uZXdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHt9XHJcblx0XHRcdClcclxuXHRcdFx0LnBpcGUobWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvbk1vZGVsPikgPT4gZGF0YS50b3RhbFNpemUgPz8gMCkpO1xyXG5cdH1cclxuXHJcblx0Z2V0Tm90aWZpY2F0aW9uc01vbmdvKHBheWxvYWQ6IFBheWxvYWRQYXJhbXNNb2RlbCA9IHt9KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZ2V0Tm90aWZpY2F0aW9ucyhOb3RpZmljYXRpb25zU2VydmljZS5wcm92aWRlcnMubm90aWZpY2F0aW9uc01hbmdvLCBwYXlsb2FkKTtcclxuXHR9XHJcblxyXG5cdGdldE5vdGlmaWNhdGlvbnMocGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0ge30pIHtcclxuXHRcdHJldHVybiB0aGlzLl9nZXROb3RpZmljYXRpb25zKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5ub3RpZmljYXRpb25zLCBwYXlsb2FkKTtcclxuXHR9XHJcblxyXG5cdG1hcmtBbGxBc1JlYWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZ2xvYmFsT3BlcmF0aW9uKCdtYXJrQWxsQXNSZWFkJyk7XHJcblx0fVxyXG5cclxuXHRtYXJrQWxsTmV3QXNVbnJlYWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZ2xvYmFsT3BlcmF0aW9uKCdtYXJrQWxsQXNVbnJlYWQnKTtcclxuXHR9XHJcblxyXG5cdG1hcmtBc1JlYWQoaWQ6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ21hcmtBc1JlYWQnKTtcclxuXHR9XHJcblxyXG5cdG1hcmtBc1VucmVhZChpZDogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAnbWFya0FzVW5yZWFkJyk7XHJcblx0fVxyXG5cclxuXHRtYXJrQXNEZWxldGVkKGlkOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLl9vcGVyYXRpb24oaWQsICdtYXJrQXNEZWxldGVkJyk7XHJcblx0fVxyXG5cclxuXHR1bnN1YnNjcmliZShpZDogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAndW5zdWJzY3JpYmUnKTtcclxuXHR9XHJcblxyXG5cdHN1YnNjcmliZShpZDogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAnc3Vic2NyaWJlJywge1xyXG5cdFx0XHRjb21wYW55TmFtZTogYCR7dGhpcy5fdGVuYW50SWR9YFxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRyZXNldFN1YnNjcmlwdGlvbnMoKSB7XHJcblx0XHRyZXR1cm4gZnJvbShcclxuXHRcdFx0dGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcblx0XHRcdFx0Lm9wZXJhdGlvbihOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zLnJlc2V0LCB7XHJcblx0XHRcdFx0XHR1cmw6IGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7dGhpcy5fZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQucGFyYW1zKHtcclxuXHRcdFx0XHRcdGNvbXBhbnlOYW1lOiBgJHt0aGlzLl90ZW5hbnRJZH1gLFxyXG5cdFx0XHRcdFx0YXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0LmV4ZWN1dGUoKVxyXG5cdFx0KSBhcyBPYnNlcnZhYmxlPEF1dG9tYXRpb25SZXNwb25zZU1vZGVsPFJlY29yZDxQcm9wZXJ0eUtleSwgYW55Pj4+O1xyXG5cdH1cclxuXHJcblx0Z2V0U291cmNlVHlwZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Vm9jYWJ1bGFyeSgnVk9DX05vdGZfU291cmNlVHlwZXMnKS5waXBlKFxyXG4gICAgICBtYXAoKGl0ZW1zOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRzID0gdGhpcy5fZW52aXJvbm1lbnQubm90aWZpY2F0aW9uRGVmYXVsdFNvdXJjZVR5cGVzO1xyXG4gICAgICAgIGlmIChkZWZhdWx0cz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBkZWZhdWx0cy5pbmNsdWRlcyhpdGVtLmlkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBpdGVtcztcclxuICAgICAgfSksXHJcbiAgICApO1xyXG5cdFx0Ly8gcmV0dXJuIHRoaXMuX2dldFZvY2FidWxhcnkoYCR7dGhpcy5fZW52aXJvbm1lbnQubnV4ZW99JHtOb3RpZmljYXRpb25zU2VydmljZS5zb3VyY2VUeXBlfWApO1xyXG5cdH1cclxuXHJcblx0Z2V0Q2hhbm5lbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Vm9jYWJ1bGFyeSgnVk9DX05vdGZfTm90aWZpY2F0aW9uQ2hhbm5lbHMnKTtcclxuXHRcdC8vIHJldHVybiB0aGlzLl9nZXRWb2NhYnVsYXJ5KGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7Tm90aWZpY2F0aW9uc1NlcnZpY2UuY2hhbm5lbHN9YCk7XHJcblx0fVxyXG5cclxuXHRnZXREZWZpbml0aW9ucyhwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuXHRcdFx0LnF1ZXJ5KFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdHBhZ2VQcm92aWRlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLmRlZmluaXRpb24sXHJcblx0XHRcdFx0XHRub3Rmbm90aWZpY2F0aW9uZGVmX2FwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcblx0XHRcdFx0XHRwYWdlU2l6ZTogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcblx0XHRcdFx0XHRub3Rmbm90aWZpY2F0aW9uZGVmX2lzQWN0aXZlOiB0cnVlLFxyXG5cdFx0XHRcdFx0Li4ucGF5bG9hZFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0aGVhZGVyczoge1xyXG5cdFx0XHRcdFx0XHRwcm9wZXJ0aWVzOiAnKidcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdClcclxuXHRcdFx0LnBpcGUobWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvbkRlZmluaXRpb25Nb2RlbD4pID0+IGRhdGEuZW50cmllcykpO1xyXG5cdH1cclxuXHJcblx0Z2V0U3Vic2NyaXB0aW9ucyhwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuXHRcdFx0LnF1ZXJ5KFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdHBhZ2VQcm92aWRlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLnN1YnNjcmlwdGlvbixcclxuXHRcdFx0XHRcdG5vdGZzdWJzY3JpcHRpb25fY29tcGFueU5hbWU6IGAke3RoaXMuX3RlbmFudElkfWAsXHJcblx0XHRcdFx0XHRub3Rmc3Vic2NyaXB0aW9uX2FwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcblx0XHRcdFx0XHRwYWdlU2l6ZTogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcblx0XHRcdFx0XHQuLi5wYXlsb2FkXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRoZWFkZXJzOiB7XHJcblx0XHRcdFx0XHRcdHByb3BlcnRpZXM6ICcqJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0XHQucGlwZShtYXAoKGRhdGE6IEFwaVJlc3BvbnNlTW9kZWw8Tm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uTW9kZWw+KSA9PiBkYXRhLmVudHJpZXMpKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2dldE5vdGlmaWNhdGlvbnMocGFnZVByb3ZpZGVyOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWRQYXJhbXNNb2RlbCA9IHt9KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY2FsbEFwaVxyXG5cdFx0XHQucXVlcnkoXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0cGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXIsXHJcblx0XHRcdFx0XHRub3Rmbm90aWZpY2F0aW9uY29udGVudF9jb21wYW55OiBgJHt0aGlzLl90ZW5hbnRJZH1gLFxyXG5cdFx0XHRcdFx0bm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfYXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuXHRcdFx0XHRcdC4uLnBheWxvYWRcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGhlYWRlcnM6IHtcclxuXHRcdFx0XHRcdFx0cHJvcGVydGllczogJyonXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKG1hcCgoZGF0YTogQXBpUmVzcG9uc2VNb2RlbDxOb3RpZmljYXRpb25Nb2RlbD4pID0+IG1hcE5vdGlmaWNhdGlvbnNUb1BhZ2luZ1Jlc3BvbnNlKGRhdGEpKSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9nZXRWb2NhYnVsYXJ5KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxWb2NhYnVsYXJ5VHlwZVtdPiB7XHJcblx0XHRyZXR1cm4gdGhpcy52b2NhYnVsYXJ5QXBpLmdldFZvY2FidWxhcnlMaXN0KHVybCk7XHJcblxyXG5cdFx0Ly8gcmV0dXJuIGZyb20odGhpcy5fbnV4ZW9TZXJ2aWNlLmdldFRva2VuKCkpLnBpcGUoXHJcblx0XHQvLyBcdG1hcCgodG9rZW4pID0+IHtcclxuXHRcdC8vIFx0XHRjb25zdCBiZWFyZXJUb2tlbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG5cdFx0Ly8gXHRcdGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBiZWFyZXJUb2tlbik7XHJcblx0XHQvLyBcdFx0cmV0dXJuIGhlYWRlcnM7XHJcblx0XHQvLyBcdH0pLFxyXG5cdFx0Ly8gXHRzd2l0Y2hNYXAoKGhlYWRlcnMpID0+IHRoaXMuX2h0dHAuZ2V0PEFwaVJlc3BvbnNlTW9kZWw8Vm9jYWJ1bGFyeVR5cGU+Pih1cmwsIHsgaGVhZGVycyB9KSksXHJcblx0XHQvLyBcdG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLmVudHJpZXMpLFxyXG5cdFx0Ly8gXHRtYXAoKGRhdGEpID0+IGRhdGEuc29ydCgoYSwgYikgPT4gKGIucHJvcGVydGllc1snb3JkZXJpbmcnXSA8IGEucHJvcGVydGllc1snb3JkZXJpbmcnXSA/IDEgOiAtMSkpKVxyXG5cdFx0Ly8gKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX29wZXJhdGlvbjxUUmVzcG9uc2UgPSBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT4+KFxyXG5cdFx0aWQ6IHN0cmluZyxcclxuXHRcdG9wdGlvbjoga2V5b2YgdHlwZW9mIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLm9wZXJhdGlvbnMsXHJcblx0XHRwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxyXG5cdCkge1xyXG5cdFx0cmV0dXJuIGZyb20oXHJcblx0XHRcdHRoaXMuX251eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG5cdFx0XHRcdC5vcGVyYXRpb24oTm90aWZpY2F0aW9uc1NlcnZpY2Uub3BlcmF0aW9uc1tvcHRpb25dLCB7XHJcblx0XHRcdFx0XHR1cmw6IGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7dGhpcy5fZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQucGFyYW1zKHBhcmFtcylcclxuXHRcdFx0XHQuaW5wdXQoaWQpXHJcblx0XHRcdFx0LmV4ZWN1dGUoKVxyXG5cdFx0KSBhcyBPYnNlcnZhYmxlPEF1dG9tYXRpb25SZXNwb25zZU1vZGVsPFRSZXNwb25zZT4+O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZ2xvYmFsT3BlcmF0aW9uKFxyXG5cdFx0b3B0aW9uOiBrZXlvZiB0eXBlb2YgTm90aWZpY2F0aW9uc1NlcnZpY2Uub3BlcmF0aW9ucyxcclxuXHRcdHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG5cdFx0aGVhZGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9XHJcblx0KSB7XHJcblx0XHRyZXR1cm4gZnJvbShcclxuXHRcdFx0dGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcblx0XHRcdFx0Lm9wZXJhdGlvbihOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zW29wdGlvbl0sIHtcclxuXHRcdFx0XHRcdHVybDogYCR7dGhpcy5fZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLl9lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC5wYXJhbXMoe1xyXG5cdFx0XHRcdFx0Y29tcGFueU5hbWU6IGAke3RoaXMuX3RlbmFudElkfWAsXHJcblx0XHRcdFx0XHRhcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG5cdFx0XHRcdFx0Li4ucGFyYW1zXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQuZXhlY3V0ZSh7fSlcclxuXHRcdCkgYXMgT2JzZXJ2YWJsZTxBdXRvbWF0aW9uUmVzcG9uc2VNb2RlbDxSZWNvcmQ8UHJvcGVydHlLZXksIGFueT4+PjtcclxuXHR9XHJcbn1cclxuIl19
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVNuRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFHakQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFnQ3REOztPQUVHO0lBQ0gsWUFDa0MsWUFBaUMsRUFDeEQsYUFBMkIsRUFDM0IsUUFBd0IsRUFDeEIsS0FBaUIsRUFDakIsYUFBb0M7O1FBRzlDLEtBQUssQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFQRixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDeEQsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUF2Qy9DLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO1FBNEMxRCxJQUFJLENBQUEsTUFBQSxNQUFBLElB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dCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2VNb2RlbCwgQXV0b21hdGlvblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTk9USUZJQ0FUSU9OX1NUQVRVUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7XHJcblx0Tm90aWZpY2F0aW9uRGVmaW5pdGlvbk1vZGVsLFxyXG5cdE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2RlbCxcclxuXHROb3RpZmljYXRpb25Nb2RlbCxcclxuXHROb3RpZmljYXRpb25TdWJzY3JpcHRpb25Nb2RlbCxcclxuXHRQYXlsb2FkUGFyYW1zTW9kZWwsXHJcblx0Vm9jYWJ1bGFyeVR5cGVcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBtYXBOb3RpZmljYXRpb25zVG9QYWdpbmdSZXNwb25zZSB9IGZyb20gJy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IFNvY2tldFNlcnZpY2UgfSBmcm9tICcuL3NvY2tldC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVm9jYWJ1bGFyeUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9keW5hbWljLWZvcm0vc2VydmljZXMvdm9jYWJ1bGFyeS1hcGkuc2VydmljZSc7XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNTZXJ2aWNlIGV4dGVuZHMgU29ja2V0U2VydmljZSB7XHJcblx0bGlzdGVuZXJPYnNlcnZlciA9IG5ldyBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2RlbD4oKTtcclxuXHRzdGF0aWMgcmVhZG9ubHkgc291cmNlVHlwZSA9ICcvYXBpL3YxL2RpcmVjdG9yeS9WT0NfTm90Zl9Tb3VyY2VUeXBlcyc7XHJcblx0c3RhdGljIHJlYWRvbmx5IGNoYW5uZWxzID0gJy9hcGkvdjEvZGlyZWN0b3J5L1ZPQ19Ob3RmX05vdGlmaWNhdGlvbkNoYW5uZWxzJztcclxuXHJcblx0c3RhdGljIHJlYWRvbmx5IHByb3ZpZGVycyA9IHtcclxuXHRcdG5vdGlmaWNhdGlvbnM6ICdQUF9Ob3RmTm90aWZpY2F0aW9uQ29udGVudCcsXHJcblx0XHRub3RpZmljYXRpb25zTWFuZ286ICdQUF9Ob3RmTm90aWZpY2F0aW9uQ29udGVudF9Nb25nbycsXHJcblx0XHRzdWJzY3JpcHRpb246ICdQUF9Ob3RmU3Vic2NyaXB0aW9uX01vbmdvJyxcclxuXHRcdGRlZmluaXRpb246ICdQUF9Ob3RmTm90aWZpY2F0aW9uRGVmaW5pdGlvbl9Nb25nbydcclxuXHR9O1xyXG5cclxuXHRzdGF0aWMgcmVhZG9ubHkgb3BlcmF0aW9ucyA9IHtcclxuXHRcdG1hcmtBbGxBc1JlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1JlYWRBbGwnLFxyXG5cdFx0bWFya0FzUmVhZDogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fUmVhZCcsXHJcblx0XHRtYXJrQXNVbnJlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1VucmVhZCcsXHJcblx0XHRtYXJrQXNEZWxldGVkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9Ub0RlbGV0ZWQnLFxyXG5cdFx0dW5zdWJzY3JpYmU6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1Vuc3Vic2NyaWJlJyxcclxuXHRcdHN1YnNjcmliZTogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fU3Vic2NyaWJlJyxcclxuXHRcdHJlc2V0OiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9SZXNldFN1YnNjcmlwdGlvbicsXHJcblx0XHRtYXJrQWxsQXNVbnJlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1VucmVhZEFsbCcsXHJcblx0XHR1blN1YnNjcmlwRnJvbVNlbGVjdEJ5RGVmdWx0U3Vic2NpdHAgOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VblN1YnNjcmliZSdcclxuXHR9O1xyXG5cclxuXHRwcml2YXRlIGdldCBfdGVuYW50SWQoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCA/PyAnJztcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0IF9hcHBLZXkoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQ/LmFwcEtleTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBfZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIGFueT4sXHJcblx0XHRwcm90ZWN0ZWQgX251eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG5cdFx0cHJvdGVjdGVkIF9jYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgdm9jYWJ1bGFyeUFwaSA6IFZvY2FidWxhcnlBcGlTZXJ2aWNlXHJcblxyXG5cdCkge1xyXG5cdFx0c3VwZXIoX2Vudmlyb25tZW50LCBfbnV4ZW9TZXJ2aWNlKTtcclxuXHJcblx0XHRpZiAodGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50Py51c2VyPy5pZCAmJiB0aGlzLl9lbnZpcm9ubWVudD8uc29ja2V0VXJsKSB7XHJcblx0XHRcdHRoaXMuc29ja2V0Q29ubmVjdCgpXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKCkgPT4gdGhpcy5vbk1lc3NhZ2UkKSxcclxuXHRcdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyb3IpO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RlbmVyT2JzZXJ2ZXIubmV4dChyZXMpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0VW5SZWFkQ291bnQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuXHRcdHJldHVybiB0aGlzLl9jYWxsQXBpXHJcblx0XHRcdC5xdWVyeShcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRwYWdlUHJvdmlkZXI6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5ub3RpZmljYXRpb25zTWFuZ28sXHJcblx0XHRcdFx0XHRwYWdlU2l6ZTogMSxcclxuXHRcdFx0XHRcdG5vdGZub3RpZmljYXRpb25jb250ZW50X2NvbXBhbnk6IGAke3RoaXMuX3RlbmFudElkfWAsXHJcblx0XHRcdFx0XHRub3Rmbm90aWZpY2F0aW9uY29udGVudF9hcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG5cdFx0XHRcdFx0bm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfc3RhdHVzOiBOT1RJRklDQVRJT05fU1RBVFVTLm5ld1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e31cclxuXHRcdFx0KVxyXG5cdFx0XHQucGlwZShtYXAoKGRhdGE6IEFwaVJlc3BvbnNlTW9kZWw8Tm90aWZpY2F0aW9uTW9kZWw+KSA9PiBkYXRhLnRvdGFsU2l6ZSA/PyAwKSk7XHJcblx0fVxyXG5cclxuXHRnZXROb3RpZmljYXRpb25zTW9uZ28ocGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0ge30pIHtcclxuXHRcdHJldHVybiB0aGlzLl9nZXROb3RpZmljYXRpb25zKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5ub3RpZmljYXRpb25zTWFuZ28sIHBheWxvYWQpO1xyXG5cdH1cclxuXHJcblx0Z2V0Tm90aWZpY2F0aW9ucyhwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2dldE5vdGlmaWNhdGlvbnMoTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLm5vdGlmaWNhdGlvbnMsIHBheWxvYWQpO1xyXG5cdH1cclxuXHJcblx0bWFya0FsbEFzUmVhZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9nbG9iYWxPcGVyYXRpb24oJ21hcmtBbGxBc1JlYWQnKTtcclxuXHR9XHJcblxyXG5cdG1hcmtBbGxOZXdBc1VucmVhZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9nbG9iYWxPcGVyYXRpb24oJ21hcmtBbGxBc1VucmVhZCcpO1xyXG5cdH1cclxuXHJcblx0bWFya0FzUmVhZChpZDogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAnbWFya0FzUmVhZCcpO1xyXG5cdH1cclxuXHJcblx0bWFya0FzVW5yZWFkKGlkOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLl9vcGVyYXRpb24oaWQsICdtYXJrQXNVbnJlYWQnKTtcclxuXHR9XHJcblxyXG5cdG1hcmtBc0RlbGV0ZWQoaWQ6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ21hcmtBc0RlbGV0ZWQnKTtcclxuXHR9XHJcblxyXG5cdHVuc3Vic2NyaWJlKGlkOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLl9vcGVyYXRpb24oaWQsICd1bnN1YnNjcmliZScpO1xyXG5cdH1cclxuXHJcblx0Y2FsbFVuU3Vic2NyaWJlRm9yTm9TdWJzY3JpcHRpb24oaWQpe1xyXG5cdFx0cmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ3VuU3Vic2NyaXBGcm9tU2VsZWN0QnlEZWZ1bHRTdWJzY2l0cCcsIHtcclxuXHRcdFx0Y29tcGFueU5hbWU6IGAke3RoaXMuX3RlbmFudElkfWBcclxuXHRcdH0pO1xyXG5cdH1cclxuXHRzdWJzY3JpYmUoaWQ6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ3N1YnNjcmliZScsIHtcclxuXHRcdFx0Y29tcGFueU5hbWU6IGAke3RoaXMuX3RlbmFudElkfWBcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cmVzZXRTdWJzY3JpcHRpb25zKCkge1xyXG5cdFx0cmV0dXJuIGZyb20oXHJcblx0XHRcdHRoaXMuX251eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG5cdFx0XHRcdC5vcGVyYXRpb24oTm90aWZpY2F0aW9uc1NlcnZpY2Uub3BlcmF0aW9ucy5yZXNldCwge1xyXG5cdFx0XHRcdFx0dXJsOiBgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuX2Vudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0LnBhcmFtcyh7XHJcblx0XHRcdFx0XHRjb21wYW55TmFtZTogYCR7dGhpcy5fdGVuYW50SWR9YCxcclxuXHRcdFx0XHRcdGFwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC5leGVjdXRlKClcclxuXHRcdCkgYXMgT2JzZXJ2YWJsZTxBdXRvbWF0aW9uUmVzcG9uc2VNb2RlbDxSZWNvcmQ8UHJvcGVydHlLZXksIGFueT4+PjtcclxuXHR9XHJcblxyXG5cdGdldFNvdXJjZVR5cGVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldFZvY2FidWxhcnkoJ1ZPQ19Ob3RmX1NvdXJjZVR5cGVzJykucGlwZShcclxuICAgICAgbWFwKChpdGVtczogYW55W10pID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0cyA9IHRoaXMuX2Vudmlyb25tZW50Lm5vdGlmaWNhdGlvbkRlZmF1bHRTb3VyY2VUeXBlcztcclxuICAgICAgICBpZiAoZGVmYXVsdHM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gZGVmYXVsdHMuaW5jbHVkZXMoaXRlbS5pZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuXHRcdC8vIHJldHVybiB0aGlzLl9nZXRWb2NhYnVsYXJ5KGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7Tm90aWZpY2F0aW9uc1NlcnZpY2Uuc291cmNlVHlwZX1gKTtcclxuXHR9XHJcblxyXG5cdGdldENoYW5uZWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldFZvY2FidWxhcnkoJ1ZPQ19Ob3RmX05vdGlmaWNhdGlvbkNoYW5uZWxzJyk7XHJcblx0XHQvLyByZXR1cm4gdGhpcy5fZ2V0Vm9jYWJ1bGFyeShgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke05vdGlmaWNhdGlvbnNTZXJ2aWNlLmNoYW5uZWxzfWApO1xyXG5cdH1cclxuXHJcblx0Z2V0RGVmaW5pdGlvbnMocGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0ge30pIHtcclxuXHRcdHJldHVybiB0aGlzLl9jYWxsQXBpXHJcblx0XHRcdC5xdWVyeShcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRwYWdlUHJvdmlkZXI6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5kZWZpbml0aW9uLFxyXG5cdFx0XHRcdFx0bm90Zm5vdGlmaWNhdGlvbmRlZl9hcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG5cdFx0XHRcdFx0cGFnZVNpemU6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxyXG5cdFx0XHRcdFx0bm90Zm5vdGlmaWNhdGlvbmRlZl9pc0FjdGl2ZTogdHJ1ZSxcclxuXHRcdFx0XHRcdC4uLnBheWxvYWRcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGhlYWRlcnM6IHtcclxuXHRcdFx0XHRcdFx0cHJvcGVydGllczogJyonXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKG1hcCgoZGF0YTogQXBpUmVzcG9uc2VNb2RlbDxOb3RpZmljYXRpb25EZWZpbml0aW9uTW9kZWw+KSA9PiBkYXRhLmVudHJpZXMpKTtcclxuXHR9XHJcblxyXG5cdGdldFN1YnNjcmlwdGlvbnMocGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0ge30pIHtcclxuXHRcdHJldHVybiB0aGlzLl9jYWxsQXBpXHJcblx0XHRcdC5xdWVyeShcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRwYWdlUHJvdmlkZXI6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5zdWJzY3JpcHRpb24sXHJcblx0XHRcdFx0XHRub3Rmc3Vic2NyaXB0aW9uX2NvbXBhbnlOYW1lOiBgJHt0aGlzLl90ZW5hbnRJZH1gLFxyXG5cdFx0XHRcdFx0bm90ZnN1YnNjcmlwdGlvbl9hcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG5cdFx0XHRcdFx0cGFnZVNpemU6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxyXG5cdFx0XHRcdFx0Li4ucGF5bG9hZFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0aGVhZGVyczoge1xyXG5cdFx0XHRcdFx0XHRwcm9wZXJ0aWVzOiAnKidcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdClcclxuXHRcdFx0LnBpcGUobWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvblN1YnNjcmlwdGlvbk1vZGVsPikgPT4gZGF0YS5lbnRyaWVzKSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9nZXROb3RpZmljYXRpb25zKHBhZ2VQcm92aWRlcjogc3RyaW5nLCBwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuXHRcdFx0LnF1ZXJ5KFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyLFxyXG5cdFx0XHRcdFx0bm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfY29tcGFueTogYCR7dGhpcy5fdGVuYW50SWR9YCxcclxuXHRcdFx0XHRcdG5vdGZub3RpZmljYXRpb25jb250ZW50X2FwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcblx0XHRcdFx0XHQuLi5wYXlsb2FkXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRoZWFkZXJzOiB7XHJcblx0XHRcdFx0XHRcdHByb3BlcnRpZXM6ICcqJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0XHQucGlwZShtYXAoKGRhdGE6IEFwaVJlc3BvbnNlTW9kZWw8Tm90aWZpY2F0aW9uTW9kZWw+KSA9PiBtYXBOb3RpZmljYXRpb25zVG9QYWdpbmdSZXNwb25zZShkYXRhKSkpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZ2V0Vm9jYWJ1bGFyeSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8Vm9jYWJ1bGFyeVR5cGVbXT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMudm9jYWJ1bGFyeUFwaS5nZXRWb2NhYnVsYXJ5TGlzdCh1cmwpO1xyXG5cclxuXHRcdC8vIHJldHVybiBmcm9tKHRoaXMuX251eGVvU2VydmljZS5nZXRUb2tlbigpKS5waXBlKFxyXG5cdFx0Ly8gXHRtYXAoKHRva2VuKSA9PiB7XHJcblx0XHQvLyBcdFx0Y29uc3QgYmVhcmVyVG9rZW4gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuXHRcdC8vIFx0XHRjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdBdXRob3JpemF0aW9uJywgYmVhcmVyVG9rZW4pO1xyXG5cdFx0Ly8gXHRcdHJldHVybiBoZWFkZXJzO1xyXG5cdFx0Ly8gXHR9KSxcclxuXHRcdC8vIFx0c3dpdGNoTWFwKChoZWFkZXJzKSA9PiB0aGlzLl9odHRwLmdldDxBcGlSZXNwb25zZU1vZGVsPFZvY2FidWxhcnlUeXBlPj4odXJsLCB7IGhlYWRlcnMgfSkpLFxyXG5cdFx0Ly8gXHRtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5lbnRyaWVzKSxcclxuXHRcdC8vIFx0bWFwKChkYXRhKSA9PiBkYXRhLnNvcnQoKGEsIGIpID0+IChiLnByb3BlcnRpZXNbJ29yZGVyaW5nJ10gPCBhLnByb3BlcnRpZXNbJ29yZGVyaW5nJ10gPyAxIDogLTEpKSlcclxuXHRcdC8vICk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9vcGVyYXRpb248VFJlc3BvbnNlID0gUmVjb3JkPFByb3BlcnR5S2V5LCBhbnk+PihcclxuXHRcdGlkOiBzdHJpbmcsXHJcblx0XHRvcHRpb246IGtleW9mIHR5cGVvZiBOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zLFxyXG5cdFx0cGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuXHQpIHtcclxuXHRcdHJldHVybiBmcm9tKFxyXG5cdFx0XHR0aGlzLl9udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuXHRcdFx0XHQub3BlcmF0aW9uKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLm9wZXJhdGlvbnNbb3B0aW9uXSwge1xyXG5cdFx0XHRcdFx0dXJsOiBgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuX2Vudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0LnBhcmFtcyhwYXJhbXMpXHJcblx0XHRcdFx0LmlucHV0KGlkKVxyXG5cdFx0XHRcdC5leGVjdXRlKClcclxuXHRcdCkgYXMgT2JzZXJ2YWJsZTxBdXRvbWF0aW9uUmVzcG9uc2VNb2RlbDxUUmVzcG9uc2U+PjtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2dsb2JhbE9wZXJhdGlvbihcclxuXHRcdG9wdGlvbjoga2V5b2YgdHlwZW9mIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLm9wZXJhdGlvbnMsXHJcblx0XHRwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuXHRcdGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxyXG5cdCkge1xyXG5cdFx0cmV0dXJuIGZyb20oXHJcblx0XHRcdHRoaXMuX251eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG5cdFx0XHRcdC5vcGVyYXRpb24oTm90aWZpY2F0aW9uc1NlcnZpY2Uub3BlcmF0aW9uc1tvcHRpb25dLCB7XHJcblx0XHRcdFx0XHR1cmw6IGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7dGhpcy5fZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQucGFyYW1zKHtcclxuXHRcdFx0XHRcdGNvbXBhbnlOYW1lOiBgJHt0aGlzLl90ZW5hbnRJZH1gLFxyXG5cdFx0XHRcdFx0YXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuXHRcdFx0XHRcdC4uLnBhcmFtc1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0LmV4ZWN1dGUoe30pXHJcblx0XHQpIGFzIE9ic2VydmFibGU8QXV0b21hdGlvblJlc3BvbnNlTW9kZWw8UmVjb3JkPFByb3BlcnR5S2V5LCBhbnk+Pj47XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/dialog";
4
+ import * as i2 from "../button/button.component";
5
+ import * as i3 from "../../../directive/rtl/set-rtl.directive";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class GeneralNotificationPopupComponent {
8
+ constructor(dialogRef) {
9
+ this.dialogRef = dialogRef;
10
+ }
11
+ ngOnInit() {
12
+ }
13
+ close() {
14
+ this.dialogRef.close(false);
15
+ }
16
+ }
17
+ GeneralNotificationPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GeneralNotificationPopupComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
18
+ GeneralNotificationPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GeneralNotificationPopupComponent, selector: "lib-general-notification-popup", ngImport: i0, template: "<div class=\"general-notification-popup-continaer\" SetRtl>\n <div class=\"popup-title\">\n {{'viewer.no_permission' | translate}}\n </div>\n <div class=\"updated-popup-body\">\n <div class=\"repated-data\">{{'viewer.NO_PERMISSION_READ' | translate}} \n </div>\n </div>\n <div class=\"button-group\">\n <cts-button size=\"'regular'\" [theme]=\"''\" class=\"new-primary-button-wrapper\" (onClick)=\"close()\"\n >\n {{ \"BUTTONS.CLOSE\" | translate }}\n </cts-button>\n </div>\n</div>", styles: [""], components: [{ type: i2.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }], directives: [{ type: i3.SetRtlDirective, selector: "[SetRtl]" }], pipes: { "translate": i4.TranslatePipe } });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GeneralNotificationPopupComponent, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: 'lib-general-notification-popup',
23
+ templateUrl: './general-notification-popup.component.html',
24
+ styleUrls: ['./general-notification-popup.component.css']
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUWxELE1BQU0sT0FBTyxpQ0FBaUM7SUFFNUMsWUFBb0IsU0FBMkQ7UUFBM0QsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7SUFBSSxDQUFDO0lBRXBGLFFBQVE7SUFDUixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OytIQVRVLGlDQUFpQzttSEFBakMsaUNBQWlDLHNFQ1I5Qyx1akJBY007NEZETk8saUNBQWlDO2tCQUw3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFdBQVcsRUFBRSw2Q0FBNkM7b0JBQzFELFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO2lCQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmFsLW5vdGlmaWNhdGlvbi1wb3B1cC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1JlZiA6IE1hdERpYWxvZ1JlZjxHZW5lcmFsTm90aWZpY2F0aW9uUG9wdXBDb21wb25lbnQ+KSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIGNsb3NlKCl7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAtY29udGluYWVyXCIgU2V0UnRsPlxuICAgIDxkaXYgY2xhc3M9XCJwb3B1cC10aXRsZVwiPlxuICAgICAgICB7eyd2aWV3ZXIubm9fcGVybWlzc2lvbicgfCB0cmFuc2xhdGV9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ1cGRhdGVkLXBvcHVwLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXBhdGVkLWRhdGFcIj57eyd2aWV3ZXIuTk9fUEVSTUlTU0lPTl9SRUFEJyB8IHRyYW5zbGF0ZX19IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncm91cFwiPlxuICAgICAgICA8Y3RzLWJ1dHRvbiBzaXplPVwiJ3JlZ3VsYXInXCIgW3RoZW1lXT1cIicnXCIgY2xhc3M9XCJuZXctcHJpbWFyeS1idXR0b24td3JhcHBlclwiIChvbkNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNMT1NFXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9jdHMtYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
@@ -17,6 +17,7 @@ import { RouterModule } from '@angular/router';
17
17
  import { DirectiveModule } from '../directive/directive.module';
18
18
  import { MatTooltipModule } from '@angular/material/tooltip';
19
19
  import { ElementHeightModule, FluidHeightModule } from './directives';
20
+ import { GeneralNotificationPopupComponent } from './components/general-notification-popup/general-notification-popup.component';
20
21
  import * as i0 from "@angular/core";
21
22
  /**
22
23
  * @title
@@ -30,7 +31,8 @@ LibrarySharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
30
31
  ButtonComponent,
31
32
  NoDataComponent,
32
33
  SpinnerComponent,
33
- ItemListComponent], imports: [AvatarModule,
34
+ ItemListComponent,
35
+ GeneralNotificationPopupComponent], imports: [AvatarModule,
34
36
  CommonModule,
35
37
  RouterModule,
36
38
  TranslateModule,
@@ -50,7 +52,8 @@ LibrarySharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
50
52
  SpinnerComponent,
51
53
  ItemListComponent,
52
54
  FluidHeightModule,
53
- ElementHeightModule] });
55
+ ElementHeightModule,
56
+ GeneralNotificationPopupComponent] });
54
57
  LibrarySharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibrarySharedModule, imports: [[
55
58
  AvatarModule,
56
59
  CommonModule,
@@ -77,7 +80,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
77
80
  ButtonComponent,
78
81
  NoDataComponent,
79
82
  SpinnerComponent,
80
- ItemListComponent
83
+ ItemListComponent,
84
+ GeneralNotificationPopupComponent
81
85
  ],
82
86
  imports: [
83
87
  AvatarModule,
@@ -103,8 +107,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
103
107
  SpinnerComponent,
104
108
  ItemListComponent,
105
109
  FluidHeightModule,
106
- ElementHeightModule
110
+ ElementHeightModule,
111
+ GeneralNotificationPopupComponent
107
112
  ]
108
113
  }]
109
114
  }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeVNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvbGlicmFyeVNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUV0RTs7O0dBR0c7QUFxQ0gsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGlCQWxDOUIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUIsYUFHakIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osZUFBZTtRQUNmLHdCQUF3QjtRQUN4QixhQUFhO1FBQ2IsYUFBYTtRQUNiLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsbUJBQW1CLGFBR25CLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsbUJBQW1CO2tIQUdSLG1CQUFtQixZQTNCdEI7WUFDUixZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixtQkFBbUI7U0FDbkIsRUFJQSxlQUFlO1FBS2YsaUJBQWlCO1FBQ2pCLG1CQUFtQjs0RkFHUixtQkFBbUI7a0JBcEMvQixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRTt3QkFDYixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1IsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjtxQkFDbkI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgUmVhZE1vcmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVhZC1tb3JlL3JlYWQtbW9yZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLWNhcmQvdXNlci1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF2YXRhck1vZHVsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vLWRhdGEvbm8tZGF0YS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaWJNb2R1bGUgfSBmcm9tICdhbmd1bGFyLW5nLWF1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IEl0ZW1MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2l0ZW0tbGlzdC9pdGVtLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IEVsZW1lbnRIZWlnaHRNb2R1bGUsIEZsdWlkSGVpZ2h0TW9kdWxlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuXHJcbi8qKlxyXG4gKiBAdGl0bGVcclxuICogU2hhcmVkIFVJIENvbXBvbmVudHNcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbXHJcblx0XHRSZWFkTW9yZUNvbXBvbmVudCxcclxuXHRcdFVzZXJDYXJkQ29tcG9uZW50LFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0Tm9EYXRhQ29tcG9uZW50LFxyXG5cdFx0U3Bpbm5lckNvbXBvbmVudCxcclxuXHRcdEl0ZW1MaXN0Q29tcG9uZW50XHJcblx0XSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRBdmF0YXJNb2R1bGUsXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRSb3V0ZXJNb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVNb2R1bGUsXHJcblx0XHRNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcblx0XHRNYXRJY29uTW9kdWxlLFxyXG5cdFx0TWF0TGlzdE1vZHVsZSxcclxuXHRcdE1hdE1lbnVNb2R1bGUsXHJcblx0XHRBdXRvY29tcGxldGVMaWJNb2R1bGUsXHJcblx0XHREaXJlY3RpdmVNb2R1bGUsXHJcblx0XHRNYXRUb29sdGlwTW9kdWxlLFxyXG5cdFx0Rmx1aWRIZWlnaHRNb2R1bGUsXHJcblx0XHRFbGVtZW50SGVpZ2h0TW9kdWxlXHJcblx0XSxcclxuXHRleHBvcnRzOiBbXHJcblx0XHRVc2VyQ2FyZENvbXBvbmVudCxcclxuXHRcdFJlYWRNb3JlQ29tcG9uZW50LFxyXG5cdFx0VHJhbnNsYXRlTW9kdWxlLFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0Tm9EYXRhQ29tcG9uZW50LFxyXG5cdFx0U3Bpbm5lckNvbXBvbmVudCxcclxuXHRcdEl0ZW1MaXN0Q29tcG9uZW50LFxyXG5cdFx0Rmx1aWRIZWlnaHRNb2R1bGUsXHJcblx0XHRFbGVtZW50SGVpZ2h0TW9kdWxlXHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlicmFyeVNoYXJlZE1vZHVsZSB7fVxyXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeVNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvbGlicmFyeVNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDhFQUE4RSxDQUFDOztBQUVqSTs7O0dBR0c7QUF1Q0gsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGlCQXBDOUIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsaUNBQWlDLGFBR2pDLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsYUFBYTtRQUNiLGFBQWE7UUFDYixhQUFhO1FBQ2IscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLG1CQUFtQixhQUduQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixpQ0FBaUM7a0hBR3RCLG1CQUFtQixZQTVCdEI7WUFDUixZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixtQkFBbUI7U0FDbkIsRUFJQSxlQUFlO1FBS2YsaUJBQWlCO1FBQ2pCLG1CQUFtQjs0RkFJUixtQkFBbUI7a0JBdEMvQixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRTt3QkFDYixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQ0FBaUM7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixpQ0FBaUM7cUJBQ2pDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFJlYWRNb3JlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlYWQtbW9yZS9yZWFkLW1vcmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXNlckNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1jYXJkL3VzZXItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F2YXRhci9hdmF0YXIubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGliTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1uZy1hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBJdGVtTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pdGVtLWxpc3QvaXRlbS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uL2RpcmVjdGl2ZS9kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBFbGVtZW50SGVpZ2h0TW9kdWxlLCBGbHVpZEhlaWdodE1vZHVsZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IEdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmFsLW5vdGlmaWNhdGlvbi1wb3B1cC9nZW5lcmFsLW5vdGlmaWNhdGlvbi1wb3B1cC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEB0aXRsZVxyXG4gKiBTaGFyZWQgVUkgQ29tcG9uZW50c1xyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtcclxuXHRcdFJlYWRNb3JlQ29tcG9uZW50LFxyXG5cdFx0VXNlckNhcmRDb21wb25lbnQsXHJcblx0XHRCdXR0b25Db21wb25lbnQsXHJcblx0XHROb0RhdGFDb21wb25lbnQsXHJcblx0XHRTcGlubmVyQ29tcG9uZW50LFxyXG5cdFx0SXRlbUxpc3RDb21wb25lbnQsXHJcbiAgR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50XHJcblx0XSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRBdmF0YXJNb2R1bGUsXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRSb3V0ZXJNb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVNb2R1bGUsXHJcblx0XHRNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcblx0XHRNYXRJY29uTW9kdWxlLFxyXG5cdFx0TWF0TGlzdE1vZHVsZSxcclxuXHRcdE1hdE1lbnVNb2R1bGUsXHJcblx0XHRBdXRvY29tcGxldGVMaWJNb2R1bGUsXHJcblx0XHREaXJlY3RpdmVNb2R1bGUsXHJcblx0XHRNYXRUb29sdGlwTW9kdWxlLFxyXG5cdFx0Rmx1aWRIZWlnaHRNb2R1bGUsXHJcblx0XHRFbGVtZW50SGVpZ2h0TW9kdWxlXHJcblx0XSxcclxuXHRleHBvcnRzOiBbXHJcblx0XHRVc2VyQ2FyZENvbXBvbmVudCxcclxuXHRcdFJlYWRNb3JlQ29tcG9uZW50LFxyXG5cdFx0VHJhbnNsYXRlTW9kdWxlLFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0Tm9EYXRhQ29tcG9uZW50LFxyXG5cdFx0U3Bpbm5lckNvbXBvbmVudCxcclxuXHRcdEl0ZW1MaXN0Q29tcG9uZW50LFxyXG5cdFx0Rmx1aWRIZWlnaHRNb2R1bGUsXHJcblx0XHRFbGVtZW50SGVpZ2h0TW9kdWxlLFxyXG5cdFx0R2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50XHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlicmFyeVNoYXJlZE1vZHVsZSB7fVxyXG4iXX0=