nuxeo-development-framework 5.1.7 → 5.1.9

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 (19) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +14 -14
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +2 -2
  4. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +2 -2
  5. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +2 -2
  6. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +2 -2
  7. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +2 -2
  8. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +2 -2
  9. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +2 -2
  10. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +2 -2
  11. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +2 -2
  12. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +2 -2
  13. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +2 -2
  14. package/esm2015/lib/components/select/select/select.component.js +2 -2
  15. package/esm2015/lib/core/services/callApi/call-api.service.js +2 -2
  16. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
  17. package/fesm2015/nuxeo-development-framework.js +14 -14
  18. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  19. package/package.json +1 -1
@@ -164,7 +164,7 @@ export class DynamicFormDateItemComponent {
164
164
  DynamicFormDateItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDateItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.DateAdapter }, { token: i3.UserPreferencesService }, { token: i4.TranslateService }, { token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
165
165
  DynamicFormDateItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDateItemComponent, selector: "app-dynamic-form-dateitem", inputs: { label: "label", disabled: "disabled", property: "property", editable: "editable", displayEmpty: "displayEmpty", min: "min", max: "max", startAt: "startAt", displayClearAction: "displayClearAction", pickerType: "pickerType", selectMode: "selectMode", isfilter: "isfilter", placeholder: "placeholder" }, providers: [
166
166
  { provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS }
167
- ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\">&#xE14C;</i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\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 <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { type: i5.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: i6.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "value", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i4.TranslatePipe, "date": i7.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
167
+ ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\">&#xE14C;</i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\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 <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { type: i5.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: i6.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "value", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i4.TranslatePipe, "date": i7.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
168
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDateItemComponent, decorators: [{
169
169
  type: Component,
170
170
  args: [{
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
210
210
  }], placeholder: [{
211
211
  type: Input
212
212
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRhdGVpdGVtL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS9keW5hbWljLWZvcm0tZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2xILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWxFLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQTBCLG9CQUFvQixFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7QUFLdkgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsZUFBZSxFQUFFLElBQUk7SUFDckIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLElB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QUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE9XTF9EQVRFX1RJTUVfRk9STUFUUyB9IGZyb20gJ0BidXNhY2NhL25nLXBpY2stZGF0ZXRpbWUnO1xyXG5pbXBvcnQgeyBNYXREYXRldGltZXBpY2tlciB9IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtZXM2JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlVmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlsaXRpZXMvbW9tZW50LWRhdGUtYWRhcHRlcic7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtRGF0ZUl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBNWV9NT01FTlRfRk9STUFUUyA9IHtcclxuICBwYXJzZUlucHV0OiAnbCBMVCcsXHJcbiAgZnVsbFBpY2tlcklucHV0OiAnbCBMVCcsXHJcbiAgZGF0ZVBpY2tlcklucHV0OiAnbCcsXHJcbiAgdGltZVBpY2tlcklucHV0OiAnTFQnLFxyXG4gIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxufTtcclxuLyoqIEBpZ25vcmUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1ZX01PTUVOVF9GT1JNQVRTIH1cclxuICBdLFxyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS1kYXRlaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRGF0ZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1EYXRlSXRlbU1vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbiA9IG51bGw7XHJcbiAgQElucHV0KClcclxuICBtYXggPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhcnRBdCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUNsZWFyQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwaWNrZXJUeXBlOiBzdHJpbmcgPSAnYm90aCc7XHJcbiAgQElucHV0KCkgc2VsZWN0TW9kZTogc3RyaW5nID0gJ3NpbmdsZSc7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKVxyXG4gIHB1YmxpYyBkYXRlcGlja2VyOiBNYXREYXRldGltZXBpY2tlcjxhbnk+O1xyXG5cclxuICB2YWx1ZURhdGU7XHJcbiAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzZmlsdGVyPSBmYWxzZTsgLy8gc2hvd2VkIGVycm9yIHdoZW4gYnVpbGRpbmcgbGliIHRoYXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZXhpc3QgXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI9ICcnOyAvLyBzaG93ZWQgZXJyb3Igd2hlbiBidWlsZGluZyBsaWIgdGhhdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBleGlzdCBcclxuXHJcbiAgZGlzcGxheWVkVGltZSA9ICcnO1xyXG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2U6IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXHJcbiAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcblxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gJ21lZGl1bURhdGUnO1xyXG4gIH1cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgaWYob2JqKXtcclxuICAgICAgICBtb21lbnQubG9jYWxlKCdlbi1hdScpO1xyXG4gICAgICB0aGlzLnZhbHVlRGF0ZSA9IG9iajtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQob2JqKS5mb3JtYXQoXCJISDptbVwiKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRUaW1lID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWVEYXRlID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSBvYmo7XHJcblxyXG4gICAgLy8gIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IChkaXJ0eSB8fCB0b3VjaGVkKSA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcclxuICAgICAgLnNlbGVjdChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKGxvY2FsZSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5kYXRlQWRhcHRlci5zZXRMb2NhbGUobG9jYWxlKTtcclxuICAgICAgICAvLyB0aGlzLnByb3BlcnR5LmxvY2FsZSA9IGxvY2FsZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgKDxNb21lbnREYXRlQWRhcHRlcj50aGlzLmRhdGVBZGFwdGVyKS5vdmVycmlkZURpc3BsYXlGb3JtYXQgPSAnREQvTU0vWVlZWSc7XHJcblxyXG4gICAgLyogaWYgKHRoaXMucHJvcGVydHkudmFsdWUpIHtcclxuICAgICAgIHRoaXMudmFsdWVEYXRlID0gbW9tZW50KHRoaXMucHJvcGVydHkudmFsdWUpO1xyXG4gICAgIH0gKi9cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNob3dQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xlYXJBY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRpc3BsYXlDbGVhckFjdGlvbiAmJlxyXG4gICAgICAoIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpIHx8ICEhdGhpcy5wcm9wZXJ0eS5kZWZhdWx0KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuICBzaG93RGF0ZVBpY2tlcigpIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVDaGFuZ2VkKG5ld0RhdGVWYWx1ZSkge1xyXG4gICAgaWYgKHRoaXMudmFsdWVEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgICAgbW9tZW50LmxvY2FsZSgnZW4tYXUnKTtcclxuICAgICAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHRoaXMudmFsdWVEYXRlLCB0aGlzLmRhdGVGb3JtYXQsIHRydWUpO1xyXG4gICAgICAgIGlmIChtb21lbnREYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgICAgICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gbW9tZW50RGF0ZS50b0RhdGUoKTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2UobW9tZW50RGF0ZS50b0RhdGUoKSk7XHJcbiAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICAgICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIG1vbWVudERhdGUudG9EYXRlKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQodGhpcy52YWx1ZURhdGUpLmZvcm1hdChcIkhIOm1tXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZURhdGUpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRlQ2xlYXIoKSB7XHJcbiAgICB0aGlzLnZhbHVlRGF0ZSA9IG51bGw7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWVEYXRlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSAnJztcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCBudWxsKTtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnByb3BlcnR5ID8gdGhpcy5wcm9wZXJ0eS5kZWZhdWx0ID0gbnVsbCA6ICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZSgpOyBlbHNlIHJlYWRPbmx5XCI+XHJcblxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCIhaXNmaWx0ZXIgJiYgcGlja2VyVHlwZSAhPT0gJ3RpbWVyJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsYWVuZGFyLWljb25cIiBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jYWxlbmRhci13ZWVrIGljb25cIj48L2k+ICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzZmlsdGVyICYmIHBpY2tlclR5cGUgPT09ICd0aW1lcidcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbGFlbmRhci1pY29uXCIgW293bERhdGVUaW1lVHJpZ2dlcl09XCJkdDNcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jbG9jayBpY29uXCI+PC9pPiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBkYXRlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgICBbc2VsZWN0TW9kZV09XCJzZWxlY3RNb2RlXCJcclxuICAgICAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVEYXRlXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJmYWxzZVwiXHJcbiAgICAgICAgICBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0M1wiXHJcbiAgICAgICAgICBbb3dsRGF0ZVRpbWVdPVwiZHQzXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGltZXJcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJkaXNwbGF5ZWRUaW1lXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcclxuICAgICAgLz5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJ2YWx1ZURhdGVcIiAoY2xpY2spPVwib25EYXRlQ2xlYXIoKVwiIGNsYXNzPVwicmVsYXRpdmUgbXgtMSBjbGVhci1kYXRlLWJ0blwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydkLW5vbmUnOiBpc0Rpc2FibGVkKCl9XCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImNsZWFyLWRhdGUtaWNvbiBtYXRlcmlhbC1pY29ucyAgZmxleCBtci0xXCI+JiN4RTE0Qzs8L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG93bC1kYXRlLXRpbWVcclxuICAgICAgICAgIFtzdGFydEF0XT1cInN0YXJ0QXRcIlxyXG4gICAgICAgICAgW3BpY2tlclR5cGVdPVwicGlja2VyVHlwZVwiXHJcbiAgICAgICAgICAjZHQzXHJcbiAgICAgICAgPjwvb3dsLWRhdGUtdGltZT5cclxuXHJcbiAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJhcHAtdGV4dGl0ZW0tZWRpdGFibGUtZXJyb3JcIlxyXG4gICAgICAgICAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwibXgtMVwiPnt7IGxhYmVsIHwgdHJhbnNsYXRlfX08L3NwYW4+IHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyB2YWx1ZURhdGUgfCBkYXRlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRhdGVpdGVtL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS9keW5hbWljLWZvcm0tZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2xILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWxFLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQTBCLG9CQUFvQixFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7QUFLdkgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsZUFBZSxFQUFFLE1BQU07SUFDdkIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsZUFBZSxFQUFFLElBQUk7SUFDckIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLElB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QUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE9XTF9EQVRFX1RJTUVfRk9STUFUUyB9IGZyb20gJ0BidXNhY2NhL25nLXBpY2stZGF0ZXRpbWUnO1xyXG5pbXBvcnQgeyBNYXREYXRldGltZXBpY2tlciB9IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtZXM2JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlVmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlsaXRpZXMvbW9tZW50LWRhdGUtYWRhcHRlcic7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtRGF0ZUl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBNWV9NT01FTlRfRk9STUFUUyA9IHtcclxuICBwYXJzZUlucHV0OiAnbCBMVCcsXHJcbiAgZnVsbFBpY2tlcklucHV0OiAnbCBMVCcsXHJcbiAgZGF0ZVBpY2tlcklucHV0OiAnbCcsXHJcbiAgdGltZVBpY2tlcklucHV0OiAnTFQnLFxyXG4gIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxufTtcclxuLyoqIEBpZ25vcmUgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1ZX01PTUVOVF9GT1JNQVRTIH1cclxuICBdLFxyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZm9ybS1kYXRlaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1kYXRlaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWRhdGVpdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRGF0ZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1EYXRlSXRlbU1vZGVsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbiA9IG51bGw7XHJcbiAgQElucHV0KClcclxuICBtYXggPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhcnRBdCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheUNsZWFyQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwaWNrZXJUeXBlOiBzdHJpbmcgPSAnYm90aCc7XHJcbiAgQElucHV0KCkgc2VsZWN0TW9kZTogc3RyaW5nID0gJ3NpbmdsZSc7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKVxyXG4gIHB1YmxpYyBkYXRlcGlja2VyOiBNYXREYXRldGltZXBpY2tlcjxhbnk+O1xyXG5cclxuICB2YWx1ZURhdGU7XHJcbiAgZGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzZmlsdGVyPSBmYWxzZTsgLy8gc2hvd2VkIGVycm9yIHdoZW4gYnVpbGRpbmcgbGliIHRoYXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZXhpc3QgXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI9ICcnOyAvLyBzaG93ZWQgZXJyb3Igd2hlbiBidWlsZGluZyBsaWIgdGhhdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBleGlzdCBcclxuXHJcbiAgZGlzcGxheWVkVGltZSA9ICcnO1xyXG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2U6IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXHJcbiAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcblxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gJ21lZGl1bURhdGUnO1xyXG4gIH1cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgaWYob2JqKXtcclxuICAgICAgICBtb21lbnQubG9jYWxlKCdlbi1hdScpO1xyXG4gICAgICB0aGlzLnZhbHVlRGF0ZSA9IG9iajtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQob2JqKS5mb3JtYXQoXCJISDptbVwiKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRUaW1lID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWVEYXRlID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSBvYmo7XHJcblxyXG4gICAgLy8gIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IChkaXJ0eSB8fCB0b3VjaGVkKSA6IGZhbHNlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcclxuICAgICAgLnNlbGVjdChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKGxvY2FsZSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5kYXRlQWRhcHRlci5zZXRMb2NhbGUobG9jYWxlKTtcclxuICAgICAgICAvLyB0aGlzLnByb3BlcnR5LmxvY2FsZSA9IGxvY2FsZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgKDxNb21lbnREYXRlQWRhcHRlcj50aGlzLmRhdGVBZGFwdGVyKS5vdmVycmlkZURpc3BsYXlGb3JtYXQgPSAnREQvTU0vWVlZWSc7XHJcblxyXG4gICAgLyogaWYgKHRoaXMucHJvcGVydHkudmFsdWUpIHtcclxuICAgICAgIHRoaXMudmFsdWVEYXRlID0gbW9tZW50KHRoaXMucHJvcGVydHkudmFsdWUpO1xyXG4gICAgIH0gKi9cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNob3dQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xlYXJBY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmRpc3BsYXlDbGVhckFjdGlvbiAmJlxyXG4gICAgICAoIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpIHx8ICEhdGhpcy5wcm9wZXJ0eS5kZWZhdWx0KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuICBzaG93RGF0ZVBpY2tlcigpIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVDaGFuZ2VkKG5ld0RhdGVWYWx1ZSkge1xyXG4gICAgaWYgKHRoaXMudmFsdWVEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgICAgbW9tZW50LmxvY2FsZSgnZW4tYXUnKTtcclxuICAgICAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50KHRoaXMudmFsdWVEYXRlLCB0aGlzLmRhdGVGb3JtYXQsIHRydWUpO1xyXG4gICAgICAgIGlmIChtb21lbnREYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgICAgICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gbW9tZW50RGF0ZS50b0RhdGUoKTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2UobW9tZW50RGF0ZS50b0RhdGUoKSk7XHJcbiAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgICAgICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIG1vbWVudERhdGUudG9EYXRlKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSBtb21lbnQodGhpcy52YWx1ZURhdGUpLmZvcm1hdChcIkhIOm1tXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZURhdGUpO1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRlQ2xlYXIoKSB7XHJcbiAgICB0aGlzLnZhbHVlRGF0ZSA9IG51bGw7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWVEYXRlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB0aGlzLmRpc3BsYXllZFRpbWUgPSAnJztcclxuICAgIC8vIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLnVwZGF0ZSh0aGlzLnByb3BlcnR5LCBudWxsKTtcclxuICAgIC8vdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnByb3BlcnR5ID8gdGhpcy5wcm9wZXJ0eS5kZWZhdWx0ID0gbnVsbCA6ICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbXgtMVwiPio8L3NwYW4+XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGUoKTsgZWxzZSByZWFkT25seVwiPlxyXG5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzZmlsdGVyICYmIHBpY2tlclR5cGUgIT09ICd0aW1lcidcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbGFlbmRhci1pY29uXCIgW293bERhdGVUaW1lVHJpZ2dlcl09XCJkdDNcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2FsZW5kYXItd2VlayBpY29uXCI+PC9pPiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFpc2ZpbHRlciAmJiBwaWNrZXJUeXBlID09PSAndGltZXInXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xhZW5kYXItaWNvblwiIFtvd2xEYXRlVGltZVRyaWdnZXJdPVwiZHQzXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2xvY2sgaWNvblwiPjwvaT4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZGF0ZVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpIHx8IG51bGxcIlxyXG4gICAgICAgICAgKGJsdXIpPVwib25Ub3VjaGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgICAgW21heF09XCJtYXhcIlxyXG4gICAgICAgICAgW3NlbGVjdE1vZGVdPVwic2VsZWN0TW9kZVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlRGF0ZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRhdGVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwiZmFsc2VcIlxyXG4gICAgICAgICAgW293bERhdGVUaW1lVHJpZ2dlcl09XCJkdDNcIlxyXG4gICAgICAgICAgW293bERhdGVUaW1lXT1cImR0M1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHRpbWVyXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWRcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheWVkVGltZVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXHJcbiAgICAgIC8+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwidmFsdWVEYXRlXCIgKGNsaWNrKT1cIm9uRGF0ZUNsZWFyKClcIiBjbGFzcz1cInJlbGF0aXZlIG14LTEgY2xlYXItZGF0ZS1idG5cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZC1ub25lJzogaXNEaXNhYmxlZCgpfVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJjbGVhci1kYXRlLWljb24gbWF0ZXJpYWwtaWNvbnMgIGZsZXggbXItMVwiPiYjeEUxNEM7PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxvd2wtZGF0ZS10aW1lXHJcbiAgICAgICAgICBbc3RhcnRBdF09XCJzdGFydEF0XCJcclxuICAgICAgICAgIFtwaWNrZXJUeXBlXT1cInBpY2tlclR5cGVcIlxyXG4gICAgICAgICAgI2R0M1xyXG4gICAgICAgID48L293bC1kYXRlLXRpbWU+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cIm14LTFcIj57eyBsYWJlbCB8IHRyYW5zbGF0ZX19PC9zcGFuPiB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjcmVhZE9ubHk+XHJcbiAgICAgICAge3sgdmFsdWVEYXRlIHwgZGF0ZSB9fVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -178,7 +178,7 @@ export class DynamicFormDepartmentComponent {
178
178
  }
179
179
  }
180
180
  DynamicFormDepartmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDepartmentComponent, deps: [{ token: i1.TranslationService }, { token: i2.DepartmentApiService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
181
- DynamicFormDepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", label: "label", defaultSelect: "defaultSelect", displayDepTypee: "displayDepTypee", displayIsAllowRecExternal: "displayIsAllowRecExternal", pp_departmentNestedTree: "pp_departmentNestedTree", pp_departmentTree: "pp_departmentTree", customPrefix: "customPrefix", useCustomAddEditAction: "useCustomAddEditAction", customParentProperty: "customParentProperty", customParams: "customParams", disabled: "disabled", nodesExpandedByDefault: "nodesExpandedByDefault", fixedParentNode: "fixedParentNode" }, outputs: { onSelecting: "onSelecting", actionClicked: "actionClicked", onDataLoad: "onDataLoad" }, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-treeview-select\r\n [treeview]=\"treeview\"\r\n [treeViewAsFormControl]=\"treeViewAsFormControl\"\r\n [defaultSelect]=\"defaultSelect\"\r\n [multiple]=\"multiple\"\r\n [items]=\"data\"\r\n [placeholder]=\"placeholder\"\r\n [displayDepTypee]=\"displayDepTypee\"\r\n [displayIsAllowRecExternal]=\"displayIsAllowRecExternal\"\r\n [pp_departmentNestedTree]=\"pp_departmentNestedTree\"\r\n [useCustomAddEditAction]=\"useCustomAddEditAction\"\r\n [fixedParentNode]=\"fixedParentNode\"\r\n [customPrefix]=\"customPrefix\"\r\n [customParentProperty]=\"customParentProperty\"\r\n (valueChange)=\"getSelecteditems($event)\"\r\n [(value)]=\"selection\"\r\n (actionClicked)=\"onAction($event)\"\r\n [disabled]=\"disabled\"\r\n class=\"dropdown-wrapper\"\r\n [ngClass]=\"{ 'input-filled': selection && selection.length > 0 }\"\r\n>\r\n</app-dynamic-form-treeview-select>\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 {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: ["app-dynamic-form-department .dropdown{border:1px solid #ccc!important;border-radius:5px!important}app-dynamic-form-department .input-filled .dropdown{border-color:#1a96c6!important}\n"], components: [{ type: i4.TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: ["treeview", "treeViewAsFormControl", "config", "items", "value", "multiple", "defaultSelect", "pp_departmentNestedTree", "useCustomAddEditAction", "customPrefix", "customParentProperty", "placeholder", "defaultSelection", "displayDepTypee", "disabled", "displayIsAllowRecExternal", "fixedParentNode"], outputs: ["valueChange", "plusClicked", "actionClicked"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
181
+ DynamicFormDepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", label: "label", defaultSelect: "defaultSelect", displayDepTypee: "displayDepTypee", displayIsAllowRecExternal: "displayIsAllowRecExternal", pp_departmentNestedTree: "pp_departmentNestedTree", pp_departmentTree: "pp_departmentTree", customPrefix: "customPrefix", useCustomAddEditAction: "useCustomAddEditAction", customParentProperty: "customParentProperty", customParams: "customParams", disabled: "disabled", nodesExpandedByDefault: "nodesExpandedByDefault", fixedParentNode: "fixedParentNode" }, outputs: { onSelecting: "onSelecting", actionClicked: "actionClicked", onDataLoad: "onDataLoad" }, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-treeview-select\r\n [treeview]=\"treeview\"\r\n [treeViewAsFormControl]=\"treeViewAsFormControl\"\r\n [defaultSelect]=\"defaultSelect\"\r\n [multiple]=\"multiple\"\r\n [items]=\"data\"\r\n [placeholder]=\"placeholder\"\r\n [displayDepTypee]=\"displayDepTypee\"\r\n [displayIsAllowRecExternal]=\"displayIsAllowRecExternal\"\r\n [pp_departmentNestedTree]=\"pp_departmentNestedTree\"\r\n [useCustomAddEditAction]=\"useCustomAddEditAction\"\r\n [fixedParentNode]=\"fixedParentNode\"\r\n [customPrefix]=\"customPrefix\"\r\n [customParentProperty]=\"customParentProperty\"\r\n (valueChange)=\"getSelecteditems($event)\"\r\n [(value)]=\"selection\"\r\n (actionClicked)=\"onAction($event)\"\r\n [disabled]=\"disabled\"\r\n class=\"dropdown-wrapper\"\r\n [ngClass]=\"{ 'input-filled': selection && selection.length > 0 }\"\r\n>\r\n</app-dynamic-form-treeview-select>\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 {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: ["app-dynamic-form-department .dropdown{border:1px solid #ccc!important;border-radius:5px!important}app-dynamic-form-department .input-filled .dropdown{border-color:#1a96c6!important}\n"], components: [{ type: i4.TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: ["treeview", "treeViewAsFormControl", "config", "items", "value", "multiple", "defaultSelect", "pp_departmentNestedTree", "useCustomAddEditAction", "customPrefix", "customParentProperty", "placeholder", "defaultSelection", "displayDepTypee", "disabled", "displayIsAllowRecExternal", "fixedParentNode"], outputs: ["valueChange", "plusClicked", "actionClicked"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
182
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDepartmentComponent, decorators: [{
183
183
  type: Component,
184
184
  args: [{
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
234
234
  }], onDataLoad: [{
235
235
  type: Output
236
236
  }] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRlcGFydG1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJdkM7Ozs7Ozs7Ozs7OztHQVlHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQW9FekMsWUFDVSxXQUErQixFQUMvQixhQUFtQyxFQUNoQixPQUFrQjtRQUZyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFyRS9DLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixvQ0FBb0M7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQixnQ0FBZ0M7UUFFaEMsMEJBQXFC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SztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJ25neC10cmVldmlldyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudEFwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RlcGFydG1lbnQtYXBpLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgZGVwYXJ0bWVudCB0cmVlIGRyb3Bkb3duIGlucHV0IGFscmVhZHkgd2l0aCBkZXBhcnRtZW50cyBiYWNrZW5kLFxyXG4gKiAgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBEZXBhcnRtZW50IHRyZWUgZHJvcGRvd25cclxuICogQGV4YW1wbGVcclxuICogICA8YXBwLWR5bmFtaWMtZm9ybS1kZXBhcnRtZW50XHJcbiAqICAgICAgIGxhYmVsPVwiRmllbGQgTGFiZWxcIlxyXG4gKiAgICAgICBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIlxyXG4gKiAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgICA+XHJcbiAqICAgPC9hcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQ+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybURlcGFydG1lbnRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGF0YSA9IFtdO1xyXG4gIC8qKiBpcyB0cmVlIFZpZXcgb3IgZHJvcGRvd24gdmlldyAqL1xyXG4gIEBJbnB1dCgpIHRyZWV2aWV3ID0gZmFsc2U7XHJcbiAgLyoqIHVzZSB0cmVlIHZpZXcgaW5zaWRlIGZvcm0gKi9cclxuICBASW5wdXQoKVxyXG4gIHRyZWVWaWV3QXNGb3JtQ29udHJvbCA9IGZhbHNlO1xyXG4gIC8qKiBQbGFjZWhvbGRlciB0ZXh0ICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI7XHJcbiAgLyoqIENhbiBzZWxlY3QgbXVsdGlwbGUgKi9cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIC8qKiBpcyB0cmVlIHNlYXJjaGFibGUgKi9cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gdHJ1ZTtcclxuICAvKiogSW5wdXQgRmllbGQgbGFiZWwgKi9cclxuICBASW5wdXQoKSBsYWJlbDtcclxuICBASW5wdXQoKSBkZWZhdWx0U2VsZWN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzcGxheURlcFR5cGVlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkaXNwbGF5SXNBbGxvd1JlY0V4dGVybmFsID0gdHJ1ZTtcclxuXHJcbiAgLyoqIGN1c3RvbSBwYWdlIHByb3ZpZGVyIHRvIGdldCBkZXBhcnRtZW50IG5lc3RlZCB0cmVlIGZyb20gaXQgY2FuIGJlIHBhc3NlZCBmcm9tIG91dHNpZGUgb3Igbm90IHBhc3NlZCBhbmQgdXNlIHRoZSBkZWZ1bHRlIHZhbHVlICovXHJcbiAgQElucHV0KCkgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWU7XHJcbiAgLyoqIGN1c3RvbSBwYWdlIHByb3ZpZGVyIHRvIGdldCBkZXBhcnRtZW50IHRyZWUgZnJvbSBpdCBjYW4gYmUgcGFzc2VkIGZyb20gb3V0c2lkZSBvciBub3QgcGFzc2VkIGFuZCB1c2UgdGhlIGRlZnVsdGUgdmFsdWUgKi9cclxuICBASW5wdXQoKSBwcF9kZXBhcnRtZW50VHJlZTtcclxuICAvKiogY3VzdG9tIHByZWZpeCB0byBiZSB1c2VkIGZvciBhZGFwdGluZyBkYXRhIGNvbWluZyBmcm9tIGFwaSAqL1xyXG4gIEBJbnB1dCgpIGN1c3RvbVByZWZpeDtcclxuICAvKiogdG8gYWxsb3cgY3VzdG9tIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgb3V0c2lkZSB0aGUgY29tcG9uZW50ICovXHJcbiAgQElucHV0KCkgdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbjtcclxuICAvKiogdG8gYWxsb3cgY3VzdG9tIHBhcmVudCBwcm9wZXJ0eSBuYW1lICB0byBiZSBwYWFzc2VkIGZyb20gb3V0c2lkZSB0aGUgY29tcG9uZW50ICovXHJcbiAgQElucHV0KCkgY3VzdG9tUGFyZW50UHJvcGVydHk7XHJcbiAgLyoqIHRvIGFsbG93IGN1c3RvbSBwYXJhbXN0byBiZSBwYXNzZWQgdG8gZ2V0IGRlcGFydG1lbnRzIHJlcXVlc3QgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSBjdXN0b21QYXJhbXMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbm9kZXNFeHBhbmRlZEJ5RGVmYXVsdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpeGVkUGFyZW50Tm9kZTogeyB0ZXh0OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfTtcclxuICAvKiogZW1pdHRlZCB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGVtaXR0ZWQgd2hlbiBhY3Rpb24gaXMgY2xpY2tlZCAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25EYXRhTG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzZWxlY3Rpb247XHJcbiAgYXJhYmljID0gZmFsc2U7XHJcbiAgbGFuZ3VhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvLyBmdW5jdGlvbiByZWxhdGVkIHRvIHZhbHVlIGFjY2Vzc29yXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4geyB9O1xyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlcGFydG1lbnRBcGk6IERlcGFydG1lbnRBcGlTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShcclxuICAgICAgYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuYXJhYmljID0gcmVzO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0TGlzT2ZPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VsZWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbiA/IHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVjdXJzaXZlRmlsbChlbnRyaWVzLCBsZXZlbCA9IDApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICBlbnRyaWVzLm1hcChhc3luYyAoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdGhpcy50cmVldmlld1xyXG4gICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYXJhYmljXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW3RoaXMuY3VzdG9tUHJlZml4ID8gKHRoaXMuY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJyxcclxuICAgICAgICAgICAgdmFsdWU6IHsgLi4uaXRlbSwgbGV2ZWwgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbdGhpcy5jdXN0b21QcmVmaXggPyAodGhpcy5jdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLm11bHRpcGxlID8gaXRlbS51aWQgOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAgIC4uLnRyZWVWaWV3T2JqLFxyXG4gICAgICAgICAgY29sbGFwc2VkOiAhdGhpcy5ub2Rlc0V4cGFuZGVkQnlEZWZhdWx0ICYmIGxldmVsID49IDIgJiYgdGhpcy50cmVldmlldyA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAgIC4uLih0aGlzLm11bHRpcGxlICYmIHsgY2hlY2tlZDogZmFsc2UgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycyAmJlxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLmxlbmd0aFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhdGhpcy50cmVldmlldyAmJlxyXG4gICAgICAgICAgICAobGV2ZWwgPT0gMiB8fCAobGV2ZWwgPiAyICYmIChsZXZlbCArIDEpICUgMyA9PSAwKSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBjb25zdCBleHRlbmRlZCA9IGF3YWl0IHRoaXMuZGVwYXJ0bWVudEFwaVxyXG4gICAgICAgICAgICAgIC5nZXREZXBhcnRtZW50TmVzdGVkVHJlZShpdGVtLnRpdGxlLCB0aGlzLnBwX2RlcGFydG1lbnROZXN0ZWRUcmVlLCB0aGlzLmN1c3RvbVBhcmVudFByb3BlcnR5KVxyXG4gICAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXHJcbiAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICB0cmVlSXRlbS5jaGlsZHJlbiA9IGF3YWl0IHRoaXMucmVjdXJzaXZlRmlsbChcclxuICAgICAgICAgICAgICBleHRlbmRlZC5lbnRyaWVzLFxyXG4gICAgICAgICAgICAgIGxldmVsICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJlZUl0ZW0uY2hpbGRyZW4gPSBhd2FpdCB0aGlzLnJlY3Vyc2l2ZUZpbGwoXHJcbiAgICAgICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgICAgIGxldmVsICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0TGlzT2ZPcHRpb25zKCkge1xyXG4gICAgdGhpcy5kZXBhcnRtZW50QXBpLmdldERlcGFydG1lbnRUcmVlKHRoaXMucHBfZGVwYXJ0bWVudFRyZWUsIHRoaXMuY3VzdG9tUGFyYW1zKS5zdWJzY3JpYmUoYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLm9uRGF0YUxvYWQuZW1pdChyZXMpO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgbGV0IF9kYXRhID0gYXdhaXQgdGhpcy5yZWN1cnNpdmVGaWxsKHJlcy5lbnRyaWVzKTtcclxuICAgICAgaWYgKHRoaXMuZml4ZWRQYXJlbnROb2RlKSB7XHJcbiAgICAgICAgbGV0IGZpeGVkTm9kZSA9IG5ldyBUcmVldmlld0l0ZW0oe1xyXG4gICAgICAgICAgdGV4dDogdGhpcy5maXhlZFBhcmVudE5vZGUudGV4dCxcclxuICAgICAgICAgIHZhbHVlOiB0aGlzLmZpeGVkUGFyZW50Tm9kZS52YWx1ZSxcclxuICAgICAgICAgIGNoaWxkcmVuOiBfZGF0YVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5kYXRhID0gW2ZpeGVkTm9kZV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gX2RhdGE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRpdGVtcyhzZWxlY3RlZEl0ZW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShzZWxlY3RlZEl0ZW1zKTtcclxuICAgIHRoaXMub25TZWxlY3RpbmcuZW1pdChzZWxlY3RlZEl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgIC8vIGlmICh2YWx1ZSkgeyAvLyByZW1vdmVkIHRvIGFsbG93IHRvIHJlc2V0IHZhbHVlIG9mIHRyZWVcclxuICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIC8vIG9uUGx1c0NsaWNrZWQoZSkge1xyXG4gIC8vICAgdGhpcy5wbHVzQ2xpY2tlZC5uZXh0KGUpO1xyXG4gIC8vIH1cclxuXHJcbiAgb25BY3Rpb24oZSkge1xyXG4gICAgdGhpcy5hY3Rpb25DbGlja2VkLmVtaXQoZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gaHR0cDovLzM1LjE1My42Ni41Mjo4MDgwL251eGVvL2FwaS92MS9zZWFyY2gvcHAvUFBfRGVwYXJ0bWVudC9leGVjdXRlP3BhZ2VQcm92aWRlcj1QUF9EZXBhcnRtZW50JmN1cnJlbnRQYWdlSW5kZXg9MCZvZmZzZXQ9MCZwYWdlU2l6ZT00MCZxdWlja0ZpbHRlcnM9UGFyZW50JTIwRGVwdFxyXG4vLyBodHRwOi8vMzUuMTUzLjY2LjUyOjgwODAvbnV4ZW8vYXBpL3YxL3NlYXJjaC9wcC9QUF9PU19EZXBhcnRtZW50cy9leGVjdXRlP3BhZ2VQcm92aWRlcj1QUF9PU19EZXBhcnRtZW50cyZjdXJyZW50UGFnZUluZGV4PTAmb2Zmc2V0PTAmcGFnZVNpemU9NDAmcXVpY2tGaWx0ZXJzPVBhcmVudCUyMERlcHRcclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInNlbGVjdC1sYWJlbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxhcHAtZHluYW1pYy1mb3JtLXRyZWV2aWV3LXNlbGVjdFxyXG4gIFt0cmVldmlld109XCJ0cmVldmlld1wiXHJcbiAgW3RyZWVWaWV3QXNGb3JtQ29udHJvbF09XCJ0cmVlVmlld0FzRm9ybUNvbnRyb2xcIlxyXG4gIFtkZWZhdWx0U2VsZWN0XT1cImRlZmF1bHRTZWxlY3RcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgW2l0ZW1zXT1cImRhdGFcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgW2Rpc3BsYXlEZXBUeXBlZV09XCJkaXNwbGF5RGVwVHlwZWVcIlxyXG4gIFtkaXNwbGF5SXNBbGxvd1JlY0V4dGVybmFsXT1cImRpc3BsYXlJc0FsbG93UmVjRXh0ZXJuYWxcIlxyXG4gIFtwcF9kZXBhcnRtZW50TmVzdGVkVHJlZV09XCJwcF9kZXBhcnRtZW50TmVzdGVkVHJlZVwiXHJcbiAgW3VzZUN1c3RvbUFkZEVkaXRBY3Rpb25dPVwidXNlQ3VzdG9tQWRkRWRpdEFjdGlvblwiXHJcbiAgW2ZpeGVkUGFyZW50Tm9kZV09XCJmaXhlZFBhcmVudE5vZGVcIlxyXG4gIFtjdXN0b21QcmVmaXhdPVwiY3VzdG9tUHJlZml4XCJcclxuICBbY3VzdG9tUGFyZW50UHJvcGVydHldPVwiY3VzdG9tUGFyZW50UHJvcGVydHlcIlxyXG4gICh2YWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZGl0ZW1zKCRldmVudClcIlxyXG4gIFsodmFsdWUpXT1cInNlbGVjdGlvblwiXHJcbiAgKGFjdGlvbkNsaWNrZWQpPVwib25BY3Rpb24oJGV2ZW50KVwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBjbGFzcz1cImRyb3Bkb3duLXdyYXBwZXJcIlxyXG4gIFtuZ0NsYXNzXT1cInsgJ2lucHV0LWZpbGxlZCc6IHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoID4gMCB9XCJcclxuPlxyXG48L2FwcC1keW5hbWljLWZvcm0tdHJlZXZpZXctc2VsZWN0PlxyXG48bWF0LWVycm9yXHJcbiAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuPlxyXG4gIDx1bD5cclxuICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgIHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbWF0LWVycm9yPlxyXG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWRlcGFydG1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJdkM7Ozs7Ozs7Ozs7OztHQVlHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQW9FekMsWUFDVSxXQUErQixFQUMvQixhQUFtQyxFQUNoQixPQUFrQjtRQUZyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFyRS9DLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixvQ0FBb0M7UUFDM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQixnQ0FBZ0M7UUFFaEMsMEJBQXFC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SztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJ25neC10cmVldmlldyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudEFwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RlcGFydG1lbnQtYXBpLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgZGVwYXJ0bWVudCB0cmVlIGRyb3Bkb3duIGlucHV0IGFscmVhZHkgd2l0aCBkZXBhcnRtZW50cyBiYWNrZW5kLFxyXG4gKiAgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBEZXBhcnRtZW50IHRyZWUgZHJvcGRvd25cclxuICogQGV4YW1wbGVcclxuICogICA8YXBwLWR5bmFtaWMtZm9ybS1kZXBhcnRtZW50XHJcbiAqICAgICAgIGxhYmVsPVwiRmllbGQgTGFiZWxcIlxyXG4gKiAgICAgICBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIlxyXG4gKiAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgICA+XHJcbiAqICAgPC9hcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQ+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybURlcGFydG1lbnRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGF0YSA9IFtdO1xyXG4gIC8qKiBpcyB0cmVlIFZpZXcgb3IgZHJvcGRvd24gdmlldyAqL1xyXG4gIEBJbnB1dCgpIHRyZWV2aWV3ID0gZmFsc2U7XHJcbiAgLyoqIHVzZSB0cmVlIHZpZXcgaW5zaWRlIGZvcm0gKi9cclxuICBASW5wdXQoKVxyXG4gIHRyZWVWaWV3QXNGb3JtQ29udHJvbCA9IGZhbHNlO1xyXG4gIC8qKiBQbGFjZWhvbGRlciB0ZXh0ICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI7XHJcbiAgLyoqIENhbiBzZWxlY3QgbXVsdGlwbGUgKi9cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIC8qKiBpcyB0cmVlIHNlYXJjaGFibGUgKi9cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gdHJ1ZTtcclxuICAvKiogSW5wdXQgRmllbGQgbGFiZWwgKi9cclxuICBASW5wdXQoKSBsYWJlbDtcclxuICBASW5wdXQoKSBkZWZhdWx0U2VsZWN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzcGxheURlcFR5cGVlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkaXNwbGF5SXNBbGxvd1JlY0V4dGVybmFsID0gdHJ1ZTtcclxuXHJcbiAgLyoqIGN1c3RvbSBwYWdlIHByb3ZpZGVyIHRvIGdldCBkZXBhcnRtZW50IG5lc3RlZCB0cmVlIGZyb20gaXQgY2FuIGJlIHBhc3NlZCBmcm9tIG91dHNpZGUgb3Igbm90IHBhc3NlZCBhbmQgdXNlIHRoZSBkZWZ1bHRlIHZhbHVlICovXHJcbiAgQElucHV0KCkgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWU7XHJcbiAgLyoqIGN1c3RvbSBwYWdlIHByb3ZpZGVyIHRvIGdldCBkZXBhcnRtZW50IHRyZWUgZnJvbSBpdCBjYW4gYmUgcGFzc2VkIGZyb20gb3V0c2lkZSBvciBub3QgcGFzc2VkIGFuZCB1c2UgdGhlIGRlZnVsdGUgdmFsdWUgKi9cclxuICBASW5wdXQoKSBwcF9kZXBhcnRtZW50VHJlZTtcclxuICAvKiogY3VzdG9tIHByZWZpeCB0byBiZSB1c2VkIGZvciBhZGFwdGluZyBkYXRhIGNvbWluZyBmcm9tIGFwaSAqL1xyXG4gIEBJbnB1dCgpIGN1c3RvbVByZWZpeDtcclxuICAvKiogdG8gYWxsb3cgY3VzdG9tIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgb3V0c2lkZSB0aGUgY29tcG9uZW50ICovXHJcbiAgQElucHV0KCkgdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbjtcclxuICAvKiogdG8gYWxsb3cgY3VzdG9tIHBhcmVudCBwcm9wZXJ0eSBuYW1lICB0byBiZSBwYWFzc2VkIGZyb20gb3V0c2lkZSB0aGUgY29tcG9uZW50ICovXHJcbiAgQElucHV0KCkgY3VzdG9tUGFyZW50UHJvcGVydHk7XHJcbiAgLyoqIHRvIGFsbG93IGN1c3RvbSBwYXJhbXN0byBiZSBwYXNzZWQgdG8gZ2V0IGRlcGFydG1lbnRzIHJlcXVlc3QgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSBjdXN0b21QYXJhbXMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbm9kZXNFeHBhbmRlZEJ5RGVmYXVsdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpeGVkUGFyZW50Tm9kZTogeyB0ZXh0OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfTtcclxuICAvKiogZW1pdHRlZCB3aGVuIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGVtaXR0ZWQgd2hlbiBhY3Rpb24gaXMgY2xpY2tlZCAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25EYXRhTG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzZWxlY3Rpb247XHJcbiAgYXJhYmljID0gZmFsc2U7XHJcbiAgbGFuZ3VhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvLyBmdW5jdGlvbiByZWxhdGVkIHRvIHZhbHVlIGFjY2Vzc29yXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4geyB9O1xyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlcGFydG1lbnRBcGk6IERlcGFydG1lbnRBcGlTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShcclxuICAgICAgYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuYXJhYmljID0gcmVzO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0TGlzT2ZPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VsZWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5sYW5ndWFnZVN1YnNjcmlwdGlvbiA/IHRoaXMubGFuZ3VhZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVjdXJzaXZlRmlsbChlbnRyaWVzLCBsZXZlbCA9IDApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICBlbnRyaWVzLm1hcChhc3luYyAoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHRyZWVWaWV3T2JqID0gdGhpcy50cmVldmlld1xyXG4gICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYXJhYmljXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW3RoaXMuY3VzdG9tUHJlZml4ID8gKHRoaXMuY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJyxcclxuICAgICAgICAgICAgdmFsdWU6IHsgLi4uaXRlbSwgbGV2ZWwgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1t0aGlzLmN1c3RvbVByZWZpeCA/ICh0aGlzLmN1c3RvbVByZWZpeCArICc6YXJhYmljTmFtZScpIDogJ2RlcHQ6YXJhYmljTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLSdcclxuICAgICAgICAgICAgICA6IGl0ZW0ucHJvcGVydGllc1xyXG4gICAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbdGhpcy5jdXN0b21QcmVmaXggPyAodGhpcy5jdXN0b21QcmVmaXggKyAnOmVuZ2xpc2hOYW1lJykgOiAnZGVwdDplbmdsaXNoTmFtZSddXHJcbiAgICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLm11bHRpcGxlID8gaXRlbS51aWQgOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgdHJlZUl0ZW0gPSBuZXcgVHJlZXZpZXdJdGVtKHtcclxuICAgICAgICAgIC4uLnRyZWVWaWV3T2JqLFxyXG4gICAgICAgICAgY29sbGFwc2VkOiAhdGhpcy5ub2Rlc0V4cGFuZGVkQnlEZWZhdWx0ICYmIGxldmVsID49IDIgJiYgdGhpcy50cmVldmlldyA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAgIC4uLih0aGlzLm11bHRpcGxlICYmIHsgY2hlY2tlZDogZmFsc2UgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycyAmJlxyXG4gICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLmxlbmd0aFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhdGhpcy50cmVldmlldyAmJlxyXG4gICAgICAgICAgICAobGV2ZWwgPT0gMiB8fCAobGV2ZWwgPiAyICYmIChsZXZlbCArIDEpICUgMyA9PSAwKSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBjb25zdCBleHRlbmRlZCA9IGF3YWl0IHRoaXMuZGVwYXJ0bWVudEFwaVxyXG4gICAgICAgICAgICAgIC5nZXREZXBhcnRtZW50TmVzdGVkVHJlZShpdGVtLnRpdGxlLCB0aGlzLnBwX2RlcGFydG1lbnROZXN0ZWRUcmVlLCB0aGlzLmN1c3RvbVBhcmVudFByb3BlcnR5KVxyXG4gICAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXHJcbiAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgICB0cmVlSXRlbS5jaGlsZHJlbiA9IGF3YWl0IHRoaXMucmVjdXJzaXZlRmlsbChcclxuICAgICAgICAgICAgICBleHRlbmRlZC5lbnRyaWVzLFxyXG4gICAgICAgICAgICAgIGxldmVsICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJlZUl0ZW0uY2hpbGRyZW4gPSBhd2FpdCB0aGlzLnJlY3Vyc2l2ZUZpbGwoXHJcbiAgICAgICAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycy5jaGlsZHJlbi5lbnRyaWVzLFxyXG4gICAgICAgICAgICAgIGxldmVsICsgMVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJlZUl0ZW07XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0TGlzT2ZPcHRpb25zKCkge1xyXG4gICAgdGhpcy5kZXBhcnRtZW50QXBpLmdldERlcGFydG1lbnRUcmVlKHRoaXMucHBfZGVwYXJ0bWVudFRyZWUsIHRoaXMuY3VzdG9tUGFyYW1zKS5zdWJzY3JpYmUoYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLm9uRGF0YUxvYWQuZW1pdChyZXMpO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgbGV0IF9kYXRhID0gYXdhaXQgdGhpcy5yZWN1cnNpdmVGaWxsKHJlcy5lbnRyaWVzKTtcclxuICAgICAgaWYgKHRoaXMuZml4ZWRQYXJlbnROb2RlKSB7XHJcbiAgICAgICAgbGV0IGZpeGVkTm9kZSA9IG5ldyBUcmVldmlld0l0ZW0oe1xyXG4gICAgICAgICAgdGV4dDogdGhpcy5maXhlZFBhcmVudE5vZGUudGV4dCxcclxuICAgICAgICAgIHZhbHVlOiB0aGlzLmZpeGVkUGFyZW50Tm9kZS52YWx1ZSxcclxuICAgICAgICAgIGNoaWxkcmVuOiBfZGF0YVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5kYXRhID0gW2ZpeGVkTm9kZV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gX2RhdGE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRpdGVtcyhzZWxlY3RlZEl0ZW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShzZWxlY3RlZEl0ZW1zKTtcclxuICAgIHRoaXMub25TZWxlY3RpbmcuZW1pdChzZWxlY3RlZEl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgIC8vIGlmICh2YWx1ZSkgeyAvLyByZW1vdmVkIHRvIGFsbG93IHRvIHJlc2V0IHZhbHVlIG9mIHRyZWVcclxuICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRm4oYyk7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCB8fCAhdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIC8vIG9uUGx1c0NsaWNrZWQoZSkge1xyXG4gIC8vICAgdGhpcy5wbHVzQ2xpY2tlZC5uZXh0KGUpO1xyXG4gIC8vIH1cclxuXHJcbiAgb25BY3Rpb24oZSkge1xyXG4gICAgdGhpcy5hY3Rpb25DbGlja2VkLmVtaXQoZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gaHR0cDovLzM1LjE1My42Ni41Mjo4MDgwL251eGVvL2FwaS92MS9zZWFyY2gvcHAvUFBfRGVwYXJ0bWVudC9leGVjdXRlP3BhZ2VQcm92aWRlcj1QUF9EZXBhcnRtZW50JmN1cnJlbnRQYWdlSW5kZXg9MCZvZmZzZXQ9MCZwYWdlU2l6ZT00MCZxdWlja0ZpbHRlcnM9UGFyZW50JTIwRGVwdFxyXG4vLyBodHRwOi8vMzUuMTUzLjY2LjUyOjgwODAvbnV4ZW8vYXBpL3YxL3NlYXJjaC9wcC9QUF9PU19EZXBhcnRtZW50cy9leGVjdXRlP3BhZ2VQcm92aWRlcj1QUF9PU19EZXBhcnRtZW50cyZjdXJyZW50UGFnZUluZGV4PTAmb2Zmc2V0PTAmcGFnZVNpemU9NDAmcXVpY2tGaWx0ZXJzPVBhcmVudCUyMERlcHRcclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgPGRpdj5cclxuICAgIDxsYWJlbCBjbGFzcz1cInNlbGVjdC1sYWJlbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBteC0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48YXBwLWR5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3RcclxuICBbdHJlZXZpZXddPVwidHJlZXZpZXdcIlxyXG4gIFt0cmVlVmlld0FzRm9ybUNvbnRyb2xdPVwidHJlZVZpZXdBc0Zvcm1Db250cm9sXCJcclxuICBbZGVmYXVsdFNlbGVjdF09XCJkZWZhdWx0U2VsZWN0XCJcclxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gIFtpdGVtc109XCJkYXRhXCJcclxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gIFtkaXNwbGF5RGVwVHlwZWVdPVwiZGlzcGxheURlcFR5cGVlXCJcclxuICBbZGlzcGxheUlzQWxsb3dSZWNFeHRlcm5hbF09XCJkaXNwbGF5SXNBbGxvd1JlY0V4dGVybmFsXCJcclxuICBbcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVdPVwicHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVcIlxyXG4gIFt1c2VDdXN0b21BZGRFZGl0QWN0aW9uXT1cInVzZUN1c3RvbUFkZEVkaXRBY3Rpb25cIlxyXG4gIFtmaXhlZFBhcmVudE5vZGVdPVwiZml4ZWRQYXJlbnROb2RlXCJcclxuICBbY3VzdG9tUHJlZml4XT1cImN1c3RvbVByZWZpeFwiXHJcbiAgW2N1c3RvbVBhcmVudFByb3BlcnR5XT1cImN1c3RvbVBhcmVudFByb3BlcnR5XCJcclxuICAodmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRpdGVtcygkZXZlbnQpXCJcclxuICBbKHZhbHVlKV09XCJzZWxlY3Rpb25cIlxyXG4gIChhY3Rpb25DbGlja2VkKT1cIm9uQWN0aW9uKCRldmVudClcIlxyXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgY2xhc3M9XCJkcm9wZG93bi13cmFwcGVyXCJcclxuICBbbmdDbGFzc109XCJ7ICdpbnB1dC1maWxsZWQnOiBzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aCA+IDAgfVwiXHJcbj5cclxuPC9hcHAtZHluYW1pYy1mb3JtLXRyZWV2aWV3LXNlbGVjdD5cclxuPG1hdC1lcnJvclxyXG4gIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbj5cclxuICA8dWw+XHJcbiAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L21hdC1lcnJvcj5cclxuIl19
@@ -108,7 +108,7 @@ export class DynamicFormHijriDateitemComponent {
108
108
  }
109
109
  }
110
110
  DynamicFormHijriDateitemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormHijriDateitemComponent, deps: [{ token: i1.DateFormatterService }, { token: i2.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
111
- DynamicFormHijriDateitemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: { minHijri: "minHijri", maxHijri: "maxHijri", minGreg: "minGreg", maxGreg: "maxGreg", label: "label", isDisabled: "isDisabled", range: "range", vertical: "vertical", isReadOnly: "isReadOnly", placeholder: "placeholder", emitOnBlur: "emitOnBlur" }, outputs: { valueChanged: "valueChanged" }, viewQueries: [{ propertyName: "startDatePicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"hijri-date-lable\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"hijri-date-container\">\r\n <hijri-gregorian-datepicker\r\n [placeHolder]=\"placeHolder | translate\"\r\n [(selectedDate)]=\"date\"\r\n [isRequired]=\"true\"\r\n [GregLabel]=\"'gregorian' | translate\"\r\n [hijriLabel]=\"'hijri' |translate\"\r\n [selectedDateType]=\"selectedDateType\"\r\n [disabled]=\"isDisabled\"\r\n [readonly]=\"isReadOnly\"\r\n [minHijri]=\"minHijri\"\r\n [maxHijri]=\"maxHijri\"\r\n [minGreg]=\"minGreg\"\r\n [maxGreg]=\"maxGreg\"\r\n [range]=\"range\"\r\n [emitOnBlur]=\"emitOnBlur\"\r\n [vertical]=\"vertical\"\r\n (selectedDateChange)=\"setValue($event)\"\r\n #datePicker\r\n >\r\n </hijri-gregorian-datepicker>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.hijri-date-lable{color:#646f85;font-size:13px;margin-bottom:5px}hijri-gregorian-datepicker .form-group .requiredInput{display:none}hijri-gregorian-datepicker .form-group .input-group{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%}hijri-gregorian-datepicker .form-group .input-group hijri-date-picker{display:block}hijri-gregorian-datepicker .form-group .input-group .form-control{border:1px solid #ccc;border-start-start-radius:5px;border-end-start-radius:5px;border-start-end-radius:0;border-end-end-radius:0;background-color:#8f98aa1a;height:40px}hijri-gregorian-datepicker .form-group .input-group .input-group-append{margin:0}hijri-gregorian-datepicker .form-group .input-group .input-group-append .btn{border-start-end-radius:5px!important;border-end-end-radius:5px!important;border-start-start-radius:0!important;border-end-start-radius:0!important;display:block;margin:0;border:none;color:#fff;background-color:#b4bac6}hijri-gregorian-datepicker .form-group .input-group .input-group-append .btn:hover{background-color:#8f98aa}hijri-gregorian-datepicker .form-group .input-group .input-group-append .active{display:none}\n"], components: [{ type: i3.HijriGregorianDatepickerComponent, selector: "hijri-gregorian-datepicker", inputs: ["selectedDateType", "selectedDate", "label", "showLabel", "readonly", "isRequired", "disabled", "disabledbtn", "minHijri", "maxHijri", "minGreg", "maxGreg", "hijriLabel", "GregLabel", "placeHolder", "range", "vertical", "emitOnBlur"], outputs: ["selectedDateChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
111
+ DynamicFormHijriDateitemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: { minHijri: "minHijri", maxHijri: "maxHijri", minGreg: "minGreg", maxGreg: "maxGreg", label: "label", isDisabled: "isDisabled", range: "range", vertical: "vertical", isReadOnly: "isReadOnly", placeholder: "placeholder", emitOnBlur: "emitOnBlur" }, outputs: { valueChanged: "valueChanged" }, viewQueries: [{ propertyName: "startDatePicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"hijri-date-lable\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"hijri-date-container\">\r\n <hijri-gregorian-datepicker\r\n [placeHolder]=\"placeHolder | translate\"\r\n [(selectedDate)]=\"date\"\r\n [isRequired]=\"true\"\r\n [GregLabel]=\"'gregorian' | translate\"\r\n [hijriLabel]=\"'hijri' |translate\"\r\n [selectedDateType]=\"selectedDateType\"\r\n [disabled]=\"isDisabled\"\r\n [readonly]=\"isReadOnly\"\r\n [minHijri]=\"minHijri\"\r\n [maxHijri]=\"maxHijri\"\r\n [minGreg]=\"minGreg\"\r\n [maxGreg]=\"maxGreg\"\r\n [range]=\"range\"\r\n [emitOnBlur]=\"emitOnBlur\"\r\n [vertical]=\"vertical\"\r\n (selectedDateChange)=\"setValue($event)\"\r\n #datePicker\r\n >\r\n </hijri-gregorian-datepicker>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.hijri-date-lable{color:#646f85;font-size:13px;margin-bottom:5px}hijri-gregorian-datepicker .form-group .requiredInput{display:none}hijri-gregorian-datepicker .form-group .input-group{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%}hijri-gregorian-datepicker .form-group .input-group hijri-date-picker{display:block}hijri-gregorian-datepicker .form-group .input-group .form-control{border:1px solid #ccc;border-start-start-radius:5px;border-end-start-radius:5px;border-start-end-radius:0;border-end-end-radius:0;background-color:#8f98aa1a;height:40px}hijri-gregorian-datepicker .form-group .input-group .input-group-append{margin:0}hijri-gregorian-datepicker .form-group .input-group .input-group-append .btn{border-start-end-radius:5px!important;border-end-end-radius:5px!important;border-start-start-radius:0!important;border-end-start-radius:0!important;display:block;margin:0;border:none;color:#fff;background-color:#b4bac6}hijri-gregorian-datepicker .form-group .input-group .input-group-append .btn:hover{background-color:#8f98aa}hijri-gregorian-datepicker .form-group .input-group .input-group-append .active{display:none}\n"], components: [{ type: i3.HijriGregorianDatepickerComponent, selector: "hijri-gregorian-datepicker", inputs: ["selectedDateType", "selectedDate", "label", "showLabel", "readonly", "isRequired", "disabled", "disabledbtn", "minHijri", "maxHijri", "minGreg", "maxGreg", "hijriLabel", "GregLabel", "placeHolder", "range", "vertical", "emitOnBlur"], outputs: ["selectedDateChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
112
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormHijriDateitemComponent, decorators: [{
113
113
  type: Component,
114
114
  args: [{
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
149
149
  type: ViewChild,
150
150
  args: ['datePicker']
151
151
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtL2R5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbS9keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBRVQsUUFBUSxFQUNSLElBQUksRUFDSixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixNQUFNLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEtBQUssUUFBUSxNQUFNLFFBQVEsQ0FBQztBQUduQyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7QUFKNUUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBTXhCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUU1Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQU9ILE1BQU0sT0FBTyxpQ0FBaUM7SUF1RDdDLFlBQ1Msb0JBQTBDLEVBQ3RCLE9BQWtCLEVBQ3RDLElBQXVCO1FBRnZC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QztvQkFDM0QsU0FBUyxFQUFFLENBQUMsOENBQThDLENBQUM7b0JBQzNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUNyQzs7MEJBMERFLElBQUk7OzBCQUFJLFFBQVE7NEVBdERsQixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQU9FLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS21CLGVBQWU7c0JBQXZDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdFZpZXdDaGlsZCxcclxuXHRPbkluaXQsXHJcblx0T3B0aW9uYWwsXHJcblx0U2VsZixcclxuXHRJbnB1dCxcclxuXHRWaWV3RW5jYXBzdWxhdGlvbixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0T3V0cHV0LFxyXG5cdENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGUsIE5nYkRhdGVTdHJ1Y3QgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5pbXBvcnQgKiBhcyBtb21lbnRqcyBmcm9tICdtb21lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRqcztcclxuXHJcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50LWhpanJpJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL3V0aWxzL2NvbnN0cyc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGlqcmktZ3JlZ29yaWFuLWRhdGVwaWNrZXIvc2VydmljZXMvZGF0ZS1mb3JtYXR0ZXIuc2VydmljZSc7XHJcbmNvbnN0IG1vbWVudEhpanJpID0gbW9tZW50XztcclxuXHJcbi8qKlxyXG4gKiBBIEhpanJpIGFuZCBncmVnb3JpYW4gZGF0ZXBpY2tlclxyXG4gKiAgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBIaWpyaSBHcmVnb3JpYW4gRGF0ZXBpY2tlclxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbVxyXG4gKiAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICAgbGFiZWw9XCJQQVRILlRPLkxBQkVMLlRSQU5TTEFUSU9OXCJcclxuICogICAgIFtwbGFjZWhvbGRlcl09XCInUEFUSC5UTy5QTEFDRUhPTERFUi5TVFJJTkcnXCJcclxuICogICAgIFttaW5HcmVnXT1cIm1heERhdGVcIlxyXG4gKiAgID5cclxuICogICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtSGlqcmlEYXRlaXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cdC8qKiBNaW5pbXVtIEhpanJpIERhdGUgKi9cclxuXHRASW5wdXQoKVxyXG5cdG1pbkhpanJpOiBOZ2JEYXRlID0gdGhpcy5nZXRIaWpyaURhdGVNaW51c1llYXJzKDUwKTtcclxuXHQvKiogTWF4IEhpanJpIERhdGUgKi9cclxuXHRASW5wdXQoKVxyXG5cdG1heEhpanJpOiBOZ2JEYXRlO1xyXG5cdC8qKiBNaW5pbXVtIEdyZWdvcmlhbiBEYXRlICovXHJcblx0QElucHV0KClcclxuXHRtaW5HcmVnOiBOZ2JEYXRlID0gdGhpcy5nZXRHcmVnRGF0ZU1pbnVzWWVhcnMoNTApO1xyXG5cdC8qKiBNYXggR3JlZ29yaWFuIERhdGUgKi9cclxuXHRASW5wdXQoKVxyXG5cdG1heEdyZWc6IE5nYkRhdGU7XHJcblx0LyoqIEZpZWxkIExhYmVsICovXHJcblx0QElucHV0KClcclxuXHRsYWJlbDtcclxuXHQvKiogSXMgaW5wdXQgZGlzYWJsZWQgKi9cclxuXHRASW5wdXQoKVxyXG5cdGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcblx0LyoqIGlzIGlucHV0IGEgcmFuZ2UgcGlja2VyICovXHJcblx0QElucHV0KClcclxuXHRyYW5nZTogYm9vbGVhbjtcclxuXHQvKiogbGlzdCBpbnB1dHMgdmVydGljYWxseSAoZm9yIHJhbmdlIG9ubHkpICovXHJcblx0QElucHV0KClcclxuXHR2ZXJ0aWNhbCA9IGZhbHNlO1xyXG5cdC8qKiBTZXRzIHBpY2tlciB0byByZWFkb25seSBtb2RlICovXHJcblx0QElucHV0KClcclxuXHRpc1JlYWRPbmx5OiBib29sZWFuID0gdHJ1ZTtcclxuXHRASW5wdXQoKVxyXG5cdHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblx0LyoqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcyAqL1xyXG5cdEBPdXRwdXQoKVxyXG5cdHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0ZGF0ZTogYW55ID0gbnVsbDtcclxuXHRkYXRlU3RyaW5nOiBzdHJpbmc7XHJcblx0cGxhY2VIb2xkZXI6IHN0cmluZztcclxuXHRzZWxlY3RlZERhdGVUeXBlID0gRGF0ZVR5cGUuR3JlZ29yaWFuO1xyXG5cclxuXHRASW5wdXQoKSBlbWl0T25CbHVyID0gdHJ1ZTtcclxuXHJcblx0b25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG5cdG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XHJcblxyXG5cdEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBzdGFydERhdGVQaWNrZXI6IGFueTtcclxuXHJcblx0Z2V0R3JlZ0RhdGVNaW51c1llYXJzKHllYXJzOiBudW1iZXIpOiBOZ2JEYXRlIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5kYXRlRm9ybWF0dGVyU2VydmljZS5HZXRUb2RheUdyZWdvcmlhbigpO1xyXG5cdFx0cmV0dXJuIG5ldyBOZ2JEYXRlKHRvZGF5LnllYXIgLSB5ZWFycywgdG9kYXkubW9udGgsIHRvZGF5LmRheSk7XHJcblx0fVxyXG5cclxuXHRnZXRIaWpyaURhdGVNaW51c1llYXJzKHllYXJzOiBudW1iZXIpOiBOZ2JEYXRlIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5kYXRlRm9ybWF0dGVyU2VydmljZS5HZXRUb2RheUhpanJpKCk7XHJcblx0XHRyZXR1cm4gbmV3IE5nYkRhdGUodG9kYXkueWVhciAtIHllYXJzLCB0b2RheS5tb250aCwgdG9kYXkuZGF5KTtcclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBkYXRlRm9ybWF0dGVyU2VydmljZTogRGF0ZUZvcm1hdHRlclNlcnZpY2UsXHJcblx0XHRAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sLFxyXG5cdFx0cHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0dGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG5cdH1cclxuXHR3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcblx0XHRpZiAoIW9iaikge1xyXG5cdFx0XHR0aGlzLmRhdGUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGUgPSB0aGlzLnJhbmdlXHJcblx0XHRcdD8gdGhpcy5fY29udmVydFJhbmdlVG9HcmVnb3JpYW4ob2JqKVxyXG5cdFx0XHQ6IHRoaXMuZGF0ZUZvcm1hdHRlclNlcnZpY2UuVG9HcmVnb3JpYW5EYXRlU3RydWN0KG9iaiwgJycpO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLm9uQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMub25Ub3VjaGVkID0gZm47XHJcblx0fVxyXG5cdHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMucGxhY2VIb2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyID8gdGhpcy5wbGFjZWhvbGRlciA6ICdkYXRlUGxhY2VIb2xkZXInO1xyXG5cdH1cclxuXHJcblx0c2V0VmFsdWUoZXZlbnQ6IHsgZGF5OiBudW1iZXI7IG1vbnRoOiBudW1iZXI7IHllYXI6IG51bWJlciB9IHwgbnVsbCkge1xyXG5cdFx0Y29uc3QgZGF0ZVN0cmluZyA9IHRoaXMuc3RhcnREYXRlUGlja2VyLmdldFNlbGVjdGVkRGF0ZSgpO1xyXG5cdFx0aWYgKCFldmVudCB8fCBkYXRlU3RyaW5nID09PSAnSW52YWxpZCBkYXRlJykge1xyXG5cdFx0XHR0aGlzLmRhdGVTdHJpbmcgPSBudWxsO1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG5cdFx0XHR0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KG51bGwpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLmRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nO1xyXG5cdFx0dGhpcy5vbkNoYW5nZSh0aGlzLmRhdGVTdHJpbmcpO1xyXG5cdFx0dGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh0aGlzLmRhdGVTdHJpbmcpO1xyXG5cdH1cclxuXHJcblx0aXNSZXF1aXJlZCgpIHtcclxuXHRcdGlmICghdGhpcy5jb250cm9sPy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG5cdFx0cmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9jb252ZXJ0UmFuZ2VUb0dyZWdvcmlhbihvYmo6IGFueSk6IHsgZnJvbTogYW55OyB0bzogYW55IH0gfCBudWxsIHtcclxuXHRcdHJldHVybiBvYmouZnJvbSAmJiBvYmoudG9cclxuXHRcdFx0PyB7XHJcblx0XHRcdFx0XHRmcm9tOiB0aGlzLmRhdGVGb3JtYXR0ZXJTZXJ2aWNlLlRvR3JlZ29yaWFuRGF0ZVN0cnVjdChvYmouZnJvbSwgJycpLFxyXG5cdFx0XHRcdFx0dG86IHRoaXMuZGF0ZUZvcm1hdHRlclNlcnZpY2UuVG9HcmVnb3JpYW5EYXRlU3RydWN0KG9iai50bywgJycpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ6IG51bGw7XHJcblx0fVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJoaWpyaS1kYXRlLWxhYmxlXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGRpdiBjbGFzcz1cImhpanJpLWRhdGUtY29udGFpbmVyXCI+XHJcbiAgPGhpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyXHJcbiAgICBbcGxhY2VIb2xkZXJdPVwicGxhY2VIb2xkZXIgfCB0cmFuc2xhdGVcIlxyXG4gICAgWyhzZWxlY3RlZERhdGUpXT1cImRhdGVcIlxyXG4gICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICBbR3JlZ0xhYmVsXT1cIidncmVnb3JpYW4nIHwgdHJhbnNsYXRlXCJcclxuICAgIFtoaWpyaUxhYmVsXT1cIidoaWpyaScgfHRyYW5zbGF0ZVwiXHJcbiAgICBbc2VsZWN0ZWREYXRlVHlwZV09XCJzZWxlY3RlZERhdGVUeXBlXCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgIFtyZWFkb25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgIFttaW5IaWpyaV09XCJtaW5IaWpyaVwiXHJcbiAgICBbbWF4SGlqcmldPVwibWF4SGlqcmlcIlxyXG4gICAgW21pbkdyZWddPVwibWluR3JlZ1wiXHJcbiAgICBbbWF4R3JlZ109XCJtYXhHcmVnXCJcclxuICAgIFtyYW5nZV09XCJyYW5nZVwiXHJcbiAgICBbZW1pdE9uQmx1cl09XCJlbWl0T25CbHVyXCJcclxuICAgIFt2ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiXHJcbiAgICAoc2VsZWN0ZWREYXRlQ2hhbmdlKT1cInNldFZhbHVlKCRldmVudClcIlxyXG4gICAgI2RhdGVQaWNrZXJcclxuICA+XHJcbiAgPC9oaWpyaS1ncmVnb3JpYW4tZGF0ZXBpY2tlcj5cclxuPC9kaXY+XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtL2R5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbS9keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBRVQsUUFBUSxFQUNSLElBQUksRUFDSixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixNQUFNLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEtBQUssUUFBUSxNQUFNLFFBQVEsQ0FBQztBQUduQyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7QUFKNUUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBTXhCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUU1Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQU9ILE1BQU0sT0FBTyxpQ0FBaUM7SUF1RDdDLFlBQ1Msb0JBQTBDLEVBQ3RCLE9BQWtCLEVBQ3RDLElBQXVCO1FBRnZC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QztvQkFDM0QsU0FBUyxFQUFFLENBQUMsOENBQThDLENBQUM7b0JBQzNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUNyQzs7MEJBMERFLElBQUk7OzBCQUFJLFFBQVE7NEVBdERsQixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQU9FLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS21CLGVBQWU7c0JBQXZDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdFZpZXdDaGlsZCxcclxuXHRPbkluaXQsXHJcblx0T3B0aW9uYWwsXHJcblx0U2VsZixcclxuXHRJbnB1dCxcclxuXHRWaWV3RW5jYXBzdWxhdGlvbixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0T3V0cHV0LFxyXG5cdENoYW5nZURldGVjdG9yUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGUsIE5nYkRhdGVTdHJ1Y3QgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5pbXBvcnQgKiBhcyBtb21lbnRqcyBmcm9tICdtb21lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRqcztcclxuXHJcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50LWhpanJpJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL3V0aWxzL2NvbnN0cyc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGlqcmktZ3JlZ29yaWFuLWRhdGVwaWNrZXIvc2VydmljZXMvZGF0ZS1mb3JtYXR0ZXIuc2VydmljZSc7XHJcbmNvbnN0IG1vbWVudEhpanJpID0gbW9tZW50XztcclxuXHJcbi8qKlxyXG4gKiBBIEhpanJpIGFuZCBncmVnb3JpYW4gZGF0ZXBpY2tlclxyXG4gKiAgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBIaWpyaSBHcmVnb3JpYW4gRGF0ZXBpY2tlclxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbVxyXG4gKiAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICAgbGFiZWw9XCJQQVRILlRPLkxBQkVMLlRSQU5TTEFUSU9OXCJcclxuICogICAgIFtwbGFjZWhvbGRlcl09XCInUEFUSC5UTy5QTEFDRUhPTERFUi5TVFJJTkcnXCJcclxuICogICAgIFttaW5HcmVnXT1cIm1heERhdGVcIlxyXG4gKiAgID5cclxuICogICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtSGlqcmlEYXRlaXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cdC8qKiBNaW5pbXVtIEhpanJpIERhdGUgKi9cclxuXHRASW5wdXQoKVxyXG5cdG1pbkhpanJpOiBOZ2JEYXRlID0gdGhpcy5nZXRIaWpyaURhdGVNaW51c1llYXJzKDUwKTtcclxuXHQvKiogTWF4IEhpanJpIERhdGUgKi9cclxuXHRASW5wdXQoKVxyXG5cdG1heEhpanJpOiBOZ2JEYXRlO1xyXG5cdC8qKiBNaW5pbXVtIEdyZWdvcmlhbiBEYXRlICovXHJcblx0QElucHV0KClcclxuXHRtaW5HcmVnOiBOZ2JEYXRlID0gdGhpcy5nZXRHcmVnRGF0ZU1pbnVzWWVhcnMoNTApO1xyXG5cdC8qKiBNYXggR3JlZ29yaWFuIERhdGUgKi9cclxuXHRASW5wdXQoKVxyXG5cdG1heEdyZWc6IE5nYkRhdGU7XHJcblx0LyoqIEZpZWxkIExhYmVsICovXHJcblx0QElucHV0KClcclxuXHRsYWJlbDtcclxuXHQvKiogSXMgaW5wdXQgZGlzYWJsZWQgKi9cclxuXHRASW5wdXQoKVxyXG5cdGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcblx0LyoqIGlzIGlucHV0IGEgcmFuZ2UgcGlja2VyICovXHJcblx0QElucHV0KClcclxuXHRyYW5nZTogYm9vbGVhbjtcclxuXHQvKiogbGlzdCBpbnB1dHMgdmVydGljYWxseSAoZm9yIHJhbmdlIG9ubHkpICovXHJcblx0QElucHV0KClcclxuXHR2ZXJ0aWNhbCA9IGZhbHNlO1xyXG5cdC8qKiBTZXRzIHBpY2tlciB0byByZWFkb25seSBtb2RlICovXHJcblx0QElucHV0KClcclxuXHRpc1JlYWRPbmx5OiBib29sZWFuID0gdHJ1ZTtcclxuXHRASW5wdXQoKVxyXG5cdHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblx0LyoqIEVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcyAqL1xyXG5cdEBPdXRwdXQoKVxyXG5cdHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0ZGF0ZTogYW55ID0gbnVsbDtcclxuXHRkYXRlU3RyaW5nOiBzdHJpbmc7XHJcblx0cGxhY2VIb2xkZXI6IHN0cmluZztcclxuXHRzZWxlY3RlZERhdGVUeXBlID0gRGF0ZVR5cGUuR3JlZ29yaWFuO1xyXG5cclxuXHRASW5wdXQoKSBlbWl0T25CbHVyID0gdHJ1ZTtcclxuXHJcblx0b25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG5cdG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XHJcblxyXG5cdEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBzdGFydERhdGVQaWNrZXI6IGFueTtcclxuXHJcblx0Z2V0R3JlZ0RhdGVNaW51c1llYXJzKHllYXJzOiBudW1iZXIpOiBOZ2JEYXRlIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5kYXRlRm9ybWF0dGVyU2VydmljZS5HZXRUb2RheUdyZWdvcmlhbigpO1xyXG5cdFx0cmV0dXJuIG5ldyBOZ2JEYXRlKHRvZGF5LnllYXIgLSB5ZWFycywgdG9kYXkubW9udGgsIHRvZGF5LmRheSk7XHJcblx0fVxyXG5cclxuXHRnZXRIaWpyaURhdGVNaW51c1llYXJzKHllYXJzOiBudW1iZXIpOiBOZ2JEYXRlIHtcclxuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5kYXRlRm9ybWF0dGVyU2VydmljZS5HZXRUb2RheUhpanJpKCk7XHJcblx0XHRyZXR1cm4gbmV3IE5nYkRhdGUodG9kYXkueWVhciAtIHllYXJzLCB0b2RheS5tb250aCwgdG9kYXkuZGF5KTtcclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBkYXRlRm9ybWF0dGVyU2VydmljZTogRGF0ZUZvcm1hdHRlclNlcnZpY2UsXHJcblx0XHRAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sLFxyXG5cdFx0cHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0dGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG5cdH1cclxuXHR3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcblx0XHRpZiAoIW9iaikge1xyXG5cdFx0XHR0aGlzLmRhdGUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGUgPSB0aGlzLnJhbmdlXHJcblx0XHRcdD8gdGhpcy5fY29udmVydFJhbmdlVG9HcmVnb3JpYW4ob2JqKVxyXG5cdFx0XHQ6IHRoaXMuZGF0ZUZvcm1hdHRlclNlcnZpY2UuVG9HcmVnb3JpYW5EYXRlU3RydWN0KG9iaiwgJycpO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLm9uQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMub25Ub3VjaGVkID0gZm47XHJcblx0fVxyXG5cdHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMucGxhY2VIb2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyID8gdGhpcy5wbGFjZWhvbGRlciA6ICdkYXRlUGxhY2VIb2xkZXInO1xyXG5cdH1cclxuXHJcblx0c2V0VmFsdWUoZXZlbnQ6IHsgZGF5OiBudW1iZXI7IG1vbnRoOiBudW1iZXI7IHllYXI6IG51bWJlciB9IHwgbnVsbCkge1xyXG5cdFx0Y29uc3QgZGF0ZVN0cmluZyA9IHRoaXMuc3RhcnREYXRlUGlja2VyLmdldFNlbGVjdGVkRGF0ZSgpO1xyXG5cdFx0aWYgKCFldmVudCB8fCBkYXRlU3RyaW5nID09PSAnSW52YWxpZCBkYXRlJykge1xyXG5cdFx0XHR0aGlzLmRhdGVTdHJpbmcgPSBudWxsO1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG5cdFx0XHR0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KG51bGwpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLmRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nO1xyXG5cdFx0dGhpcy5vbkNoYW5nZSh0aGlzLmRhdGVTdHJpbmcpO1xyXG5cdFx0dGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh0aGlzLmRhdGVTdHJpbmcpO1xyXG5cdH1cclxuXHJcblx0aXNSZXF1aXJlZCgpIHtcclxuXHRcdGlmICghdGhpcy5jb250cm9sPy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG5cdFx0cmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9jb252ZXJ0UmFuZ2VUb0dyZWdvcmlhbihvYmo6IGFueSk6IHsgZnJvbTogYW55OyB0bzogYW55IH0gfCBudWxsIHtcclxuXHRcdHJldHVybiBvYmouZnJvbSAmJiBvYmoudG9cclxuXHRcdFx0PyB7XHJcblx0XHRcdFx0XHRmcm9tOiB0aGlzLmRhdGVGb3JtYXR0ZXJTZXJ2aWNlLlRvR3JlZ29yaWFuRGF0ZVN0cnVjdChvYmouZnJvbSwgJycpLFxyXG5cdFx0XHRcdFx0dG86IHRoaXMuZGF0ZUZvcm1hdHRlclNlcnZpY2UuVG9HcmVnb3JpYW5EYXRlU3RydWN0KG9iai50bywgJycpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ6IG51bGw7XHJcblx0fVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJoaWpyaS1kYXRlLWxhYmxlXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG14LTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxkaXYgY2xhc3M9XCJoaWpyaS1kYXRlLWNvbnRhaW5lclwiPlxyXG4gIDxoaWpyaS1ncmVnb3JpYW4tZGF0ZXBpY2tlclxyXG4gICAgW3BsYWNlSG9sZGVyXT1cInBsYWNlSG9sZGVyIHwgdHJhbnNsYXRlXCJcclxuICAgIFsoc2VsZWN0ZWREYXRlKV09XCJkYXRlXCJcclxuICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgW0dyZWdMYWJlbF09XCInZ3JlZ29yaWFuJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbaGlqcmlMYWJlbF09XCInaGlqcmknIHx0cmFuc2xhdGVcIlxyXG4gICAgW3NlbGVjdGVkRGF0ZVR5cGVdPVwic2VsZWN0ZWREYXRlVHlwZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICBbcmVhZG9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICBbbWluSGlqcmldPVwibWluSGlqcmlcIlxyXG4gICAgW21heEhpanJpXT1cIm1heEhpanJpXCJcclxuICAgIFttaW5HcmVnXT1cIm1pbkdyZWdcIlxyXG4gICAgW21heEdyZWddPVwibWF4R3JlZ1wiXHJcbiAgICBbcmFuZ2VdPVwicmFuZ2VcIlxyXG4gICAgW2VtaXRPbkJsdXJdPVwiZW1pdE9uQmx1clwiXHJcbiAgICBbdmVydGljYWxdPVwidmVydGljYWxcIlxyXG4gICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJzZXRWYWx1ZSgkZXZlbnQpXCJcclxuICAgICNkYXRlUGlja2VyXHJcbiAgPlxyXG4gIDwvaGlqcmktZ3JlZ29yaWFuLWRhdGVwaWNrZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -79,7 +79,7 @@ export class DynamicFormOptionsComponent {
79
79
  }
80
80
  }
81
81
  DynamicFormOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormOptionsComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
82
- DynamicFormOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormOptionsComponent, selector: "cts-dynamic-form-options", inputs: { label: "label", data: "data", bindLabel: "bindLabel", bindValue: "bindValue", multiple: "multiple" }, ngImport: i0, template: "<!-- template for viewing single select selected value -->\r\n<ng-container *ngIf=\"multiple\">\r\n <ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"radio-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n </ng-container>\r\n <div class=\"option-wrapper\" *ngFor=\"let item of data ; let i = index\">\r\n <span>\r\n <input\r\n id=\"item-{{ i }}\"\r\n type=\"checkbox\"\r\n (change)=\"\r\n emitSelection(\r\n bindValue ? item[bindValue] : item,\r\n $event.target.checked\r\n )\r\n \"\r\n [checked]=\"containsValue(bindValue ? item[bindValue] : item, selection)\"\r\n />\r\n </span>\r\n <span class=\"label-wrapper\">\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </span>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!multiple\">\r\n <ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"radio-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n </div>\r\n </ng-container>\r\n <div class=\"radio-option\">\r\n <mat-radio-group\r\n [(ngModel)]=\"selectedItem\"\r\n (ngModelChange)=\"onSelectedItemChanged($event)\"\r\n class=\"radio-group\"\r\n >\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n *ngFor=\"let item of data\"\r\n [value]=\"bindValue ? item[bindValue] : item\"\r\n >\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n</ng-container>\r\n<!-- template for viewing multi select selected values -->\r\n<!-- [checked]=\"containsValue(bindValue ? item[bindValue] : item,selectedItem)\" -->\r\n", styles: [".radio-label{font-size:17px;margin-bottom:1px}.radio-option{display:flex;grid-column-gap:4px;column-gap:4px}.radio-option .radio-group{display:flex;grid-column-gap:10px;column-gap:10px}.radio-option .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{opacity:0!important;background-color:#00dca5!important}.radio-option .mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#00dca5!important}.radio-option .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#00dca5!important}\n"], components: [{ type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
82
+ DynamicFormOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormOptionsComponent, selector: "cts-dynamic-form-options", inputs: { label: "label", data: "data", bindLabel: "bindLabel", bindValue: "bindValue", multiple: "multiple" }, ngImport: i0, template: "<!-- template for viewing single select selected value -->\r\n<ng-container *ngIf=\"multiple\">\r\n <ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"radio-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n </ng-container>\r\n <div class=\"option-wrapper\" *ngFor=\"let item of data ; let i = index\">\r\n <span>\r\n <input\r\n id=\"item-{{ i }}\"\r\n type=\"checkbox\"\r\n (change)=\"\r\n emitSelection(\r\n bindValue ? item[bindValue] : item,\r\n $event.target.checked\r\n )\r\n \"\r\n [checked]=\"containsValue(bindValue ? item[bindValue] : item, selection)\"\r\n />\r\n </span>\r\n <span class=\"label-wrapper\">\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </span>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!multiple\">\r\n <ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"radio-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n </ng-container>\r\n <div class=\"radio-option\">\r\n <mat-radio-group\r\n [(ngModel)]=\"selectedItem\"\r\n (ngModelChange)=\"onSelectedItemChanged($event)\"\r\n class=\"radio-group\"\r\n >\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n *ngFor=\"let item of data\"\r\n [value]=\"bindValue ? item[bindValue] : item\"\r\n >\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n</ng-container>\r\n<!-- template for viewing multi select selected values -->\r\n<!-- [checked]=\"containsValue(bindValue ? item[bindValue] : item,selectedItem)\" -->\r\n", styles: [".radio-label{font-size:17px;margin-bottom:1px}.radio-option{display:flex;grid-column-gap:4px;column-gap:4px}.radio-option .radio-group{display:flex;grid-column-gap:10px;column-gap:10px}.radio-option .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{opacity:0!important;background-color:#00dca5!important}.radio-option .mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#00dca5!important}.radio-option .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#00dca5!important}\n"], components: [{ type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormOptionsComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
103
103
  }], multiple: [{
104
104
  type: Input
105
105
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLW9wdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tb3B0aW9ucy9keW5hbWljLWZvcm0tb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1vcHRpb25zL2R5bmFtaWMtZm9ybS1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLFFBQVEsRUFFUixJQUFJLEVBQ0osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFPdkI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQU9ILE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDLFlBQXdDLE9BQWtCO1FBQWxCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSMUQsbURBQW1EO1FBQzFDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsZ0RBQWdEO1FBRWhELGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRLEtBQVcsQ0FBQztJQUVwQixVQUFVLENBQUMsS0FBSztRQUNkLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFDRCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDcEQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFxQixDQUFDLENBQUM7UUFDeEUsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBa0I7UUFDckMsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM5QyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7b0JBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO29CQUMvQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBVztRQUM5QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLHFCQUFxQixDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7eUhBeEVVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLGdMQ3BDeEMsaTNEQXdEQTs0RkRwQmEsMkJBQTJCO2tCQU52QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSx1Q0FBdUM7b0JBQ3BELFNBQVMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQW9CYyxJQUFJOzswQkFBSSxRQUFROzRDQWhCN0IsS0FBSztzQkFESixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGpzb24gfSBmcm9tICdAcnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzJztcclxuLyoqXHJcbiAqIE9wdGlvbnMgZ3JvdXAgaW5wdXQgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBPcHRpb25zIEdyb3VwXHJcbiAqIEBleGFtcGxlXHJcbiAqICAgPGN0cy1keW5hbWljLWZvcm0tb3B0aW9uc1xyXG4gKiAgICBbbGFiZWxdPVwiJ0Nob29zZSBhbiBpdGVtJ1wiXHJcbiAqICAgIFtkYXRhXT1cImFycmF5T2ZJdGVtc1wiXHJcbiAqICAgIFtiaW5kTGFiZWxdPVwiJ25hbWUnXCJcclxuICogICAgW2JpbmRWYWx1ZV09XCInaWQnXCJcclxuICogICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwib3B0aW9uXCI+XHJcbiAqIDwvY3RzLWR5bmFtaWMtZm9ybS1vcHRpb25zPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLW9wdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLW9wdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1PcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIC8qKiBSYWRpbyBncm91cCBsYWJlbCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw7XHJcbiAgLyoqIGFycmF5IG9mIG9wdGlvbnMgKi9cclxuICBASW5wdXQoKVxyXG4gIGRhdGE7XHJcbiAgLyoqIGJpbmQgbGFiZWwgdG8gb3B0aW9uIG9iamVjdCBwcm9wZXJ0eSAqL1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xyXG4gIC8qKiBiaW5kIHZhbHVlIHRvIG9wdGlvbiBvYmplY3QgcHJvcGVydHkgKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZztcclxuICAvKiogY2FuIHNlbGVjdCBtdWx0aXBsZSAoY2hlY2tib3hlcykgb3IgKHJhZGlvcykgKi9cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIC8vIEBPdXRwdXQoKSBvblNlbGVjdEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWxlY3Rpb24gPSBbXTtcclxuICBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuICBjb25zdHJ1Y3RvcihAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gWy4uLnZhbHVlXTtcclxuICAgIH1cclxuICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcblxyXG4gIC8vbXVsdGlwbGUgZnVuY3Rpb25zXHJcbiAgZW1pdFNlbGVjdGlvbih2YWx1ZSwgaXNDaGVja2VkOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNDaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnB1c2godmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbi5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xyXG4gICAgICAgICAgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgIT0gSlNPTi5zdHJpbmdpZnkoaXRlbSlcclxuICAgICAgICAgIDogdmFsdWUgIT0gaXRlbTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0aW9uKTtcclxuICB9XHJcbiAgY29udGFpbnNWYWx1ZSh2YWx1ZSwgbGlzdDogYW55W10pIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXHJcbiAgICAgID8gbGlzdC5zb21lKChlbGVtKSA9PiBKU09OLnN0cmluZ2lmeShlbGVtKSA9PT0gSlNPTi5zdHJpbmdpZnkodmFsdWUpKVxyXG4gICAgICA6IGxpc3QuaW5jbHVkZXModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gIW11bHRpcGxlIGZ1bmN0aW9uc1xyXG4gIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlZChldmVudCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gdGVtcGxhdGUgZm9yIHZpZXdpbmcgc2luZ2xlIHNlbGVjdCBzZWxlY3RlZCB2YWx1ZSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJyYWRpby1sYWJlbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICAgID5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJvcHRpb24td3JhcHBlclwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICA8c3Bhbj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgaWQ9XCJpdGVtLXt7IGkgfX1cIlxyXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJcclxuICAgICAgICAgIGVtaXRTZWxlY3Rpb24oXHJcbiAgICAgICAgICAgIGJpbmRWYWx1ZSA/IGl0ZW1bYmluZFZhbHVlXSA6IGl0ZW0sXHJcbiAgICAgICAgICAgICRldmVudC50YXJnZXQuY2hlY2tlZFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiY29udGFpbnNWYWx1ZShiaW5kVmFsdWUgPyBpdGVtW2JpbmRWYWx1ZV0gOiBpdGVtLCBzZWxlY3Rpb24pXCJcclxuICAgICAgLz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtd3JhcHBlclwiPlxyXG4gICAgICB7eyAoYmluZExhYmVsID8gaXRlbVtiaW5kTGFiZWxdIDogaXRlbSkgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlwbGVcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInJhZGlvLWxhYmVsXCJcclxuICAgICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cInJhZGlvLW9wdGlvblwiPlxyXG4gICAgPG1hdC1yYWRpby1ncm91cFxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0ZWRJdGVtQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgY2xhc3M9XCJyYWRpby1ncm91cFwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJyYWRpby1idXR0b25cIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJiaW5kVmFsdWUgPyBpdGVtW2JpbmRWYWx1ZV0gOiBpdGVtXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IChiaW5kTGFiZWwgPyBpdGVtW2JpbmRMYWJlbF0gOiBpdGVtKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L21hdC1yYWRpby1ncm91cD5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gdGVtcGxhdGUgZm9yIHZpZXdpbmcgbXVsdGkgc2VsZWN0IHNlbGVjdGVkIHZhbHVlcyAtLT5cclxuPCEtLSBbY2hlY2tlZF09XCJjb250YWluc1ZhbHVlKGJpbmRWYWx1ZSA/IGl0ZW1bYmluZFZhbHVlXSA6IGl0ZW0sc2VsZWN0ZWRJdGVtKVwiIC0tPlxyXG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLW9wdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tb3B0aW9ucy9keW5hbWljLWZvcm0tb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1vcHRpb25zL2R5bmFtaWMtZm9ybS1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLFFBQVEsRUFFUixJQUFJLEVBQ0osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFPdkI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQU9ILE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDLFlBQXdDLE9BQWtCO1FBQWxCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSMUQsbURBQW1EO1FBQzFDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsZ0RBQWdEO1FBRWhELGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRLEtBQVcsQ0FBQztJQUVwQixVQUFVLENBQUMsS0FBSztRQUNkLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFR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ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGpzb24gfSBmcm9tICdAcnh3ZWIvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzJztcclxuLyoqXHJcbiAqIE9wdGlvbnMgZ3JvdXAgaW5wdXQgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBPcHRpb25zIEdyb3VwXHJcbiAqIEBleGFtcGxlXHJcbiAqICAgPGN0cy1keW5hbWljLWZvcm0tb3B0aW9uc1xyXG4gKiAgICBbbGFiZWxdPVwiJ0Nob29zZSBhbiBpdGVtJ1wiXHJcbiAqICAgIFtkYXRhXT1cImFycmF5T2ZJdGVtc1wiXHJcbiAqICAgIFtiaW5kTGFiZWxdPVwiJ25hbWUnXCJcclxuICogICAgW2JpbmRWYWx1ZV09XCInaWQnXCJcclxuICogICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwib3B0aW9uXCI+XHJcbiAqIDwvY3RzLWR5bmFtaWMtZm9ybS1vcHRpb25zPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy1mb3JtLW9wdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLW9wdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1PcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIC8qKiBSYWRpbyBncm91cCBsYWJlbCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFiZWw7XHJcbiAgLyoqIGFycmF5IG9mIG9wdGlvbnMgKi9cclxuICBASW5wdXQoKVxyXG4gIGRhdGE7XHJcbiAgLyoqIGJpbmQgbGFiZWwgdG8gb3B0aW9uIG9iamVjdCBwcm9wZXJ0eSAqL1xyXG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xyXG4gIC8qKiBiaW5kIHZhbHVlIHRvIG9wdGlvbiBvYmplY3QgcHJvcGVydHkgKi9cclxuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZztcclxuICAvKiogY2FuIHNlbGVjdCBtdWx0aXBsZSAoY2hlY2tib3hlcykgb3IgKHJhZGlvcykgKi9cclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIC8vIEBPdXRwdXQoKSBvblNlbGVjdEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWxlY3Rpb24gPSBbXTtcclxuICBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuICBjb25zdHJ1Y3RvcihAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gWy4uLnZhbHVlXTtcclxuICAgIH1cclxuICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcblxyXG4gIC8vbXVsdGlwbGUgZnVuY3Rpb25zXHJcbiAgZW1pdFNlbGVjdGlvbih2YWx1ZSwgaXNDaGVja2VkOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNDaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLnB1c2godmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbi5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xyXG4gICAgICAgICAgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgIT0gSlNPTi5zdHJpbmdpZnkoaXRlbSlcclxuICAgICAgICAgIDogdmFsdWUgIT0gaXRlbTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0aW9uKTtcclxuICB9XHJcbiAgY29udGFpbnNWYWx1ZSh2YWx1ZSwgbGlzdDogYW55W10pIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXHJcbiAgICAgID8gbGlzdC5zb21lKChlbGVtKSA9PiBKU09OLnN0cmluZ2lmeShlbGVtKSA9PT0gSlNPTi5zdHJpbmdpZnkodmFsdWUpKVxyXG4gICAgICA6IGxpc3QuaW5jbHVkZXModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gIW11bHRpcGxlIGZ1bmN0aW9uc1xyXG4gIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlZChldmVudCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gdGVtcGxhdGUgZm9yIHZpZXdpbmcgc2luZ2xlIHNlbGVjdCBzZWxlY3RlZCB2YWx1ZSAtLT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJyYWRpby1sYWJlbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbXgtMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgICA+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwib3B0aW9uLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhIDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPHNwYW4+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIGlkPVwiaXRlbS17eyBpIH19XCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwiXHJcbiAgICAgICAgICBlbWl0U2VsZWN0aW9uKFxyXG4gICAgICAgICAgICBiaW5kVmFsdWUgPyBpdGVtW2JpbmRWYWx1ZV0gOiBpdGVtLFxyXG4gICAgICAgICAgICAkZXZlbnQudGFyZ2V0LmNoZWNrZWRcclxuICAgICAgICAgIClcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cImNvbnRhaW5zVmFsdWUoYmluZFZhbHVlID8gaXRlbVtiaW5kVmFsdWVdIDogaXRlbSwgc2VsZWN0aW9uKVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdyYXBwZXJcIj5cclxuICAgICAge3sgKGJpbmRMYWJlbCA/IGl0ZW1bYmluZExhYmVsXSA6IGl0ZW0pIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJyYWRpby1sYWJlbFwiXHJcbiAgICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbXgtMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgICA+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwicmFkaW8tb3B0aW9uXCI+XHJcbiAgICA8bWF0LXJhZGlvLWdyb3VwXHJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RlZEl0ZW1DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cInJhZGlvLWdyb3VwXCJcclxuICAgID5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgICBjbGFzcz1cInJhZGlvLWJ1dHRvblwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImJpbmRWYWx1ZSA/IGl0ZW1bYmluZFZhbHVlXSA6IGl0ZW1cIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgKGJpbmRMYWJlbCA/IGl0ZW1bYmluZExhYmVsXSA6IGl0ZW0pIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPCEtLSB0ZW1wbGF0ZSBmb3Igdmlld2luZyBtdWx0aSBzZWxlY3Qgc2VsZWN0ZWQgdmFsdWVzIC0tPlxyXG48IS0tIFtjaGVja2VkXT1cImNvbnRhaW5zVmFsdWUoYmluZFZhbHVlID8gaXRlbVtiaW5kVmFsdWVdIDogaXRlbSxzZWxlY3RlZEl0ZW0pXCIgLS0+XHJcbiJdfQ==