@smarterplan/ngx-smarterplan-core 1.2.20 → 1.2.22
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.
- package/README.md +24 -24
- package/esm2020/lib/components/csv-export/csv-export.component.mjs +3 -3
- package/esm2020/lib/components/loader/loader.component.mjs +3 -3
- package/esm2020/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
- package/esm2020/lib/components/menu-bar/menu-bar.component.mjs +2 -2
- package/esm2020/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
- package/esm2020/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
- package/esm2020/lib/components/search-bar/search-bar.component.mjs +3 -3
- package/esm2020/lib/components/support-modal/support-modal.component.mjs +3 -3
- package/esm2020/lib/config.mjs +1 -1
- package/esm2020/lib/helpers.service.mjs +1 -1
- package/esm2020/lib/mattertagData.mjs +1 -1
- package/esm2020/lib/ngx-smarterplan-core.module.mjs +1 -1
- package/esm2020/lib/ngx-smarterplan-core.service.mjs +1 -1
- package/esm2020/lib/pipes/duration-to-string.pipe.mjs +1 -1
- package/esm2020/lib/pipes/format-date-number-to-digits.pipe.mjs +1 -1
- package/esm2020/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
- package/esm2020/lib/pipes/safe-url.pipe.mjs +1 -1
- package/esm2020/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
- package/esm2020/lib/pipes/username-from-id.pipe.mjs +1 -1
- package/esm2020/lib/services/amplify-cache.service.mjs +1 -1
- package/esm2020/lib/services/base-tab.service.mjs +1 -1
- package/esm2020/lib/services/content.service.mjs +1 -1
- package/esm2020/lib/services/intervention.service.mjs +1 -1
- package/esm2020/lib/services/locale.service.mjs +1 -1
- package/esm2020/lib/services/matterport.service.mjs +5 -1
- package/esm2020/lib/services/models/affectation.service.mjs +1 -1
- package/esm2020/lib/services/models/base-object.service.mjs +1 -1
- package/esm2020/lib/services/models/capture.service.mjs +1 -1
- package/esm2020/lib/services/models/comment.service.mjs +1 -1
- package/esm2020/lib/services/models/domain.service.mjs +1 -1
- package/esm2020/lib/services/models/event.service.mjs +1 -1
- package/esm2020/lib/services/models/hashtag.service.mjs +1 -1
- package/esm2020/lib/services/models/layer.service.mjs +1 -1
- package/esm2020/lib/services/models/mission.service.mjs +1 -1
- package/esm2020/lib/services/models/navigation.service.mjs +1 -1
- package/esm2020/lib/services/models/node.service.mjs +1 -1
- package/esm2020/lib/services/models/operation.service.mjs +1 -1
- package/esm2020/lib/services/models/organisation.service.mjs +1 -1
- package/esm2020/lib/services/models/plan.service.mjs +1 -1
- package/esm2020/lib/services/models/profile.service.mjs +1 -1
- package/esm2020/lib/services/models/property.service.mjs +1 -1
- package/esm2020/lib/services/models/space.service.mjs +1 -1
- package/esm2020/lib/services/models/template.service.mjs +1 -1
- package/esm2020/lib/services/models/ticket.service.mjs +3 -2
- package/esm2020/lib/services/models/visit.service.mjs +1 -1
- package/esm2020/lib/services/s3.service.mjs +1 -1
- package/esm2020/lib/services/search.service.mjs +1 -1
- package/esm2020/lib/services/support.service.mjs +1 -1
- package/esm2020/lib/services/user.service.mjs +1 -1
- package/esm2020/lib/services/validators.service.mjs +1 -1
- package/esm2020/lib/services/zone-drawer.service.mjs +1 -1
- package/esm2020/lib/validators/email.directive.mjs +1 -1
- package/esm2020/lib/validators/no-empty.directive.mjs +1 -1
- package/esm2020/lib/validators/number.directive.mjs +1 -1
- package/esm2020/lib/validators/text.directive.mjs +1 -1
- package/fesm2015/smarterplan-ngx-smarterplan-core.mjs +20 -15
- package/fesm2015/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/fesm2020/smarterplan-ngx-smarterplan-core.mjs +20 -15
- package/fesm2020/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/components/csv-export/csv-export.component.d.ts.map +0 -1
- package/lib/components/loader/loader.component.d.ts.map +0 -1
- package/lib/components/menu-bar/avatar/avatar.component.d.ts.map +0 -1
- package/lib/components/menu-bar/menu-bar.component.d.ts.map +0 -1
- package/lib/components/menu-bar/navigation-bar/navigation-bar.component.d.ts.map +0 -1
- package/lib/components/menu-bar/range-date-picker/range-date-picker.component.d.ts.map +0 -1
- package/lib/components/modal-switch-visit/modal-switch-visit.component.d.ts.map +0 -1
- package/lib/components/search-bar/search-bar.component.d.ts.map +0 -1
- package/lib/components/support-modal/support-modal.component.d.ts.map +0 -1
- package/lib/config.d.ts.map +0 -1
- package/lib/helpers.service.d.ts.map +0 -1
- package/lib/matterport-extensions/hsl-loader/HlsLoader.d.ts.map +0 -1
- package/lib/matterport-extensions/nest-thermostat/CanvasImage.d.ts.map +0 -1
- package/lib/matterport-extensions/nest-thermostat/CanvasRenderer.d.ts.map +0 -1
- package/lib/matterport-extensions/nest-thermostat/NestThermostat.d.ts.map +0 -1
- package/lib/matterport-extensions/nest-thermostat/PlaneRenderer.d.ts.map +0 -1
- package/lib/matterport-extensions/scene-component/SceneComponent.d.ts.map +0 -1
- package/lib/matterport-extensions/security-camera/SecurityCamera.d.ts.map +0 -1
- package/lib/matterport-extensions/tv-player/TvPlayer.d.ts.map +0 -1
- package/lib/matterport-extensions/video-renderer/VideoRenderer.d.ts.map +0 -1
- package/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.d.ts.map +0 -1
- package/lib/mattertagData.d.ts.map +0 -1
- package/lib/ngx-smarterplan-core.module.d.ts.map +0 -1
- package/lib/ngx-smarterplan-core.service.d.ts.map +0 -1
- package/lib/pipes/duration-to-string.pipe.d.ts.map +0 -1
- package/lib/pipes/format-date-number-to-digits.pipe.d.ts.map +0 -1
- package/lib/pipes/hashtag-from-id.pipe.d.ts.map +0 -1
- package/lib/pipes/safe-url.pipe.d.ts.map +0 -1
- package/lib/pipes/time-date-to-local-string.pipe.d.ts.map +0 -1
- package/lib/pipes/username-from-id.pipe.d.ts.map +0 -1
- package/lib/services/amplify-cache.service.d.ts.map +0 -1
- package/lib/services/base-tab.service.d.ts.map +0 -1
- package/lib/services/baseVisibility.service.d.ts.map +0 -1
- package/lib/services/content.service.d.ts.map +0 -1
- package/lib/services/filter.service.d.ts.map +0 -1
- package/lib/services/intervention.service.d.ts.map +0 -1
- package/lib/services/locale.service.d.ts.map +0 -1
- package/lib/services/matterport-import.service.d.ts.map +0 -1
- package/lib/services/matterport.service.d.ts.map +0 -1
- package/lib/services/models/affectation.service.d.ts.map +0 -1
- package/lib/services/models/base-object.service.d.ts.map +0 -1
- package/lib/services/models/capture.service.d.ts.map +0 -1
- package/lib/services/models/comment.service.d.ts.map +0 -1
- package/lib/services/models/domain.service.d.ts.map +0 -1
- package/lib/services/models/equipment.service.d.ts.map +0 -1
- package/lib/services/models/event.service.d.ts.map +0 -1
- package/lib/services/models/feature.service.d.ts.map +0 -1
- package/lib/services/models/hashtag.service.d.ts.map +0 -1
- package/lib/services/models/layer.service.d.ts.map +0 -1
- package/lib/services/models/measurement.service.d.ts.map +0 -1
- package/lib/services/models/mission.service.d.ts.map +0 -1
- package/lib/services/models/navigation.service.d.ts.map +0 -1
- package/lib/services/models/node.service.d.ts.map +0 -1
- package/lib/services/models/object3D.service.d.ts.map +0 -1
- package/lib/services/models/operation.service.d.ts.map +0 -1
- package/lib/services/models/organisation.service.d.ts.map +0 -1
- package/lib/services/models/plan.service.d.ts.map +0 -1
- package/lib/services/models/poi.service.d.ts.map +0 -1
- package/lib/services/models/profile.service.d.ts.map +0 -1
- package/lib/services/models/property.service.d.ts.map +0 -1
- package/lib/services/models/space.service.d.ts.map +0 -1
- package/lib/services/models/template.service.d.ts.map +0 -1
- package/lib/services/models/ticket.service.d.ts.map +0 -1
- package/lib/services/models/visit.service.d.ts.map +0 -1
- package/lib/services/models/zone.service.d.ts.map +0 -1
- package/lib/services/navigator.service.d.ts.map +0 -1
- package/lib/services/s3.service.d.ts.map +0 -1
- package/lib/services/search.service.d.ts.map +0 -1
- package/lib/services/support.service.d.ts.map +0 -1
- package/lib/services/tag.service.d.ts.map +0 -1
- package/lib/services/user.service.d.ts.map +0 -1
- package/lib/services/validators.service.d.ts.map +0 -1
- package/lib/services/viewer.service.d.ts.map +0 -1
- package/lib/services/zone-drawer.service.d.ts.map +0 -1
- package/lib/services/zoneChange.service.d.ts.map +0 -1
- package/lib/types.service.d.ts.map +0 -1
- package/lib/validators/email.directive.d.ts.map +0 -1
- package/lib/validators/no-empty.directive.d.ts.map +0 -1
- package/lib/validators/number.directive.d.ts.map +0 -1
- package/lib/validators/text.directive.d.ts.map +0 -1
- package/public-api.d.ts.map +0 -1
- package/smarterplan-ngx-smarterplan-core.d.ts.map +0 -1
|
@@ -370,10 +370,10 @@ export class NavigationBarComponent {
|
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
NavigationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NavigationBarComponent, deps: [{ token: 'currentAwsKinesisAnalyticsService' }, { token: i1.Router }, { token: i2.SpaceService }, { token: i3.BaseUserService }, { token: i4.ZoneService }, { token: i5.VisitService }, { token: i6.ViewerService }, { token: i7.NavigatorService }, { token: i8.ZoneChangeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
373
|
-
NavigationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: NavigationBarComponent, selector: "lib-navigation-bar", viewQueries: [{ propertyName: "navbarSelectMenu", first: true, predicate: ["navbarSelectMenu"], descendants: true }], ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\n <div class=\"d-flex col-12\">\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\n <div class=\"d-flex flex-column flex-md-row \">\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\n (ngModelChange)=\"onLocationClick()\">\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\n </option>\n </select>\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\n (ngModelChange)=\"onFloorClick()\">\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\n <option *ngFor=\"let floor of floorsPerSpace\" [ngValue]=\"floor\">{{ floor.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\n (ngModelChange)=\"onZoneClick()\">\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\"><span\n *ngIf=\"zone.code_ref\">{{zone.code_ref}}_</span>{{zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\n *ngIf=\"childrenZones && childrenZones.length>0\" (ngModelChange)=\"onChildZoneClick()\">\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <!-- <select class=\"form-control flex-fill\">\n <option i18n>{{'Favorites' | translate}}</option>\n </select> -->\n </div>\n <div class=\"row\" style=\"margin-left: 0;\">\n <div class=\"outer_circle\">\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\n (click)=\"goTo()\"></button>\n </div>\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\n </div>\n </div>\n\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\n {{ showLocation() }}\n </h4>\n </div>\n</nav>", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"], directives: [{ type: i9.NgbNavbar, selector: ".navbar" }, { type: i10.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i10.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i10.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i12.TranslatePipe } });
|
|
373
|
+
NavigationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: NavigationBarComponent, selector: "lib-navigation-bar", viewQueries: [{ propertyName: "navbarSelectMenu", first: true, predicate: ["navbarSelectMenu"], descendants: true }], ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\r\n <div class=\"d-flex col-12\">\r\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\r\n <div class=\"d-flex flex-column flex-md-row \">\r\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\r\n (ngModelChange)=\"onLocationClick()\">\r\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\r\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\r\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\r\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\r\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\r\n </option>\r\n </select>\r\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\r\n (ngModelChange)=\"onFloorClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\r\n <option *ngFor=\"let floor of floorsPerSpace\" [ngValue]=\"floor\">{{ floor.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\r\n (ngModelChange)=\"onZoneClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\"><span\r\n *ngIf=\"zone.code_ref\">{{zone.code_ref}}_</span>{{zone.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\r\n *ngIf=\"childrenZones && childrenZones.length>0\" (ngModelChange)=\"onChildZoneClick()\">\r\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <!-- <select class=\"form-control flex-fill\">\r\n <option i18n>{{'Favorites' | translate}}</option>\r\n </select> -->\r\n </div>\r\n <div class=\"row\" style=\"margin-left: 0;\">\r\n <div class=\"outer_circle\">\r\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\r\n (click)=\"goTo()\"></button>\r\n </div>\r\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\r\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\r\n </div>\r\n </div>\r\n\r\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\r\n {{ showLocation() }}\r\n </h4>\r\n </div>\r\n</nav>", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"], directives: [{ type: i9.NgbNavbar, selector: ".navbar" }, { type: i10.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i10.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i10.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i12.TranslatePipe } });
|
|
374
374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NavigationBarComponent, decorators: [{
|
|
375
375
|
type: Component,
|
|
376
|
-
args: [{ selector: 'lib-navigation-bar', template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\n <div class=\"d-flex col-12\">\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\n <div class=\"d-flex flex-column flex-md-row \">\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\n (ngModelChange)=\"onLocationClick()\">\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\n </option>\n </select>\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\n (ngModelChange)=\"onFloorClick()\">\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\n <option *ngFor=\"let floor of floorsPerSpace\" [ngValue]=\"floor\">{{ floor.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\n (ngModelChange)=\"onZoneClick()\">\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\"><span\n *ngIf=\"zone.code_ref\">{{zone.code_ref}}_</span>{{zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\n *ngIf=\"childrenZones && childrenZones.length>0\" (ngModelChange)=\"onChildZoneClick()\">\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <!-- <select class=\"form-control flex-fill\">\n <option i18n>{{'Favorites' | translate}}</option>\n </select> -->\n </div>\n <div class=\"row\" style=\"margin-left: 0;\">\n <div class=\"outer_circle\">\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\n (click)=\"goTo()\"></button>\n </div>\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\n </div>\n </div>\n\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\n {{ showLocation() }}\n </h4>\n </div>\n</nav>", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"] }]
|
|
376
|
+
args: [{ selector: 'lib-navigation-bar', template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\r\n <div class=\"d-flex col-12\">\r\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\r\n <div class=\"d-flex flex-column flex-md-row \">\r\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\r\n (ngModelChange)=\"onLocationClick()\">\r\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\r\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\r\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\r\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\r\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\r\n </option>\r\n </select>\r\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\r\n (ngModelChange)=\"onFloorClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\r\n <option *ngFor=\"let floor of floorsPerSpace\" [ngValue]=\"floor\">{{ floor.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\r\n (ngModelChange)=\"onZoneClick()\">\r\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\"><span\r\n *ngIf=\"zone.code_ref\">{{zone.code_ref}}_</span>{{zone.name}}</option>\r\n </select>\r\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\r\n *ngIf=\"childrenZones && childrenZones.length>0\" (ngModelChange)=\"onChildZoneClick()\">\r\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\r\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\r\n </select>\r\n <!-- <select class=\"form-control flex-fill\">\r\n <option i18n>{{'Favorites' | translate}}</option>\r\n </select> -->\r\n </div>\r\n <div class=\"row\" style=\"margin-left: 0;\">\r\n <div class=\"outer_circle\">\r\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\r\n (click)=\"goTo()\"></button>\r\n </div>\r\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\r\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\r\n </div>\r\n </div>\r\n\r\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\r\n {{ showLocation() }}\r\n </h4>\r\n </div>\r\n</nav>", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"] }]
|
|
377
377
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
378
378
|
type: Inject,
|
|
379
379
|
args: ['currentAwsKinesisAnalyticsService']
|
|
@@ -381,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
381
381
|
type: ViewChild,
|
|
382
382
|
args: ['navbarSelectMenu']
|
|
383
383
|
}] } });
|
|
384
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtYmFyL25hdmlnYXRpb24tYmFyL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9uYXZpZ2F0aW9uLWJhci9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWVyRCxNQUFNLE9BQU8sc0JBQXNCO0lBdUNqQyxZQUVFLDJCQUFnQyxFQUN4QixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsV0FBNEIsRUFDNUIsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLGlCQUFvQztRQVBwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXRDOUMscUJBQWdCLEdBQVUs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VUFBVSxHQUFHLEdBQUc7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxnQkFBZ0IsRUFDckI7WUFDQSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7U0FDbkM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O21IQWhjVSxzQkFBc0Isa0JBd0N2QixtQ0FBbUM7dUdBeENsQyxzQkFBc0IsZ0xDbEJuQywydkdBaURNOzJGRC9CTyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkE0QzNCLE1BQU07MkJBQUMsbUNBQW1DOzBRQXJDZCxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB3YWl0VW50aWwgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTcGFjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvc3BhY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFZpc2l0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVscy92aXNpdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9uZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvem9uZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ZpZXdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3BhY2UsIFZpc2l0LCBab25lIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7Wm9uZUNoYW5nZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy96b25lQ2hhbmdlLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW5hdmlnYXRpb24tYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBhd3NLaW5lc2lzQW5hbHl0aWNzOiBhbnk7IC8vQVdTXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ25hdmJhclNlbGVjdE1lbnUnKSBuYXZiYXJTZWxlY3RNZW51ITogYW55O1xyXG5cclxuICBsb2NhdGlvbnM6IFNwYWNlW107XHJcblxyXG4gIGN1cnJlbnRMb2NhdGlvbklEOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRNb2RlbDNkOiBzdHJpbmc7XHJcblxyXG4gIHNlbGVjdGVkTG9jYXRpb246IFNwYWNlID0gbnVsbDtcclxuXHJcbiAgc2VsZWN0ZWRNb2RlbDNkOiBzdHJpbmc7XHJcblxyXG4gIHNlbGVjdGVkRmxvb3I6IFpvbmUgPSBudWxsO1xyXG5cclxuICBzZWxlY3RlZFpvbmU6IFpvbmUgPSBudWxsO1xyXG5cclxuICBzZWxlY3RlZENoaWxkWm9uZTogWm9uZSA9IG51bGw7XHJcblxyXG4gIHZpc2l0c1BlclNwYWNlOiBWaXNpdFtdID0gbnVsbDtcclxuXHJcbiAgZmxvb3JzUGVyU3BhY2U6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIHpvbmVzUGVyU3BhY2U6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIHpvbmVzUGVyRmxvb3I6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIGNoaWxkcmVuWm9uZXM6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIHN3ZWVwVG9Hbzogc3RyaW5nO1xyXG5cclxuICBmbG9vclRvR286IFpvbmU7XHJcblxyXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmF2RXZlbnRzOiBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2N1cnJlbnRBd3NLaW5lc2lzQW5hbHl0aWNzU2VydmljZScpXHJcbiAgICBhd3NLaW5lc2lzQW5hbHl0aWNzSW5qZWN0ZWQ6IGFueSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNwYWNlU2VydmljZTogU3BhY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogQmFzZVVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6b25lU2VydmljZTogWm9uZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpc2l0U2VydmljZTogVmlzaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3ZXJTZXJ2aWNlOiBWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXZpZ2F0b3JTZXJ2aWNlOiBOYXZpZ2F0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6b25lQ2hhbmdlU2VydmljZTogWm9uZUNoYW5nZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYXdzS2luZXNpc0FuYWx5dGljcyA9IGF3c0tpbmVzaXNBbmFseXRpY3NJbmplY3RlZDtcclxuICAgIHRoaXMuc3BhY2VTZXJ2aWNlLmxvY2F0aW9uVXBkYXRlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvY3MpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2F0aW9ucyA9IGxvY3M7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKFxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRcclxuICAgICAgICAgICk7IC8vIFVwZGF0ZSBPYmplY3QgKG9iamVjdCBhZGRyZXNzIHdpbGwgY2hhbmdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnZpZXdlcklzT25cclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChkYXRhOiB7IHNwYWNlSUQ6IHN0cmluZzsgbW9kZWwzRDogc3RyaW5nOyBzd2VlcDogc3RyaW5nIHwgbnVsbCB9KSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnbWVudSBuYXZpZ2F0aW9uIHJlY2VpdmVkIHVwZGF0ZScsIGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9jYXRpb25JRCA9IGRhdGEuc3BhY2VJRDtcclxuICAgICAgICAgIHRoaXMuY3VycmVudE1vZGVsM2QgPSBkYXRhLm1vZGVsM0Q7XHJcbiAgICAgICAgICBpZiAoIWRhdGEuc3BhY2VJRCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSBudWxsO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbG9jYXRpb25JZCcpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRVcGRhdGVMb2NhdGlvbkV2ZW50KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCF0aGlzLnNlbGVjdGVkTG9jYXRpb24gfHxcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQgIT09IGRhdGEuc3BhY2VJRCkgJiZcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbnNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSB0aGlzLmZpbmRMb2NhdGlvbkJ5SUQoZGF0YS5zcGFjZUlEKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdlIGxpc3RlbiBmb3IgTG9jYXRpb24gY2hhbmdlIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5sb2NhdGlvbklEQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xlYXJEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TG9jYXRpb25JRCA9IGlkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHRoaXMuZmluZExvY2F0aW9uQnlJRChpZCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJMb2NhdGlvbklEID0gaWQ7XHJcbiAgICAgICAgdGhpcy5vblNlbGVjdGVkTG9jYXRpb25DaGFuZ2VkKCkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnpvbmVDaGFuZ2VTZXJ2aWNlLnpvbmVzRm9yVXNlckNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHpvbmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHpvbmVzKSB7XHJcbiAgICAgICAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gdGhpcy5mbG9vcnNQZXJTcGFjZSAhPT0gbnVsbCk7XHJcbiAgICAgICAgICBjb25zdCBmbG9vclpvbmUgPSB6b25lcy5maW5kKFxyXG4gICAgICAgICAgICAoem9uZSkgPT4gem9uZS5sYXllciAmJiB6b25lLmxheWVyLm5hbWUgPT09ICdGTE9PUidcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoZmxvb3Jab25lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbG9vciA9IHRoaXMuZmxvb3JzUGVyU3BhY2UuZmluZChcclxuICAgICAgICAgICAgICAoZikgPT4gZi5pZCA9PT0gZmxvb3Jab25lLmlkXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIC8vIEVtaXQgZXZlbnQgdG8gZGlzcGF0Y2ggdmFsdWUgb2YgIHRoaXMuc2VsZWN0ZWRGbG9vciBpbiBhbGwgcG9pL3RpY2tldC9lcXVpcG1lbnQvbWVhc3VyZSBzZXJ2aWNlc1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVDaGFuZ2VTZXJ2aWNlLmZsb29ySGFzQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRGbG9vcik7XHJcbiAgICAgICAgICAgIHRoaXMub25GbG9vckNsaWNrKGZhbHNlKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgYXdhaXQgdGhpcy5pbml0TG9jYXRpb25zKCk7XHJcbiAgICB0aGlzLmhhbmRsZVN0YXJ0VXJsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8vIENhcHR1cmUgdGhlIFwiaWRcIiBpbiBsb2NhbGlzYXRpb24vOmlkIHJvdXRlc1xyXG4gIGhhbmRsZVN0YXJ0VXJsKCkge1xyXG4gICAgaWYgKHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnbG9jYWxpc2F0aW9uLycpKSB7XHJcbiAgICAgIGNvbnN0IHBhdGhzID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJyk7IC8vIC9kYXNoYm9hcmQvbG9jYWxpc2F0aW9uL2ZjMGFhZGI3LTNjODktNDM0OS1hZDFmLWJmZTliNDQ5MTZjMFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcclxuICAgICAgY29uc3QgbG9jSUQgPSBwYXRoc1szXTtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudExvY2F0aW9uSUQgIT09IGxvY0lEKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2NhdGlvbklEID0gbG9jSUQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKGxvY0lEKTtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhckxvY2F0aW9uSUQgPSBsb2NJRDtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0ZWRMb2NhdGlvbkNoYW5nZWQoKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRMb2NhdGlvbnMoKSB7XHJcbiAgICB0aGlzLmxvY2F0aW9ucyA9IHRoaXMuc3BhY2VTZXJ2aWNlLmxvY2F0aW9uc0ZvclVzZXI7XHJcbiAgICBpZiAodGhpcy5sb2NhdGlvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25zID0gYXdhaXQgdGhpcy5zcGFjZVNlcnZpY2UuZ2V0TG9jYXRpb25zRm9yQ3VycmVudFVzZXIoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2NhdGlvbklEICYmIHRoaXMubG9jYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKHRoaXMuY3VycmVudExvY2F0aW9uSUQpO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExvY2F0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIGEgbG9jYXRpb24gd2l0aCBhIGdpdmVuIElEXHJcbiAgICogQHBhcmFtIGlkIElEIGZvciB0aGUgbG9jYXRpb25cclxuICAgKiBAcmV0dXJucyBUaGUgbG9jYXRpb24gb3IgbnVsbCBpZiBubyBsb2NhdGlvbiB3ZXJlIGZvdW5kXHJcbiAgICovXHJcbiAgZmluZExvY2F0aW9uQnlJRChpZDogc3RyaW5nKTogU3BhY2Uge1xyXG4gICAgY29uc3Qgc3BhY2UgPSB0aGlzLmxvY2F0aW9ucy5maW5kKChsb2MpID0+IGxvYy5pZCA9PT0gaWQpO1xyXG4gICAgcmV0dXJuIHNwYWNlIHx8IG51bGw7IC8qKiBDb252ZXJ0IHRvIG51bGwgaWYgdW5kZWZpbmVkICovXHJcbiAgfVxyXG5cclxuICBjbGVhckRhdGEoY2xlYXJWaXNpdHM6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRGbG9vciA9IG51bGw7XHJcbiAgICB0aGlzLnpvbmVzUGVyRmxvb3IgPSBudWxsO1xyXG4gICAgdGhpcy5jaGlsZHJlblpvbmVzID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbDNkID0gbnVsbDtcclxuICAgIHRoaXMuc3dlZXBUb0dvID0gbnVsbDtcclxuICAgIHRoaXMuZmxvb3JUb0dvID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRab25lID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmUgPSBudWxsO1xyXG4gICAgaWYgKGNsZWFyVmlzaXRzKSB7XHJcbiAgICAgIHRoaXMudmlzaXRzUGVyU3BhY2UgPSBudWxsO1xyXG4gICAgICB0aGlzLnpvbmVzUGVyU3BhY2UgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2xvY2F0aW9uSWQnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdmbG9vcklkJyk7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnem9uZUlkJyk7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnY2hpbGRab25lSWQnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdGhlIHNlbGVjdGVkTG9jYXRpb24gY2hhbmdlc1xyXG4gICAqIFNlbmQgYSBldmVudCB0byBsb2NhdGlvbklEQ2hhbmdlIGZyb20gTmF2aWdhdG9yU2VydmljZVxyXG4gICAqIFRoZSBldmVudCB3aWxsIGJlIGNhdGNoIGJ5IHRoaXMgY29tcG9uZW50IGFuZCB0aGUgZmlsdGVyIGJhciB3aWxsIGJlIHVwZGF0ZVxyXG4gICAqL1xyXG4gIHNlbmRVcGRhdGVMb2NhdGlvbkV2ZW50KCkge1xyXG4gICAgY29uc3QgbG9jYXRpb25JRCA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA/IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCA6IG51bGw7XHJcbiAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubG9jYXRpb25JRENoYW5nZS5uZXh0KGxvY2F0aW9uSUQpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbG9jYXRpb25JZCcsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbG9jYXRpb25JZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25TZWxlY3RlZExvY2F0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZExvY2F0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMudmlzaXRzUGVyU3BhY2UgPSBhd2FpdCB0aGlzLnZpc2l0U2VydmljZS5nZXRWaXNpdHNGb3JTcGFjZUZvclVzZXIoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uLmlkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuem9uZXNQZXJTcGFjZSA9IGF3YWl0IHRoaXMuem9uZVNlcnZpY2UuZ2V0Wm9uZXNCeVNwYWNlRm9yVXNlcihcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMudmlzaXRzUGVyU3BhY2UubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPSB0aGlzLnZpc2l0c1BlclNwYWNlWzBdLm1vZGVsM2Q7XHJcbiAgICAgICAgdGhpcy5mbG9vcnNQZXJTcGFjZSA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXHJcbiAgICAgICAgICAoem9uZSkgPT4gem9uZS5sYXllciAmJiB6b25lLmxheWVyLm5hbWUuaW5jbHVkZXMoJ0ZMT09SJylcclxuICAgICAgICApO1xyXG4gICAgICAgIC8vIHNvcnQgZnJvbSBoaWdoZXN0IGZsb29yIHRvIGxvd2VzdFxyXG4gICAgICAgIHRoaXMuZmxvb3JzUGVyU3BhY2Uuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgaWYgKGEubWV0YWRhdGEgJiYgYi5tZXRhZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBtZXRhZGF0YUEgPSBKU09OLnBhcnNlKGEubWV0YWRhdGEpO1xyXG4gICAgICAgICAgICBjb25zdCBtZXRhZGF0YUIgPSBKU09OLnBhcnNlKGIubWV0YWRhdGEpO1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIG1ldGFkYXRhQi5tYXR0ZXJwb3J0Rmxvb3JTZXF1ZW5jZSAtXHJcbiAgICAgICAgICAgICAgbWV0YWRhdGFBLm1hdHRlcnBvcnRGbG9vclNlcXVlbmNlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBtdWx0aUZsb29yWm9uZXMgPSB0aGlzLnpvbmVzUGVyU3BhY2UuZmlsdGVyKFxyXG4gICAgICAgICAgKHpvbmUpID0+IHpvbmUuaXNNdWx0aXBsZUZsb29yWm9uZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gc29ydCBhbHBoYWJldGljYWxseVxyXG4gICAgICAgIG11bHRpRmxvb3Jab25lcy5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcclxuICAgICAgICAvLyBtZXJnZSBtdWx0aUZsb29yIGFuZCBGbG9vcnNcclxuICAgICAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gWy4uLnRoaXMuZmxvb3JzUGVyU3BhY2UsIC4uLm11bHRpRmxvb3Jab25lc107XHJcbiAgICAgICAgaWYgKHRoaXMuZmxvb3JzUGVyU3BhY2UubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICBbdGhpcy5zZWxlY3RlZEZsb29yXSA9IHRoaXMuZmxvb3JzUGVyU3BhY2U7XHJcbiAgICAgICAgICB0aGlzLm9uRmxvb3JDbGljayhmYWxzZSkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5sb2coJ2Vycm9yIG9uQ2hvc2VuTG9jYXRpb24nLCBlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxvY2F0aW9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNsZWFyRGF0YSgpO1xyXG4gICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25GbG9vckNsaWNrKGVtaXRFdmVudCA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Zsb29ySWQnLCB0aGlzLnNlbGVjdGVkRmxvb3IuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zsb29ySWQnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgJiYgdGhpcy5zZWxlY3RlZEZsb29yLmlzTXVsdGlwbGVGbG9vclpvbmUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSB0aGlzLnNlbGVjdGVkRmxvb3I7XHJcbiAgICAgIHRoaXMub25ab25lQ2xpY2soKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25ab25lQ2xpY2soKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN3ZWVwVG9HbyA9IG51bGw7XHJcbiAgICB0aGlzLnNlbGVjdGVkWm9uZSA9IG51bGw7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2hpbGRab25lID0gbnVsbDtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd6b25lSWQnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdjaGlsZFpvbmVJZCcpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbG9vciA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQobnVsbCk7XHJcbiAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGVtaXRFdmVudCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZEZsb29yLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhclpvbmVJRCA9IHRoaXMuc2VsZWN0ZWRGbG9vci5pZDtcclxuICAgIGF3YWl0IHdhaXRVbnRpbChcclxuICAgICAgKCkgPT4gdGhpcy56b25lc1BlclNwYWNlICE9PSBudWxsICYmIHRoaXMuem9uZXNQZXJTcGFjZSAhPT0gdW5kZWZpbmVkXHJcbiAgICApO1xyXG4gICAgdGhpcy56b25lc1BlckZsb29yID0gdGhpcy56b25lc1BlclNwYWNlLmZpbHRlcihcclxuICAgICAgKHpvbmUpID0+XHJcbiAgICAgICAgLy8gem9uZS5pZCA9PT0gdGhpcy5zZWxlY3RlZEZsb29yLmlkIHx8XHJcbiAgICAgICAgem9uZS5wYXJlbnRJRCA9PT0gdGhpcy5zZWxlY3RlZEZsb29yLmlkXHJcbiAgICApO1xyXG4gICAgdGhpcy56b25lc1BlckZsb29yLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgY29uc3QgQ29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcih1bmRlZmluZWQsIHtcclxuICAgICAgICBudW1lcmljOiB0cnVlLFxyXG4gICAgICAgIHNlbnNpdGl2aXR5OiAnYWNjZW50JyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgQ29sbGF0b3IuY29tcGFyZShhLmNvZGVfcmVmLCBiLmNvZGVfcmVmKSB8fFxyXG4gICAgICAgIENvbGxhdG9yLmNvbXBhcmUoYS5uYW1lLCBiLm5hbWUpXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uWm9uZUNsaWNrKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENoaWxkWm9uZSA9IG51bGw7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnY2hpbGRab25lSWQnKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkWm9uZSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnem9uZUlkJywgdGhpcy5zZWxlY3RlZFpvbmUuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3pvbmVJZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRab25lID09PSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgPT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQobnVsbCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSBudWxsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkRmxvb3IuaWQpO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID0gdGhpcy5zZWxlY3RlZEZsb29yLmlkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VuZEtpbmVzaXNBbmFseXRpY3NFdmVudEZvclpvbmUoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmU/LmlkLFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRab25lPy5uYW1lXHJcbiAgICAgICkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoaWxkcmVuWm9uZXMgPSB0aGlzLnpvbmVzUGVyU3BhY2UuZmlsdGVyKFxyXG4gICAgICAoem9uZSkgPT4gem9uZS5wYXJlbnRJRCA9PT0gdGhpcy5zZWxlY3RlZFpvbmUuaWRcclxuICAgICk7XHJcbiAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZFpvbmUuaWQpO1xyXG4gICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSB0aGlzLnNlbGVjdGVkWm9uZS5pZDtcclxuICAgIHRoaXMuc2VuZEtpbmVzaXNBbmFseXRpY3NFdmVudEZvclpvbmUoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab25lPy5pZCxcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvbmU/Lm5hbWVcclxuICAgICkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gIH1cclxuXHJcbiAgb25DaGlsZFpvbmVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpbGRab25lKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjaGlsZFpvbmVJZCcsIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmU/LmlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdjaGlsZFpvbmVJZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2VuZEtpbmVzaXNBbmFseXRpY3NFdmVudEZvclpvbmUoXHJcbiAgICB6b25lSWQ6IHN0cmluZyxcclxuICAgIHpvbmVOYW1lOiBzdHJpbmdcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghIXRoaXMuYXdzS2luZXNpc0FuYWx5dGljcyAmJiAhIXRoaXMuYXdzS2luZXNpc0FuYWx5dGljcy5yZWNvcmQgJiYgdGhpcy5hd3NLaW5lc2lzQW5hbHl0aWNzLnJlY29yZCgpKSB7XHJcbiAgICAgIHRoaXMuYXdzS2luZXNpc0FuYWx5dGljcy5nZXRJbnN0YW5jZSgpLnJlY29yZChcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBldmVudFR5cGU6ICdab25lIENoYW5nZScsXHJcbiAgICAgICAgICAgIHpvbmVJZDogem9uZUlkLFxyXG4gICAgICAgICAgICB6b25lTmFtZTogem9uZU5hbWUsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbj8uaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uTmFtZTogdGhpcy5zZWxlY3RlZExvY2F0aW9uPy5uYW1lLFxyXG4gICAgICAgICAgICB1c2VyOiB0aGlzLnVzZXJTZXJ2aWNlPy5jdSxcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxyXG4gICAgICAgICAgICBmbG9vcklkOiB0aGlzLnNlbGVjdGVkRmxvb3I/LmlkLFxyXG4gICAgICAgICAgICBjaGlsZFpvbmVJZDogdGhpcy5zZWxlY3RlZENoaWxkWm9uZT8uaWQsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgc3RyZWFtTmFtZTogJ3NtYXJ0ZXJwbGFuS2luZXNpcy1hbmFseXRpY3MnLFxyXG4gICAgICAgICAgLy8gcGFydGl0aW9uS2V5OiBcIlwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ0FXU0tpbmVzaXMnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBvblZpc2l0Q2xpY2soZXZlbnQpIHtcclxuICAgIHRoaXMuY2xlYXJEYXRhKGZhbHNlKTtcclxuICAgIGNvbnN0IGluZGV4ID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3QgdmlzaXQgPSB0aGlzLnZpc2l0c1BlclNwYWNlW2luZGV4XTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbDNkID0gdmlzaXQubW9kZWwzZDtcclxuICAgIGNvbnN0IHBhcmVudFpvbmVGb3JWaXNpdCA9IGF3YWl0IHRoaXMudmlzaXRTZXJ2aWNlLmdldERlZmF1bHRab25lRm9yVmlzaXQoXHJcbiAgICAgIHZpc2l0XHJcbiAgICApO1xyXG4gICAgdGhpcy5mbG9vcnNQZXJTcGFjZSA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXHJcbiAgICAgICh6b25lKSA9PlxyXG4gICAgICAgIHpvbmUubGF5ZXIgJiZcclxuICAgICAgICB6b25lLmxheWVyLm5hbWUuaW5jbHVkZXMoJ0ZMT09SJykgJiZcclxuICAgICAgICB6b25lLnBhcmVudElEID09PSBwYXJlbnRab25lRm9yVmlzaXQuaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnb1RvKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRab25lICYmICF0aGlzLnNlbGVjdGVkWm9uZS52aXJ0dWFsKSB7XHJcbiAgICAgIHRoaXMuc3dlZXBUb0dvID0gdGhpcy5zZWxlY3RlZFpvbmUuc3RhcnRTd2VlcElEXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkWm9uZS5zdGFydFN3ZWVwSURcclxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWRab25lLnN3ZWVwSURzWzBdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbG9vciAmJiAhdGhpcy5zZWxlY3RlZFpvbmUpIHtcclxuICAgICAgdGhpcy5mbG9vclRvR28gPSB0aGlzLnNlbGVjdGVkRmxvb3I7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1dpdGhpblNhbWVWaXNpdCgpKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1N3ZWVwT3JGbG9vcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3dlZXBUb0dvKSB7XHJcbiAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnNldFN3ZWVwVG9Nb3ZlKHRoaXMuc3dlZXBUb0dvKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5mbG9vclRvR28gJiYgdGhpcy5mbG9vcnNQZXJTcGFjZS5sZW5ndGggIT09IDEpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuZmxvb3JUb0dvID0gdGhpcy5mbG9vclRvR287XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yb3V0ZXJcclxuICAgICAgICAubmF2aWdhdGUoWyd2aXNpdCcsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZF0sIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1vZGVsM0Q6IHRoaXMuc2VsZWN0ZWRNb2RlbDNkIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNXaXRoaW5TYW1lVmlzaXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2NhdGlvbklEID09PSB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPT09IHRoaXMuY3VycmVudE1vZGVsM2RcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnb1RvU3dlZXBPckZsb29yKCkge1xyXG4gICAgaWYgKHRoaXMuc3dlZXBUb0dvKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5nb1RvU3dlZXBXaXRoUm90YXRpb24odGhpcy5zd2VlcFRvR28pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmxvb3JUb0dvKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5nb1RvRmxvb3IodGhpcy5mbG9vclRvR28pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaGFzSGlzdG9yeSgpOiBib29sZWFuIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMubmF2aWdhdG9yU2VydmljZS5tb2RlbEhhc0hpc3RvcnkodGhpcy5zZWxlY3RlZE1vZGVsM2QpO1xyXG4gIC8vIH1cclxuXHJcbiAgY2FuR28oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB2aWV3ZXJJc1JlYWR5ID1cclxuICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLmlzTG9hZGVkICYmIHRoaXMudmlld2VyU2VydmljZS5zaG93aW5nVmlld2VyO1xyXG4gICAgY29uc3Qgbm9WaWV3ZXIgPSAhdGhpcy52aWV3ZXJTZXJ2aWNlLnNob3dpbmdWaWV3ZXI7XHJcbiAgICByZXR1cm4gdmlld2VySXNSZWFkeSB8fCBub1ZpZXdlcjtcclxuICB9XHJcblxyXG4gIHNob3dMb2NhdGlvbigpOiBzdHJpbmcge1xyXG4gICAgaWYgKFxyXG4gICAgICB3aW5kb3cuaW5uZXJXaWR0aCA8IDc1MCAmJlxyXG4gICAgICB0aGlzLm5hdmJhclNlbGVjdE1lbnUgJiZcclxuICAgICAgdGhpcy5uYXZiYXJTZWxlY3RNZW51Lm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLnNlYXJjaCgnc2hvdycpID09PSAtMSAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExvY2F0aW9uLm5hbWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBuYXZiYXItZGFyayBuYXZiYXItaW52ZXJzZSBzZWNvbmQtbmF2XCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBjb2wtMTJcIj5cbiAgICAgICAgPGRpdiAjbmF2YmFyU2VsZWN0TWVudSBjbGFzcz1cImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZVwiIGlkPVwibmF2LWl0ZW0tY29udGFpbmVyLWJsdWVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmbGV4LWZpbGwgbG9jYXRpb24gc2VsZWN0LW1lbnVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTG9jYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkxvY2F0aW9uQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD57eyAnTG9jYXRpb24nIHwgdHJhbnNsYXRlIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGxvYyBvZiBsb2NhdGlvbnM7IGluZGV4IGFzIGluZGV4XCIgW25nVmFsdWVdPVwibG9jXCI+IHt7IGxvYy5uYW1lIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmbGV4LWZpbGwgc2VsZWN0LW1lbnVcIiAoY2hhbmdlKT1cIm9uVmlzaXRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ2aXNpdHNQZXJTcGFjZSAmJiB2aXNpdHNQZXJTcGFjZS5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJkZWZhdWx0XCIgc2VsZWN0ZWQgZGlzYWJsZWQgaGlkZGVuPnt7J1Zpc2l0JyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHZpc2l0IG9mIHZpc2l0c1BlclNwYWNlOyBpbmRleCBhcyBpbmRleFwiIHZhbHVlPVwie3tpbmRleH19XCI+e3sgdmlzaXQubmFtZX19XG4gICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIGZsb29yIHNlbGVjdC1tZW51XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZsb29yXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25GbG9vckNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQ+e3snRmxvb3InIHwgdHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZmxvb3Igb2YgZmxvb3JzUGVyU3BhY2VcIiBbbmdWYWx1ZV09XCJmbG9vclwiPnt7IGZsb29yLm5hbWV9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIHNlbGVjdC1tZW51IHpvbmVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkWm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uWm9uZUNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQ+e3snWm9uZScgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB6b25lIG9mIHpvbmVzUGVyRmxvb3JcIiBbbmdWYWx1ZV09XCJ6b25lXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInpvbmUuY29kZV9yZWZcIj57e3pvbmUuY29kZV9yZWZ9fV88L3NwYW4+e3t6b25lLm5hbWV9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIHNlbGVjdC1tZW51XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENoaWxkWm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRyZW5ab25lcyAmJiBjaGlsZHJlblpvbmVzLmxlbmd0aD4wXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGlsZFpvbmVDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIHNlbGVjdGVkIGRpc2FibGVkPnt7J1pvbmUnIHwgdHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgem9uZSBvZiBjaGlsZHJlblpvbmVzXCIgW25nVmFsdWVdPVwiem9uZVwiPnt7IHpvbmUubmFtZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPCEtLSA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGkxOG4+e3snRmF2b3JpdGVzJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3V0ZXJfY2lyY2xlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9J2J0bi1pY29uJyBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkTG9jYXRpb24gfHwgIXNlbGVjdGVkTW9kZWwzZCB8fCAhY2FuR28oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29UbygpXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29UbygpXCIgY2xhc3M9XCJidG4gcm91bmRlZC1waWxsIGJ0bi0zZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRMb2NhdGlvbiB8fCAhc2VsZWN0ZWRNb2RlbDNkIHx8ICFjYW5HbygpXCI+e3snM0QgdmlzaXQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8aDQgc3R5bGU9XCJsaW5lLWhlaWdodDogMjlweDttYXJnaW46IDA7XCIgKm5nSWY9XCJzaG93TG9jYXRpb24oKVwiPlxuICAgICAgICAgICAge3sgc2hvd0xvY2F0aW9uKCkgfX1cbiAgICAgICAgPC9oND5cbiAgICA8L2Rpdj5cbjwvbmF2PiJdfQ==
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtYmFyL25hdmlnYXRpb24tYmFyL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWJhci9uYXZpZ2F0aW9uLWJhci9uYXZpZ2F0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWVyRCxNQUFNLE9BQU8sc0JBQXNCO0lBdUNqQyxZQUVFLDJCQUFnQyxFQUN4QixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsV0FBNEIsRUFDNUIsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLGlCQUFvQztRQVBwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXRDOUMscUJBQWdCLEdBQVUs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VUFBVSxHQUFHLEdBQUc7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxnQkFBZ0IsRUFDckI7WUFDQSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7U0FDbkM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O21IQWhjVSxzQkFBc0Isa0JBd0N2QixtQ0FBbUM7dUdBeENsQyxzQkFBc0IsZ0xDbEJuQyw2MUdBaURNOzJGRC9CTyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkE0QzNCLE1BQU07MkJBQUMsbUNBQW1DOzBRQXJDZCxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB3YWl0VW50aWwgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTcGFjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvc3BhY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFZpc2l0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZGVscy92aXNpdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWm9uZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RlbHMvem9uZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ZpZXdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3BhY2UsIFZpc2l0LCBab25lIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7Wm9uZUNoYW5nZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy96b25lQ2hhbmdlLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW5hdmlnYXRpb24tYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBhd3NLaW5lc2lzQW5hbHl0aWNzOiBhbnk7IC8vQVdTXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ25hdmJhclNlbGVjdE1lbnUnKSBuYXZiYXJTZWxlY3RNZW51ITogYW55O1xyXG5cclxuICBsb2NhdGlvbnM6IFNwYWNlW107XHJcblxyXG4gIGN1cnJlbnRMb2NhdGlvbklEOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRNb2RlbDNkOiBzdHJpbmc7XHJcblxyXG4gIHNlbGVjdGVkTG9jYXRpb246IFNwYWNlID0gbnVsbDtcclxuXHJcbiAgc2VsZWN0ZWRNb2RlbDNkOiBzdHJpbmc7XHJcblxyXG4gIHNlbGVjdGVkRmxvb3I6IFpvbmUgPSBudWxsO1xyXG5cclxuICBzZWxlY3RlZFpvbmU6IFpvbmUgPSBudWxsO1xyXG5cclxuICBzZWxlY3RlZENoaWxkWm9uZTogWm9uZSA9IG51bGw7XHJcblxyXG4gIHZpc2l0c1BlclNwYWNlOiBWaXNpdFtdID0gbnVsbDtcclxuXHJcbiAgZmxvb3JzUGVyU3BhY2U6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIHpvbmVzUGVyU3BhY2U6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIHpvbmVzUGVyRmxvb3I6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIGNoaWxkcmVuWm9uZXM6IFpvbmVbXSA9IG51bGw7XHJcblxyXG4gIHN3ZWVwVG9Hbzogc3RyaW5nO1xyXG5cclxuICBmbG9vclRvR286IFpvbmU7XHJcblxyXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmF2RXZlbnRzOiBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2N1cnJlbnRBd3NLaW5lc2lzQW5hbHl0aWNzU2VydmljZScpXHJcbiAgICBhd3NLaW5lc2lzQW5hbHl0aWNzSW5qZWN0ZWQ6IGFueSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNwYWNlU2VydmljZTogU3BhY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogQmFzZVVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6b25lU2VydmljZTogWm9uZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpc2l0U2VydmljZTogVmlzaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3ZXJTZXJ2aWNlOiBWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXZpZ2F0b3JTZXJ2aWNlOiBOYXZpZ2F0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6b25lQ2hhbmdlU2VydmljZTogWm9uZUNoYW5nZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYXdzS2luZXNpc0FuYWx5dGljcyA9IGF3c0tpbmVzaXNBbmFseXRpY3NJbmplY3RlZDtcclxuICAgIHRoaXMuc3BhY2VTZXJ2aWNlLmxvY2F0aW9uVXBkYXRlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvY3MpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2F0aW9ucyA9IGxvY3M7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKFxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRcclxuICAgICAgICAgICk7IC8vIFVwZGF0ZSBPYmplY3QgKG9iamVjdCBhZGRyZXNzIHdpbGwgY2hhbmdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnZpZXdlcklzT25cclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChkYXRhOiB7IHNwYWNlSUQ6IHN0cmluZzsgbW9kZWwzRDogc3RyaW5nOyBzd2VlcDogc3RyaW5nIHwgbnVsbCB9KSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnbWVudSBuYXZpZ2F0aW9uIHJlY2VpdmVkIHVwZGF0ZScsIGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9jYXRpb25JRCA9IGRhdGEuc3BhY2VJRDtcclxuICAgICAgICAgIHRoaXMuY3VycmVudE1vZGVsM2QgPSBkYXRhLm1vZGVsM0Q7XHJcbiAgICAgICAgICBpZiAoIWRhdGEuc3BhY2VJRCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSBudWxsO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbG9jYXRpb25JZCcpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRVcGRhdGVMb2NhdGlvbkV2ZW50KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCF0aGlzLnNlbGVjdGVkTG9jYXRpb24gfHxcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQgIT09IGRhdGEuc3BhY2VJRCkgJiZcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbnNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24gPSB0aGlzLmZpbmRMb2NhdGlvbkJ5SUQoZGF0YS5zcGFjZUlEKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdlIGxpc3RlbiBmb3IgTG9jYXRpb24gY2hhbmdlIGV2ZW50XHJcbiAgICAgKi9cclxuICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5sb2NhdGlvbklEQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xlYXJEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TG9jYXRpb25JRCA9IGlkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHRoaXMuZmluZExvY2F0aW9uQnlJRChpZCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJMb2NhdGlvbklEID0gaWQ7XHJcbiAgICAgICAgdGhpcy5vblNlbGVjdGVkTG9jYXRpb25DaGFuZ2VkKCkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnpvbmVDaGFuZ2VTZXJ2aWNlLnpvbmVzRm9yVXNlckNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHpvbmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHpvbmVzKSB7XHJcbiAgICAgICAgICBhd2FpdCB3YWl0VW50aWwoKCkgPT4gdGhpcy5mbG9vcnNQZXJTcGFjZSAhPT0gbnVsbCk7XHJcbiAgICAgICAgICBjb25zdCBmbG9vclpvbmUgPSB6b25lcy5maW5kKFxyXG4gICAgICAgICAgICAoem9uZSkgPT4gem9uZS5sYXllciAmJiB6b25lLmxheWVyLm5hbWUgPT09ICdGTE9PUidcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoZmxvb3Jab25lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbG9vciA9IHRoaXMuZmxvb3JzUGVyU3BhY2UuZmluZChcclxuICAgICAgICAgICAgICAoZikgPT4gZi5pZCA9PT0gZmxvb3Jab25lLmlkXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIC8vIEVtaXQgZXZlbnQgdG8gZGlzcGF0Y2ggdmFsdWUgb2YgIHRoaXMuc2VsZWN0ZWRGbG9vciBpbiBhbGwgcG9pL3RpY2tldC9lcXVpcG1lbnQvbWVhc3VyZSBzZXJ2aWNlc1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVDaGFuZ2VTZXJ2aWNlLmZsb29ySGFzQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRGbG9vcik7XHJcbiAgICAgICAgICAgIHRoaXMub25GbG9vckNsaWNrKGZhbHNlKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgYXdhaXQgdGhpcy5pbml0TG9jYXRpb25zKCk7XHJcbiAgICB0aGlzLmhhbmRsZVN0YXJ0VXJsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8vIENhcHR1cmUgdGhlIFwiaWRcIiBpbiBsb2NhbGlzYXRpb24vOmlkIHJvdXRlc1xyXG4gIGhhbmRsZVN0YXJ0VXJsKCkge1xyXG4gICAgaWYgKHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnbG9jYWxpc2F0aW9uLycpKSB7XHJcbiAgICAgIGNvbnN0IHBhdGhzID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJyk7IC8vIC9kYXNoYm9hcmQvbG9jYWxpc2F0aW9uL2ZjMGFhZGI3LTNjODktNDM0OS1hZDFmLWJmZTliNDQ5MTZjMFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcclxuICAgICAgY29uc3QgbG9jSUQgPSBwYXRoc1szXTtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudExvY2F0aW9uSUQgIT09IGxvY0lEKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhckRhdGEoKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2NhdGlvbklEID0gbG9jSUQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKGxvY0lEKTtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhckxvY2F0aW9uSUQgPSBsb2NJRDtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0ZWRMb2NhdGlvbkNoYW5nZWQoKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRMb2NhdGlvbnMoKSB7XHJcbiAgICB0aGlzLmxvY2F0aW9ucyA9IHRoaXMuc3BhY2VTZXJ2aWNlLmxvY2F0aW9uc0ZvclVzZXI7XHJcbiAgICBpZiAodGhpcy5sb2NhdGlvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25zID0gYXdhaXQgdGhpcy5zcGFjZVNlcnZpY2UuZ2V0TG9jYXRpb25zRm9yQ3VycmVudFVzZXIoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2NhdGlvbklEICYmIHRoaXMubG9jYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uID0gdGhpcy5maW5kTG9jYXRpb25CeUlEKHRoaXMuY3VycmVudExvY2F0aW9uSUQpO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExvY2F0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kIGEgbG9jYXRpb24gd2l0aCBhIGdpdmVuIElEXHJcbiAgICogQHBhcmFtIGlkIElEIGZvciB0aGUgbG9jYXRpb25cclxuICAgKiBAcmV0dXJucyBUaGUgbG9jYXRpb24gb3IgbnVsbCBpZiBubyBsb2NhdGlvbiB3ZXJlIGZvdW5kXHJcbiAgICovXHJcbiAgZmluZExvY2F0aW9uQnlJRChpZDogc3RyaW5nKTogU3BhY2Uge1xyXG4gICAgY29uc3Qgc3BhY2UgPSB0aGlzLmxvY2F0aW9ucy5maW5kKChsb2MpID0+IGxvYy5pZCA9PT0gaWQpO1xyXG4gICAgcmV0dXJuIHNwYWNlIHx8IG51bGw7IC8qKiBDb252ZXJ0IHRvIG51bGwgaWYgdW5kZWZpbmVkICovXHJcbiAgfVxyXG5cclxuICBjbGVhckRhdGEoY2xlYXJWaXNpdHM6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRGbG9vciA9IG51bGw7XHJcbiAgICB0aGlzLnpvbmVzUGVyRmxvb3IgPSBudWxsO1xyXG4gICAgdGhpcy5jaGlsZHJlblpvbmVzID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbDNkID0gbnVsbDtcclxuICAgIHRoaXMuc3dlZXBUb0dvID0gbnVsbDtcclxuICAgIHRoaXMuZmxvb3JUb0dvID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRab25lID0gbnVsbDtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmUgPSBudWxsO1xyXG4gICAgaWYgKGNsZWFyVmlzaXRzKSB7XHJcbiAgICAgIHRoaXMudmlzaXRzUGVyU3BhY2UgPSBudWxsO1xyXG4gICAgICB0aGlzLnpvbmVzUGVyU3BhY2UgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2xvY2F0aW9uSWQnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdmbG9vcklkJyk7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnem9uZUlkJyk7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnY2hpbGRab25lSWQnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdGhlIHNlbGVjdGVkTG9jYXRpb24gY2hhbmdlc1xyXG4gICAqIFNlbmQgYSBldmVudCB0byBsb2NhdGlvbklEQ2hhbmdlIGZyb20gTmF2aWdhdG9yU2VydmljZVxyXG4gICAqIFRoZSBldmVudCB3aWxsIGJlIGNhdGNoIGJ5IHRoaXMgY29tcG9uZW50IGFuZCB0aGUgZmlsdGVyIGJhciB3aWxsIGJlIHVwZGF0ZVxyXG4gICAqL1xyXG4gIHNlbmRVcGRhdGVMb2NhdGlvbkV2ZW50KCkge1xyXG4gICAgY29uc3QgbG9jYXRpb25JRCA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA/IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCA6IG51bGw7XHJcbiAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubG9jYXRpb25JRENoYW5nZS5uZXh0KGxvY2F0aW9uSUQpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbikge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbG9jYXRpb25JZCcsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbG9jYXRpb25JZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25TZWxlY3RlZExvY2F0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZExvY2F0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMudmlzaXRzUGVyU3BhY2UgPSBhd2FpdCB0aGlzLnZpc2l0U2VydmljZS5nZXRWaXNpdHNGb3JTcGFjZUZvclVzZXIoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9uLmlkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuem9uZXNQZXJTcGFjZSA9IGF3YWl0IHRoaXMuem9uZVNlcnZpY2UuZ2V0Wm9uZXNCeVNwYWNlRm9yVXNlcihcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMudmlzaXRzUGVyU3BhY2UubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPSB0aGlzLnZpc2l0c1BlclNwYWNlWzBdLm1vZGVsM2Q7XHJcbiAgICAgICAgdGhpcy5mbG9vcnNQZXJTcGFjZSA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXHJcbiAgICAgICAgICAoem9uZSkgPT4gem9uZS5sYXllciAmJiB6b25lLmxheWVyLm5hbWUuaW5jbHVkZXMoJ0ZMT09SJylcclxuICAgICAgICApO1xyXG4gICAgICAgIC8vIHNvcnQgZnJvbSBoaWdoZXN0IGZsb29yIHRvIGxvd2VzdFxyXG4gICAgICAgIHRoaXMuZmxvb3JzUGVyU3BhY2Uuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgaWYgKGEubWV0YWRhdGEgJiYgYi5tZXRhZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBtZXRhZGF0YUEgPSBKU09OLnBhcnNlKGEubWV0YWRhdGEpO1xyXG4gICAgICAgICAgICBjb25zdCBtZXRhZGF0YUIgPSBKU09OLnBhcnNlKGIubWV0YWRhdGEpO1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIG1ldGFkYXRhQi5tYXR0ZXJwb3J0Rmxvb3JTZXF1ZW5jZSAtXHJcbiAgICAgICAgICAgICAgbWV0YWRhdGFBLm1hdHRlcnBvcnRGbG9vclNlcXVlbmNlXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBtdWx0aUZsb29yWm9uZXMgPSB0aGlzLnpvbmVzUGVyU3BhY2UuZmlsdGVyKFxyXG4gICAgICAgICAgKHpvbmUpID0+IHpvbmUuaXNNdWx0aXBsZUZsb29yWm9uZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gc29ydCBhbHBoYWJldGljYWxseVxyXG4gICAgICAgIG11bHRpRmxvb3Jab25lcy5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcclxuICAgICAgICAvLyBtZXJnZSBtdWx0aUZsb29yIGFuZCBGbG9vcnNcclxuICAgICAgICB0aGlzLmZsb29yc1BlclNwYWNlID0gWy4uLnRoaXMuZmxvb3JzUGVyU3BhY2UsIC4uLm11bHRpRmxvb3Jab25lc107XHJcbiAgICAgICAgaWYgKHRoaXMuZmxvb3JzUGVyU3BhY2UubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICBbdGhpcy5zZWxlY3RlZEZsb29yXSA9IHRoaXMuZmxvb3JzUGVyU3BhY2U7XHJcbiAgICAgICAgICB0aGlzLm9uRmxvb3JDbGljayhmYWxzZSkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5sb2coJ2Vycm9yIG9uQ2hvc2VuTG9jYXRpb24nLCBlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxvY2F0aW9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNsZWFyRGF0YSgpO1xyXG4gICAgdGhpcy5zZW5kVXBkYXRlTG9jYXRpb25FdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25GbG9vckNsaWNrKGVtaXRFdmVudCA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Zsb29ySWQnLCB0aGlzLnNlbGVjdGVkRmxvb3IuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zsb29ySWQnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgJiYgdGhpcy5zZWxlY3RlZEZsb29yLmlzTXVsdGlwbGVGbG9vclpvbmUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvbmUgPSB0aGlzLnNlbGVjdGVkRmxvb3I7XHJcbiAgICAgIHRoaXMub25ab25lQ2xpY2soKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25ab25lQ2xpY2soKS5jYXRjaCgoZSkgPT4gY29uc29sZS5sb2coZS5tZXNzYWdlKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN3ZWVwVG9HbyA9IG51bGw7XHJcbiAgICB0aGlzLnNlbGVjdGVkWm9uZSA9IG51bGw7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2hpbGRab25lID0gbnVsbDtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd6b25lSWQnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdjaGlsZFpvbmVJZCcpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbG9vciA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQobnVsbCk7XHJcbiAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGVtaXRFdmVudCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZEZsb29yLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudE5hdkJhclpvbmVJRCA9IHRoaXMuc2VsZWN0ZWRGbG9vci5pZDtcclxuICAgIGF3YWl0IHdhaXRVbnRpbChcclxuICAgICAgKCkgPT4gdGhpcy56b25lc1BlclNwYWNlICE9PSBudWxsICYmIHRoaXMuem9uZXNQZXJTcGFjZSAhPT0gdW5kZWZpbmVkXHJcbiAgICApO1xyXG4gICAgdGhpcy56b25lc1BlckZsb29yID0gdGhpcy56b25lc1BlclNwYWNlLmZpbHRlcihcclxuICAgICAgKHpvbmUpID0+XHJcbiAgICAgICAgLy8gem9uZS5pZCA9PT0gdGhpcy5zZWxlY3RlZEZsb29yLmlkIHx8XHJcbiAgICAgICAgem9uZS5wYXJlbnRJRCA9PT0gdGhpcy5zZWxlY3RlZEZsb29yLmlkXHJcbiAgICApO1xyXG4gICAgdGhpcy56b25lc1BlckZsb29yLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgY29uc3QgQ29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcih1bmRlZmluZWQsIHtcclxuICAgICAgICBudW1lcmljOiB0cnVlLFxyXG4gICAgICAgIHNlbnNpdGl2aXR5OiAnYWNjZW50JyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgQ29sbGF0b3IuY29tcGFyZShhLmNvZGVfcmVmLCBiLmNvZGVfcmVmKSB8fFxyXG4gICAgICAgIENvbGxhdG9yLmNvbXBhcmUoYS5uYW1lLCBiLm5hbWUpXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uWm9uZUNsaWNrKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENoaWxkWm9uZSA9IG51bGw7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnY2hpbGRab25lSWQnKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkWm9uZSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnem9uZUlkJywgdGhpcy5zZWxlY3RlZFpvbmUuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3pvbmVJZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRab25lID09PSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmxvb3IgPT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQobnVsbCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSBudWxsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5uYXZCYXJab25lSURDaGFuZ2UubmV4dCh0aGlzLnNlbGVjdGVkRmxvb3IuaWQpO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyWm9uZUlEID0gdGhpcy5zZWxlY3RlZEZsb29yLmlkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VuZEtpbmVzaXNBbmFseXRpY3NFdmVudEZvclpvbmUoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFpvbmU/LmlkLFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRab25lPy5uYW1lXHJcbiAgICAgICkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoaWxkcmVuWm9uZXMgPSB0aGlzLnpvbmVzUGVyU3BhY2UuZmlsdGVyKFxyXG4gICAgICAoem9uZSkgPT4gem9uZS5wYXJlbnRJRCA9PT0gdGhpcy5zZWxlY3RlZFpvbmUuaWRcclxuICAgICk7XHJcbiAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubmF2QmFyWm9uZUlEQ2hhbmdlLm5leHQodGhpcy5zZWxlY3RlZFpvbmUuaWQpO1xyXG4gICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJab25lSUQgPSB0aGlzLnNlbGVjdGVkWm9uZS5pZDtcclxuICAgIHRoaXMuc2VuZEtpbmVzaXNBbmFseXRpY3NFdmVudEZvclpvbmUoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab25lPy5pZCxcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvbmU/Lm5hbWVcclxuICAgICkuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gIH1cclxuXHJcbiAgb25DaGlsZFpvbmVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2hpbGRab25lKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjaGlsZFpvbmVJZCcsIHRoaXMuc2VsZWN0ZWRDaGlsZFpvbmU/LmlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdjaGlsZFpvbmVJZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2VuZEtpbmVzaXNBbmFseXRpY3NFdmVudEZvclpvbmUoXHJcbiAgICB6b25lSWQ6IHN0cmluZyxcclxuICAgIHpvbmVOYW1lOiBzdHJpbmdcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghIXRoaXMuYXdzS2luZXNpc0FuYWx5dGljcyAmJiAhIXRoaXMuYXdzS2luZXNpc0FuYWx5dGljcy5yZWNvcmQgJiYgdGhpcy5hd3NLaW5lc2lzQW5hbHl0aWNzLnJlY29yZCgpKSB7XHJcbiAgICAgIHRoaXMuYXdzS2luZXNpc0FuYWx5dGljcy5nZXRJbnN0YW5jZSgpLnJlY29yZChcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBldmVudFR5cGU6ICdab25lIENoYW5nZScsXHJcbiAgICAgICAgICAgIHpvbmVJZDogem9uZUlkLFxyXG4gICAgICAgICAgICB6b25lTmFtZTogem9uZU5hbWUsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbj8uaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uTmFtZTogdGhpcy5zZWxlY3RlZExvY2F0aW9uPy5uYW1lLFxyXG4gICAgICAgICAgICB1c2VyOiB0aGlzLnVzZXJTZXJ2aWNlPy5jdSxcclxuICAgICAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxyXG4gICAgICAgICAgICBmbG9vcklkOiB0aGlzLnNlbGVjdGVkRmxvb3I/LmlkLFxyXG4gICAgICAgICAgICBjaGlsZFpvbmVJZDogdGhpcy5zZWxlY3RlZENoaWxkWm9uZT8uaWQsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgc3RyZWFtTmFtZTogJ3NtYXJ0ZXJwbGFuS2luZXNpcy1hbmFseXRpY3MnLFxyXG4gICAgICAgICAgLy8gcGFydGl0aW9uS2V5OiBcIlwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ0FXU0tpbmVzaXMnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBvblZpc2l0Q2xpY2soZXZlbnQpIHtcclxuICAgIHRoaXMuY2xlYXJEYXRhKGZhbHNlKTtcclxuICAgIGNvbnN0IGluZGV4ID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3QgdmlzaXQgPSB0aGlzLnZpc2l0c1BlclNwYWNlW2luZGV4XTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbDNkID0gdmlzaXQubW9kZWwzZDtcclxuICAgIGNvbnN0IHBhcmVudFpvbmVGb3JWaXNpdCA9IGF3YWl0IHRoaXMudmlzaXRTZXJ2aWNlLmdldERlZmF1bHRab25lRm9yVmlzaXQoXHJcbiAgICAgIHZpc2l0XHJcbiAgICApO1xyXG4gICAgdGhpcy5mbG9vcnNQZXJTcGFjZSA9IHRoaXMuem9uZXNQZXJTcGFjZS5maWx0ZXIoXHJcbiAgICAgICh6b25lKSA9PlxyXG4gICAgICAgIHpvbmUubGF5ZXIgJiZcclxuICAgICAgICB6b25lLmxheWVyLm5hbWUuaW5jbHVkZXMoJ0ZMT09SJykgJiZcclxuICAgICAgICB6b25lLnBhcmVudElEID09PSBwYXJlbnRab25lRm9yVmlzaXQuaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnb1RvKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRab25lICYmICF0aGlzLnNlbGVjdGVkWm9uZS52aXJ0dWFsKSB7XHJcbiAgICAgIHRoaXMuc3dlZXBUb0dvID0gdGhpcy5zZWxlY3RlZFpvbmUuc3RhcnRTd2VlcElEXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkWm9uZS5zdGFydFN3ZWVwSURcclxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWRab25lLnN3ZWVwSURzWzBdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbG9vciAmJiAhdGhpcy5zZWxlY3RlZFpvbmUpIHtcclxuICAgICAgdGhpcy5mbG9vclRvR28gPSB0aGlzLnNlbGVjdGVkRmxvb3I7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1dpdGhpblNhbWVWaXNpdCgpKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1N3ZWVwT3JGbG9vcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3dlZXBUb0dvKSB7XHJcbiAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnNldFN3ZWVwVG9Nb3ZlKHRoaXMuc3dlZXBUb0dvKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5mbG9vclRvR28gJiYgdGhpcy5mbG9vcnNQZXJTcGFjZS5sZW5ndGggIT09IDEpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuZmxvb3JUb0dvID0gdGhpcy5mbG9vclRvR287XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yb3V0ZXJcclxuICAgICAgICAubmF2aWdhdGUoWyd2aXNpdCcsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZF0sIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1vZGVsM0Q6IHRoaXMuc2VsZWN0ZWRNb2RlbDNkIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUubG9nKGUubWVzc2FnZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNXaXRoaW5TYW1lVmlzaXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2NhdGlvbklEID09PSB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsM2QgPT09IHRoaXMuY3VycmVudE1vZGVsM2RcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnb1RvU3dlZXBPckZsb29yKCkge1xyXG4gICAgaWYgKHRoaXMuc3dlZXBUb0dvKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5nb1RvU3dlZXBXaXRoUm90YXRpb24odGhpcy5zd2VlcFRvR28pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmxvb3JUb0dvKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5nb1RvRmxvb3IodGhpcy5mbG9vclRvR28pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaGFzSGlzdG9yeSgpOiBib29sZWFuIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMubmF2aWdhdG9yU2VydmljZS5tb2RlbEhhc0hpc3RvcnkodGhpcy5zZWxlY3RlZE1vZGVsM2QpO1xyXG4gIC8vIH1cclxuXHJcbiAgY2FuR28oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB2aWV3ZXJJc1JlYWR5ID1cclxuICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLmlzTG9hZGVkICYmIHRoaXMudmlld2VyU2VydmljZS5zaG93aW5nVmlld2VyO1xyXG4gICAgY29uc3Qgbm9WaWV3ZXIgPSAhdGhpcy52aWV3ZXJTZXJ2aWNlLnNob3dpbmdWaWV3ZXI7XHJcbiAgICByZXR1cm4gdmlld2VySXNSZWFkeSB8fCBub1ZpZXdlcjtcclxuICB9XHJcblxyXG4gIHNob3dMb2NhdGlvbigpOiBzdHJpbmcge1xyXG4gICAgaWYgKFxyXG4gICAgICB3aW5kb3cuaW5uZXJXaWR0aCA8IDc1MCAmJlxyXG4gICAgICB0aGlzLm5hdmJhclNlbGVjdE1lbnUgJiZcclxuICAgICAgdGhpcy5uYXZiYXJTZWxlY3RNZW51Lm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLnNlYXJjaCgnc2hvdycpID09PSAtMSAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExvY2F0aW9uLm5hbWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBuYXZiYXItZGFyayBuYXZiYXItaW52ZXJzZSBzZWNvbmQtbmF2XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgI25hdmJhclNlbGVjdE1lbnUgY2xhc3M9XCJjb2xsYXBzZSBuYXZiYXItY29sbGFwc2VcIiBpZD1cIm5hdi1pdGVtLWNvbnRhaW5lci1ibHVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1tZC1yb3cgXCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBsb2NhdGlvbiBzZWxlY3QtbWVudVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Mb2NhdGlvbkNsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD57eyAnTG9jYXRpb24nIHwgdHJhbnNsYXRlIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgbG9jIG9mIGxvY2F0aW9uczsgaW5kZXggYXMgaW5kZXhcIiBbbmdWYWx1ZV09XCJsb2NcIj4ge3sgbG9jLm5hbWUgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmbGV4LWZpbGwgc2VsZWN0LW1lbnVcIiAoY2hhbmdlKT1cIm9uVmlzaXRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInZpc2l0c1BlclNwYWNlICYmIHZpc2l0c1BlclNwYWNlLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZGVmYXVsdFwiIHNlbGVjdGVkIGRpc2FibGVkIGhpZGRlbj57eydWaXNpdCcgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHZpc2l0IG9mIHZpc2l0c1BlclNwYWNlOyBpbmRleCBhcyBpbmRleFwiIHZhbHVlPVwie3tpbmRleH19XCI+e3sgdmlzaXQubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsIGZsb29yIHNlbGVjdC1tZW51XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZsb29yXCJcclxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZsb29yQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIHNlbGVjdGVkPnt7J0Zsb29yJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZmxvb3Igb2YgZmxvb3JzUGVyU3BhY2VcIiBbbmdWYWx1ZV09XCJmbG9vclwiPnt7IGZsb29yLm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBzZWxlY3QtbWVudSB6b25lXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFpvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uWm9uZUNsaWNrKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD57eydab25lJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgem9uZSBvZiB6b25lc1BlckZsb29yXCIgW25nVmFsdWVdPVwiem9uZVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInpvbmUuY29kZV9yZWZcIj57e3pvbmUuY29kZV9yZWZ9fV88L3NwYW4+e3t6b25lLm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZmlsbCBzZWxlY3QtbWVudVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRDaGlsZFpvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRyZW5ab25lcyAmJiBjaGlsZHJlblpvbmVzLmxlbmd0aD4wXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGlsZFpvbmVDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgc2VsZWN0ZWQgZGlzYWJsZWQ+e3snWm9uZScgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHpvbmUgb2YgY2hpbGRyZW5ab25lc1wiIFtuZ1ZhbHVlXT1cInpvbmVcIj57eyB6b25lLm5hbWV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1maWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBpMThuPnt7J0Zhdm9yaXRlcycgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDA7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3V0ZXJfY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0nYnRuLWljb24nIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRMb2NhdGlvbiB8fCAhc2VsZWN0ZWRNb2RlbDNkIHx8ICFjYW5HbygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG8oKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvKClcIiBjbGFzcz1cImJ0biByb3VuZGVkLXBpbGwgYnRuLTNkXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkTG9jYXRpb24gfHwgIXNlbGVjdGVkTW9kZWwzZCB8fCAhY2FuR28oKVwiPnt7JzNEIHZpc2l0JyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aDQgc3R5bGU9XCJsaW5lLWhlaWdodDogMjlweDttYXJnaW46IDA7XCIgKm5nSWY9XCJzaG93TG9jYXRpb24oKVwiPlxyXG4gICAgICAgICAgICB7eyBzaG93TG9jYXRpb24oKSB9fVxyXG4gICAgICAgIDwvaDQ+XHJcbiAgICA8L2Rpdj5cclxuPC9uYXY+Il19
|
|
@@ -24,10 +24,10 @@ export class ModalSwitchVisitComponent {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
ModalSwitchVisitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalSwitchVisitComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.Router }, { token: i3.ViewerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
ModalSwitchVisitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalSwitchVisitComponent, selector: "lib-modal-switch-visit", inputs: { content: "content", model3D: "model3D", spaceID: "spaceID", dataToMove: "dataToMove" }, ngImport: i0, template: "<div class=\"modal-container\">\n <p>{{content}}</p>\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"switchVisit()\">{{'Yes, switch visit' | translate }}</button>\n <button class=\"btn btn-outline-primary rounded-pill\"(click)=\"activeModal.close()\">{{'No, stay here' | translate }}</button>\n</div>\n", styles: [".modal-container{margin:10px}button{margin-right:8px}\n"], pipes: { "translate": i4.TranslatePipe } });
|
|
27
|
+
ModalSwitchVisitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalSwitchVisitComponent, selector: "lib-modal-switch-visit", inputs: { content: "content", model3D: "model3D", spaceID: "spaceID", dataToMove: "dataToMove" }, ngImport: i0, template: "<div class=\"modal-container\">\r\n <p>{{content}}</p>\r\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"switchVisit()\">{{'Yes, switch visit' | translate }}</button>\r\n <button class=\"btn btn-outline-primary rounded-pill\"(click)=\"activeModal.close()\">{{'No, stay here' | translate }}</button>\r\n</div>\r\n", styles: [".modal-container{margin:10px}button{margin-right:8px}\n"], pipes: { "translate": i4.TranslatePipe } });
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalSwitchVisitComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'lib-modal-switch-visit', template: "<div class=\"modal-container\">\n <p>{{content}}</p>\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"switchVisit()\">{{'Yes, switch visit' | translate }}</button>\n <button class=\"btn btn-outline-primary rounded-pill\"(click)=\"activeModal.close()\">{{'No, stay here' | translate }}</button>\n</div>\n", styles: [".modal-container{margin:10px}button{margin-right:8px}\n"] }]
|
|
30
|
+
args: [{ selector: 'lib-modal-switch-visit', template: "<div class=\"modal-container\">\r\n <p>{{content}}</p>\r\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"switchVisit()\">{{'Yes, switch visit' | translate }}</button>\r\n <button class=\"btn btn-outline-primary rounded-pill\"(click)=\"activeModal.close()\">{{'No, stay here' | translate }}</button>\r\n</div>\r\n", styles: [".modal-container{margin:10px}button{margin-right:8px}\n"] }]
|
|
31
31
|
}], ctorParameters: function () { return [{ type: i1.NgbActiveModal }, { type: i2.Router }, { type: i3.ViewerService }]; }, propDecorators: { content: [{
|
|
32
32
|
type: Input
|
|
33
33
|
}], model3D: [{
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
37
37
|
}], dataToMove: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC1zd2l0Y2gtdmlzaXQvbW9kYWwtc3dpdGNoLXZpc2l0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVekQsTUFBTSxPQUFPLHlCQUF5QjtJQUtsQyxZQUFtQixXQUEyQixFQUFVLE1BQWMsRUFBVSxhQUE0QjtRQUF6RixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFeEcsQ0FBQztJQUVMLFFBQVEsS0FBVyxDQUFDO0lBRXBCLFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsRTtRQUNELHFGQUFxRjtRQUNyRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7U0FDekMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBckJRLHlCQUF5QjswR0FBekIseUJBQXlCLGdLQ1Z0QyxzVkFLQTsyRkRLYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksd0JBQXdCO3NKQUt6QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBWaWV3ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1tb2RhbC1zd2l0Y2gtdmlzaXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLXN3aXRjaC12aXNpdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9tb2RhbC1zd2l0Y2gtdmlzaXQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxTd2l0Y2hWaXNpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBjb250ZW50OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBtb2RlbDNEOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzcGFjZUlEOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBkYXRhVG9Nb3ZlOiB7IHN3ZWVwVG9Nb3ZlOiBzdHJpbmcsIHJvdGF0aW9uOiBhbnk7IH07XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHZpZXdlclNlcnZpY2U6IFZpZXdlclNlcnZpY2UsXHJcbiAgICAgICAgLy8gcHJpdmF0ZSBvYmplY3RTdWJTZXJ2aWNlOiBPYmplY3RTdWJzY3JpcHRpb25TZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblxyXG4gICAgc3dpdGNoVmlzaXQoKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGFUb01vdmUpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnNldFN3ZWVwVG9Nb3ZlKHRoaXMuZGF0YVRvTW92ZS5zd2VlcFRvTW92ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld2VyU2VydmljZS5zZXRSb3RhdGlvblRvTW92ZSh0aGlzLmRhdGFUb01vdmUucm90YXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGlzLm9iamVjdFN1YlNlcnZpY2UuZm9yY2VSZW1vdmUgPSB0cnVlOyAvLyB3ZSByZXNldCB0aGUgdGFncyB3aGVuIGNoYW5naW5nIHZpc2l0XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1widmlzaXRcIiwgdGhpcy5zcGFjZUlEXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogeyBtb2RlbDNEOiB0aGlzLm1vZGVsM0QgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRhaW5lclwiPlxyXG4gICAgPHA+e3tjb250ZW50fX08L3A+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgcm91bmRlZC1waWxsXCIgKGNsaWNrKT1cInN3aXRjaFZpc2l0KClcIj57eydZZXMsIHN3aXRjaCB2aXNpdCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSByb3VuZGVkLXBpbGxcIihjbGljayk9XCJhY3RpdmVNb2RhbC5jbG9zZSgpXCI+e3snTm8sIHN0YXkgaGVyZScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -49,10 +49,10 @@ export class SearchBarComponent {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
SearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SearchBarComponent, deps: [{ token: i1.SearchService }], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SearchBarComponent, selector: "lib-search-bar", inputs: { searchable: "searchable", objectType: "objectType" }, outputs: { searchEvent: "searchEvent" }, ngImport: i0, template: "<div class=\"col-md-8 searchbar\">\n <div class=\"row depend\">\n <div class=\"col-md-5\">\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\n </div>\n <div class=\"col-md-5\">\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\n translate}}</button>\n </div>\n </div>\n</div>", styles: [".searchbar{margin-bottom:10px}\n"], pipes: { "translate": i2.TranslatePipe } });
|
|
52
|
+
SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SearchBarComponent, selector: "lib-search-bar", inputs: { searchable: "searchable", objectType: "objectType" }, outputs: { searchEvent: "searchEvent" }, ngImport: i0, template: "<div class=\"col-md-8 searchbar\">\r\n <div class=\"row depend\">\r\n <div class=\"col-md-5\">\r\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\r\n </div>\r\n <div class=\"col-md-5\">\r\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\r\n translate}}</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".searchbar{margin-bottom:10px}\n"], pipes: { "translate": i2.TranslatePipe } });
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
|
-
args: [{ selector: 'lib-search-bar', template: "<div class=\"col-md-8 searchbar\">\n <div class=\"row depend\">\n <div class=\"col-md-5\">\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\n </div>\n <div class=\"col-md-5\">\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\n translate}}</button>\n </div>\n </div>\n</div>", styles: [".searchbar{margin-bottom:10px}\n"] }]
|
|
55
|
+
args: [{ selector: 'lib-search-bar', template: "<div class=\"col-md-8 searchbar\">\r\n <div class=\"row depend\">\r\n <div class=\"col-md-5\">\r\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\r\n </div>\r\n <div class=\"col-md-5\">\r\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\r\n translate}}</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".searchbar{margin-bottom:10px}\n"] }]
|
|
56
56
|
}], ctorParameters: function () { return [{ type: i1.SearchService }]; }, propDecorators: { searchable: [{
|
|
57
57
|
type: Input
|
|
58
58
|
}], objectType: [{
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
60
60
|
}], searchEvent: [{
|
|
61
61
|
type: Output
|
|
62
62
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEvRSxNQUFNLE9BQU8sa0JBQWtCO0lBVTNCLHdEQUF3RDtJQUV4RCwwREFBMEQ7SUFDMUQsaUNBQWlDO0lBQ2pDLE9BQU87SUFDUCxrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLHdFQUF3RTtJQUN4RSx3QkFBd0I7SUFDeEIscUNBQXFDO0lBQ3JDLGFBQWE7SUFDYixTQUFTO0lBRVQsMENBQTBDO0lBRTFDLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBekJ0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUF5QlMsQ0FBQztJQUVyRCxRQUFRO1FBQ0osTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQXFCLENBQUM7UUFDdkUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtZQUMxQyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBcUIsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLElBQUksV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUM5RCxJQUFJLEVBQ0osSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7K0dBM0RRLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtKQ1IvQixvY0FVTTsyRkRGTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO29HQU1mLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hPYmplY3RUeXBlLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2VhcmNoLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBhbnk7XHJcblxyXG4gICAgQElucHV0KCkgb2JqZWN0VHlwZTogU2VhcmNoT2JqZWN0VHlwZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgcHVibGljIG1vZGVsOiBhbnk7XHJcblxyXG4gICAgLy8gZm9ybWF0dGVyID0gKHJlc3VsdDogc3RyaW5nKSA9PiByZXN1bHQudG9VcHBlckNhc2UoKTtcclxuXHJcbiAgICAvLyBzZWFyY2g6IE9wZXJhdG9yRnVuY3Rpb248c3RyaW5nLCByZWFkb25seSBzdHJpbmdbXT4gPSAoXHJcbiAgICAvLyAgICAgdGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcclxuICAgIC8vICkgPT5cclxuICAgIC8vICAgICB0ZXh0JC5waXBlKFxyXG4gICAgLy8gICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcclxuICAgIC8vICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgIC8vICAgICAgICAgbWFwKCh0ZXJtKSA9PlxyXG4gICAgLy8gICAgICAgICAgICAgdGVybSA9PT0gXCJcIlxyXG4gICAgLy8gICAgICAgICAgICAgICAgID8gW11cclxuICAgIC8vICAgICAgICAgICAgICAgICA6IHRoaXMuc2VhcmNoYWJsZVxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKCh2KSA9PlxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgdi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0udG9Mb3dlckNhc2UoKSksXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIClcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIDEwKSxcclxuICAgIC8vICAgICAgICAgKSxcclxuICAgIC8vICAgICApO1xyXG5cclxuICAgIC8vIGZpbHRlciA9IChpbnB1dDogc3RyaW5nW10pID0+IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3NlYXJjaGJhclwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsICh7IGtleSB9KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiRW50ZXJcIikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWJtaXQoKSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3NlYXJjaGJhclwiKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gaW5wdXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUgIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXIoc2VhcmNoVmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRXZlbnQuZW1pdChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmlsdGVyKHRlcm06IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoRm9yVGVybUZvclR5cGVJbk1hcChcclxuICAgICAgICAgICAgdGVybSxcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RUeXBlLFxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaGFibGUsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQocmVzdWx0cyk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbC1tZC04IHNlYXJjaGJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBkZXBlbmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwic2VhcmNoYmFyXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwia2V5d29yZFwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSByb3VuZGVkLXBpbGxcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPnt7ICdTZWFyY2gnIHxcclxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -58,9 +58,9 @@ export class SupportModalComponent {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
SupportModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SupportModalComponent, deps: [{ token: i1.SupportService }, { token: i2.NgbActiveModal }, { token: i3.FormBuilder }, { token: i4.BaseUserService }, { token: i5.ValidatorsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
SupportModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SupportModalComponent, selector: "app-support-modal", ngImport: i0, template: "<div class=\"modal-header\">\n <h5 class=\"modal-title\" translate=\"Help\"></h5>\n</div>\n<div class=\"modal-body\">\n <div class=\"support-loader-container\">\n <lib-loader *ngIf=\"loading\"></lib-loader>\n </div>\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"supportForm\" style=\"margin-top:1rem;\" *ngIf=\"!loading && status==='new'\">\n <div>\n <label>{{'Title' | translate}} *</label>\n <div>\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" data-testid=\"new-support-title\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['title'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-title-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['title'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['title'])\"></span>\n </div>\n </div>\n <div *ngIf=\"!currentUser\">\n <label>{{'Email' | translate}} *</label>\n <div>\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" data-testid=\"new-support-email\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['email'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-email-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['email'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['email'])\"></span>\n </div>\n </div>\n <div>\n <label>{{'Description' | translate}} *</label>\n <div>\n <textarea formControlName=\"description\" class=\"form-control\"\n data-testid=\"new-support-description\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['description'])}\"></textarea>\n </div>\n <div class=\"invalid-feedback\" >\n <span data-testid=\"new-support-description-invalid\" [translate]=\" validatorsService.getError(supportForm.controls['description'])\"\n *ngIf=\"validatorsService.isControlError(supportForm.controls['description'])\"></span>\n </div>\n </div>\n </form>\n\n <div *ngIf=\"status ==='send'\" translate=\"Your request has been registered\" data-testid=\"new-support-send-info\">\n </div>\n <div *ngIf=\"status ==='error'\" translate=\"An error has occurred, please renew your request\"\n data-testid=\"new-support-error-info\">\n\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn rounded-pill btn-museum\" data-dismiss=\"modal\" translate=\"Close\" (click)=\"onClose()\"\n data-testid=\"new-support-close-btn\"></button>\n <button *ngIf=\"!loading && status==='new'\" type=\"button\" class=\"btn rounded-pill btn-museum\" translate=\"Submit\"\n (click)=\"onSubmit()\" [disabled]=\"!supportForm.valid\" data-testid=\"new-support-submit-btn\"></button>\n</div>", styles: [".support-loader-container{width:88px;margin:auto}.invalid-feedback{height:16px}\n"], components: [{ type: i6.LoaderComponent, selector: "lib-loader", inputs: ["useLogo", "color"] }], directives: [{ type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i7.TranslatePipe } });
|
|
61
|
+
SupportModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SupportModalComponent, selector: "app-support-modal", ngImport: i0, template: "<div class=\"modal-header\">\r\n <h5 class=\"modal-title\" translate=\"Help\"></h5>\r\n</div>\r\n<div class=\"modal-body\">\r\n <div class=\"support-loader-container\">\r\n <lib-loader *ngIf=\"loading\"></lib-loader>\r\n </div>\r\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"supportForm\" style=\"margin-top:1rem;\" *ngIf=\"!loading && status==='new'\">\r\n <div>\r\n <label>{{'Title' | translate}} *</label>\r\n <div>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" data-testid=\"new-support-title\"\r\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['title'])}\"\r\n maxlength=\"255\">\r\n </div>\r\n <div class=\"invalid-feedback\">\r\n <span data-testid=\"new-support-title-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['title'])\"\r\n *ngIf=\" validatorsService.isControlError(supportForm.controls['title'])\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!currentUser\">\r\n <label>{{'Email' | translate}} *</label>\r\n <div>\r\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" data-testid=\"new-support-email\"\r\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['email'])}\"\r\n maxlength=\"255\">\r\n </div>\r\n <div class=\"invalid-feedback\">\r\n <span data-testid=\"new-support-email-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['email'])\"\r\n *ngIf=\" validatorsService.isControlError(supportForm.controls['email'])\"></span>\r\n </div>\r\n </div>\r\n <div>\r\n <label>{{'Description' | translate}} *</label>\r\n <div>\r\n <textarea formControlName=\"description\" class=\"form-control\"\r\n data-testid=\"new-support-description\"\r\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['description'])}\"></textarea>\r\n </div>\r\n <div class=\"invalid-feedback\" >\r\n <span data-testid=\"new-support-description-invalid\" [translate]=\" validatorsService.getError(supportForm.controls['description'])\"\r\n *ngIf=\"validatorsService.isControlError(supportForm.controls['description'])\"></span>\r\n </div>\r\n </div>\r\n </form>\r\n\r\n <div *ngIf=\"status ==='send'\" translate=\"Your request has been registered\" data-testid=\"new-support-send-info\">\r\n </div>\r\n <div *ngIf=\"status ==='error'\" translate=\"An error has occurred, please renew your request\"\r\n data-testid=\"new-support-error-info\">\r\n\r\n </div>\r\n</div>\r\n<div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn rounded-pill btn-museum\" data-dismiss=\"modal\" translate=\"Close\" (click)=\"onClose()\"\r\n data-testid=\"new-support-close-btn\"></button>\r\n <button *ngIf=\"!loading && status==='new'\" type=\"button\" class=\"btn rounded-pill btn-museum\" translate=\"Submit\"\r\n (click)=\"onSubmit()\" [disabled]=\"!supportForm.valid\" data-testid=\"new-support-submit-btn\"></button>\r\n</div>", styles: [".support-loader-container{width:88px;margin:auto}.invalid-feedback{height:16px}\n"], components: [{ type: i6.LoaderComponent, selector: "lib-loader", inputs: ["useLogo", "color"] }], directives: [{ type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i7.TranslatePipe } });
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SupportModalComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
|
-
args: [{ selector: 'app-support-modal', template: "<div class=\"modal-header\">\n <h5 class=\"modal-title\" translate=\"Help\"></h5>\n</div>\n<div class=\"modal-body\">\n <div class=\"support-loader-container\">\n <lib-loader *ngIf=\"loading\"></lib-loader>\n </div>\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"supportForm\" style=\"margin-top:1rem;\" *ngIf=\"!loading && status==='new'\">\n <div>\n <label>{{'Title' | translate}} *</label>\n <div>\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" data-testid=\"new-support-title\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['title'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-title-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['title'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['title'])\"></span>\n </div>\n </div>\n <div *ngIf=\"!currentUser\">\n <label>{{'Email' | translate}} *</label>\n <div>\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" data-testid=\"new-support-email\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['email'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-email-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['email'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['email'])\"></span>\n </div>\n </div>\n <div>\n <label>{{'Description' | translate}} *</label>\n <div>\n <textarea formControlName=\"description\" class=\"form-control\"\n data-testid=\"new-support-description\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['description'])}\"></textarea>\n </div>\n <div class=\"invalid-feedback\" >\n <span data-testid=\"new-support-description-invalid\" [translate]=\" validatorsService.getError(supportForm.controls['description'])\"\n *ngIf=\"validatorsService.isControlError(supportForm.controls['description'])\"></span>\n </div>\n </div>\n </form>\n\n <div *ngIf=\"status ==='send'\" translate=\"Your request has been registered\" data-testid=\"new-support-send-info\">\n </div>\n <div *ngIf=\"status ==='error'\" translate=\"An error has occurred, please renew your request\"\n data-testid=\"new-support-error-info\">\n\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn rounded-pill btn-museum\" data-dismiss=\"modal\" translate=\"Close\" (click)=\"onClose()\"\n data-testid=\"new-support-close-btn\"></button>\n <button *ngIf=\"!loading && status==='new'\" type=\"button\" class=\"btn rounded-pill btn-museum\" translate=\"Submit\"\n (click)=\"onSubmit()\" [disabled]=\"!supportForm.valid\" data-testid=\"new-support-submit-btn\"></button>\n</div>", styles: [".support-loader-container{width:88px;margin:auto}.invalid-feedback{height:16px}\n"] }]
|
|
64
|
+
args: [{ selector: 'app-support-modal', template: "<div class=\"modal-header\">\r\n <h5 class=\"modal-title\" translate=\"Help\"></h5>\r\n</div>\r\n<div class=\"modal-body\">\r\n <div class=\"support-loader-container\">\r\n <lib-loader *ngIf=\"loading\"></lib-loader>\r\n </div>\r\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"supportForm\" style=\"margin-top:1rem;\" *ngIf=\"!loading && status==='new'\">\r\n <div>\r\n <label>{{'Title' | translate}} *</label>\r\n <div>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" data-testid=\"new-support-title\"\r\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['title'])}\"\r\n maxlength=\"255\">\r\n </div>\r\n <div class=\"invalid-feedback\">\r\n <span data-testid=\"new-support-title-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['title'])\"\r\n *ngIf=\" validatorsService.isControlError(supportForm.controls['title'])\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!currentUser\">\r\n <label>{{'Email' | translate}} *</label>\r\n <div>\r\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" data-testid=\"new-support-email\"\r\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['email'])}\"\r\n maxlength=\"255\">\r\n </div>\r\n <div class=\"invalid-feedback\">\r\n <span data-testid=\"new-support-email-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['email'])\"\r\n *ngIf=\" validatorsService.isControlError(supportForm.controls['email'])\"></span>\r\n </div>\r\n </div>\r\n <div>\r\n <label>{{'Description' | translate}} *</label>\r\n <div>\r\n <textarea formControlName=\"description\" class=\"form-control\"\r\n data-testid=\"new-support-description\"\r\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['description'])}\"></textarea>\r\n </div>\r\n <div class=\"invalid-feedback\" >\r\n <span data-testid=\"new-support-description-invalid\" [translate]=\" validatorsService.getError(supportForm.controls['description'])\"\r\n *ngIf=\"validatorsService.isControlError(supportForm.controls['description'])\"></span>\r\n </div>\r\n </div>\r\n </form>\r\n\r\n <div *ngIf=\"status ==='send'\" translate=\"Your request has been registered\" data-testid=\"new-support-send-info\">\r\n </div>\r\n <div *ngIf=\"status ==='error'\" translate=\"An error has occurred, please renew your request\"\r\n data-testid=\"new-support-error-info\">\r\n\r\n </div>\r\n</div>\r\n<div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn rounded-pill btn-museum\" data-dismiss=\"modal\" translate=\"Close\" (click)=\"onClose()\"\r\n data-testid=\"new-support-close-btn\"></button>\r\n <button *ngIf=\"!loading && status==='new'\" type=\"button\" class=\"btn rounded-pill btn-museum\" translate=\"Submit\"\r\n (click)=\"onSubmit()\" [disabled]=\"!supportForm.valid\" data-testid=\"new-support-submit-btn\"></button>\r\n</div>", styles: [".support-loader-container{width:88px;margin:auto}.invalid-feedback{height:16px}\n"] }]
|
|
65
65
|
}], ctorParameters: function () { return [{ type: i1.SupportService }, { type: i2.NgbActiveModal }, { type: i3.FormBuilder }, { type: i4.BaseUserService }, { type: i5.ValidatorsService }]; } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc3VwcG9ydC1tb2RhbC9zdXBwb3J0LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zdXBwb3J0LW1vZGFsL3N1cHBvcnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7OztBQU9oRSxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLFlBQ1UsY0FBOEIsRUFDL0IsV0FBMkIsRUFDMUIsV0FBd0IsRUFDeEIsV0FBNEIsRUFDN0IsaUJBQXFDO1FBSnBDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFiOUMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQU1mLFlBQU8sR0FBWSxJQUFJLENBQUM7SUFRcEIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJO2dCQUNGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN4QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ25HLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsRUFBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDL0ksV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDOUUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7O2tIQXBEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix5RENoQmxDLCt2R0EwRE07MkZEMUNPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCYXNlVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aCB9IGZyb20gXCJhd3MtYW1wbGlmeVwiO1xuaW1wb3J0IHsgU3VwcG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdXBwb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgbm9FbXB0eVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvbm8tZW1wdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IFZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsaWRhdG9ycy5zZXJ2aWNlJztcbmltcG9ydCB7IGVtYWlsVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9lbWFpbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGV4dFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdGV4dC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3VwcG9ydC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdXBwb3J0LW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VwcG9ydC1tb2RhbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN1cHBvcnRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHN0YXR1cyA9ICduZXcnO1xuXG4gIHN1cHBvcnRGb3JtOiBGb3JtR3JvdXA7XG5cbiAgY3VycmVudFVzZXI6IGFueTtcblxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN1cHBvcnRTZXJ2aWNlOiBTdXBwb3J0U2VydmljZSxcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IEJhc2VVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdmFsaWRhdG9yc1NlcnZpY2UgOiBWYWxpZGF0b3JzU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pRm9ybSgpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XG4gIH1cblxuICBhc3luYyBnZXRDdXJyZW50VXNlcigpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY2F1ID0gYXdhaXQgQXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKTtcbiAgICAgICAgcmVzb2x2ZShhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmN1cnJlbnQoY2F1KSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXNvbHZlKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGluaUZvcm0oKSB7XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IGF3YWl0IHRoaXMuZ2V0Q3VycmVudFVzZXIoKTtcbiAgICB0aGlzLnN1cHBvcnRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICB0aXRsZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCAsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NSksIG5vRW1wdHlWYWxpZGF0b3IoKSwgdGV4dFZhbGlkYXRvcigpXV0sXG4gICAgICBlbWFpbDogWyh0aGlzLmN1cnJlbnRVc2VyID8gdGhpcy5jdXJyZW50VXNlci5lbWFpbCA6ICcnKSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGVtYWlsVmFsaWRhdG9yKCksICBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpLCB0ZXh0VmFsaWRhdG9yKCldXSxcbiAgICAgIGRlc2NyaXB0aW9uOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBub0VtcHR5VmFsaWRhdG9yKCksIHRleHRWYWxpZGF0b3IoKV1dLFxuICAgIH0pO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG4gIFxuICBhc3luYyBvblN1Ym1pdCgpIHtcbiAgICBpZih0aGlzLnN1cHBvcnRGb3JtLnZhbGlkKXtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnN0YXR1cyA9IGF3YWl0IHRoaXMuc3VwcG9ydFNlcnZpY2Uuc2VuZFN1cHBvcnQodGhpcy5zdXBwb3J0Rm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxufSIsIjxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIHRyYW5zbGF0ZT1cIkhlbHBcIj48L2g1PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdXBwb3J0LWxvYWRlci1jb250YWluZXJcIj5cbiAgICAgICAgPGxpYi1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9saWItbG9hZGVyPlxuICAgIDwvZGl2PlxuICAgIDxmb3JtIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCIgW2Zvcm1Hcm91cF09XCJzdXBwb3J0Rm9ybVwiIHN0eWxlPVwibWFyZ2luLXRvcDoxcmVtO1wiICpuZ0lmPVwiIWxvYWRpbmcgJiYgc3RhdHVzPT09J25ldydcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxsYWJlbD57eydUaXRsZScgfCB0cmFuc2xhdGV9fSAqPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnIDogdmFsaWRhdG9yc1NlcnZpY2UuaXNDb250cm9sRXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ3RpdGxlJ10pfVwiXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtdGl0bGUtaW52YWxpZFwiIFt0cmFuc2xhdGVdPVwidmFsaWRhdG9yc1NlcnZpY2UuZ2V0RXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ3RpdGxlJ10pXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIgdmFsaWRhdG9yc1NlcnZpY2UuaXNDb250cm9sRXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ3RpdGxlJ10pXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWN1cnJlbnRVc2VyXCI+XG4gICAgICAgICAgICA8bGFiZWw+e3snRW1haWwnIHwgdHJhbnNsYXRlfX0gKjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1lbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCcgOiB2YWxpZGF0b3JzU2VydmljZS5pc0NvbnRyb2xFcnJvcihzdXBwb3J0Rm9ybS5jb250cm9sc1snZW1haWwnXSl9XCJcbiAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjU1XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1lbWFpbC1pbnZhbGlkXCIgW3RyYW5zbGF0ZV09XCJ2YWxpZGF0b3JzU2VydmljZS5nZXRFcnJvcihzdXBwb3J0Rm9ybS5jb250cm9sc1snZW1haWwnXSlcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiB2YWxpZGF0b3JzU2VydmljZS5pc0NvbnRyb2xFcnJvcihzdXBwb3J0Rm9ybS5jb250cm9sc1snZW1haWwnXSlcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWw+e3snRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlfX0gKjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCcgOiB2YWxpZGF0b3JzU2VydmljZS5pc0NvbnRyb2xFcnJvcihzdXBwb3J0Rm9ybS5jb250cm9sc1snZGVzY3JpcHRpb24nXSl9XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiA+XG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1kZXNjcmlwdGlvbi1pbnZhbGlkXCIgW3RyYW5zbGF0ZV09XCIgdmFsaWRhdG9yc1NlcnZpY2UuZ2V0RXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ2Rlc2NyaXB0aW9uJ10pXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInZhbGlkYXRvcnNTZXJ2aWNlLmlzQ29udHJvbEVycm9yKHN1cHBvcnRGb3JtLmNvbnRyb2xzWydkZXNjcmlwdGlvbiddKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG5cbiAgICA8ZGl2ICpuZ0lmPVwic3RhdHVzID09PSdzZW5kJ1wiIHRyYW5zbGF0ZT1cIllvdXIgcmVxdWVzdCBoYXMgYmVlbiByZWdpc3RlcmVkXCIgZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1zZW5kLWluZm9cIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic3RhdHVzID09PSdlcnJvcidcIiB0cmFuc2xhdGU9XCJBbiBlcnJvciBoYXMgb2NjdXJyZWQsIHBsZWFzZSByZW5ldyB5b3VyIHJlcXVlc3RcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cIm5ldy1zdXBwb3J0LWVycm9yLWluZm9cIj5cblxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gcm91bmRlZC1waWxsIGJ0bi1tdXNldW1cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIHRyYW5zbGF0ZT1cIkNsb3NlXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtY2xvc2UtYnRuXCI+PC9idXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cIiFsb2FkaW5nICYmIHN0YXR1cz09PSduZXcnXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIHJvdW5kZWQtcGlsbCBidG4tbXVzZXVtXCIgdHJhbnNsYXRlPVwiU3VibWl0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KClcIiBbZGlzYWJsZWRdPVwiIXN1cHBvcnRGb3JtLnZhbGlkXCIgZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1zdWJtaXQtYnRuXCI+PC9idXR0b24+XG48L2Rpdj4iXX0=
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc3VwcG9ydC1tb2RhbC9zdXBwb3J0LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zdXBwb3J0LW1vZGFsL3N1cHBvcnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7OztBQU9oRSxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLFlBQ1UsY0FBOEIsRUFDL0IsV0FBMkIsRUFDMUIsV0FBd0IsRUFDeEIsV0FBNEIsRUFDN0IsaUJBQXFDO1FBSnBDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFiOUMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQU1mLFlBQU8sR0FBWSxJQUFJLENBQUM7SUFRcEIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJO2dCQUNGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN4QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ25HLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsRUFBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDL0ksV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDOUUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7O2tIQXBEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix5RENoQmxDLG0zR0EwRE07MkZEMUNPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCYXNlVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoIH0gZnJvbSBcImF3cy1hbXBsaWZ5XCI7XHJcbmltcG9ydCB7IFN1cHBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VwcG9ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbm9FbXB0eVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvbm8tZW1wdHkuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YWxpZGF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgdGV4dFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdGV4dC5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3VwcG9ydC1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N1cHBvcnQtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N1cHBvcnQtbW9kYWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VwcG9ydE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzdGF0dXMgPSAnbmV3JztcclxuXHJcbiAgc3VwcG9ydEZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgY3VycmVudFVzZXI6IGFueTtcclxuXHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzdXBwb3J0U2VydmljZTogU3VwcG9ydFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBCYXNlVXNlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdmFsaWRhdG9yc1NlcnZpY2UgOiBWYWxpZGF0b3JzU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbmlGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0Q3VycmVudFVzZXIoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGNhdSA9IGF3YWl0IEF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCk7XHJcbiAgICAgICAgcmVzb2x2ZShhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmN1cnJlbnQoY2F1KSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgcmVzb2x2ZSh1bmRlZmluZWQpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pRm9ybSgpIHtcclxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBhd2FpdCB0aGlzLmdldEN1cnJlbnRVc2VyKCk7XHJcbiAgICB0aGlzLnN1cHBvcnRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIHRpdGxlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkICwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU1KSwgbm9FbXB0eVZhbGlkYXRvcigpLCB0ZXh0VmFsaWRhdG9yKCldXSxcclxuICAgICAgZW1haWw6IFsodGhpcy5jdXJyZW50VXNlciA/IHRoaXMuY3VycmVudFVzZXIuZW1haWwgOiAnJyksIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBlbWFpbFZhbGlkYXRvcigpLCAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU1KSwgdGV4dFZhbGlkYXRvcigpXV0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBub0VtcHR5VmFsaWRhdG9yKCksIHRleHRWYWxpZGF0b3IoKV1dLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcbiAgXHJcbiAgYXN5bmMgb25TdWJtaXQoKSB7XHJcbiAgICBpZih0aGlzLnN1cHBvcnRGb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zdGF0dXMgPSBhd2FpdCB0aGlzLnN1cHBvcnRTZXJ2aWNlLnNlbmRTdXBwb3J0KHRoaXMuc3VwcG9ydEZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiB0cmFuc2xhdGU9XCJIZWxwXCI+PC9oNT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3VwcG9ydC1sb2FkZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGxpYi1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCI+PC9saWItbG9hZGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Zm9ybSAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIFtmb3JtR3JvdXBdPVwic3VwcG9ydEZvcm1cIiBzdHlsZT1cIm1hcmdpbi10b3A6MXJlbTtcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHN0YXR1cz09PSduZXcnXCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGxhYmVsPnt7J1RpdGxlJyB8IHRyYW5zbGF0ZX19ICo8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtdGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCcgOiB2YWxpZGF0b3JzU2VydmljZS5pc0NvbnRyb2xFcnJvcihzdXBwb3J0Rm9ybS5jb250cm9sc1sndGl0bGUnXSl9XCJcclxuICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIyNTVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cIm5ldy1zdXBwb3J0LXRpdGxlLWludmFsaWRcIiBbdHJhbnNsYXRlXT1cInZhbGlkYXRvcnNTZXJ2aWNlLmdldEVycm9yKHN1cHBvcnRGb3JtLmNvbnRyb2xzWyd0aXRsZSddKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIgdmFsaWRhdG9yc1NlcnZpY2UuaXNDb250cm9sRXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ3RpdGxlJ10pXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWN1cnJlbnRVc2VyXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD57eydFbWFpbCcgfCB0cmFuc2xhdGV9fSAqPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1lbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJyA6IHZhbGlkYXRvcnNTZXJ2aWNlLmlzQ29udHJvbEVycm9yKHN1cHBvcnRGb3JtLmNvbnRyb2xzWydlbWFpbCddKX1cIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtZW1haWwtaW52YWxpZFwiIFt0cmFuc2xhdGVdPVwidmFsaWRhdG9yc1NlcnZpY2UuZ2V0RXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ2VtYWlsJ10pXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiB2YWxpZGF0b3JzU2VydmljZS5pc0NvbnRyb2xFcnJvcihzdXBwb3J0Rm9ybS5jb250cm9sc1snZW1haWwnXSlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxsYWJlbD57eydEZXNjcmlwdGlvbicgfCB0cmFuc2xhdGV9fSAqPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cIm5ldy1zdXBwb3J0LWRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnIDogdmFsaWRhdG9yc1NlcnZpY2UuaXNDb250cm9sRXJyb3Ioc3VwcG9ydEZvcm0uY29udHJvbHNbJ2Rlc2NyaXB0aW9uJ10pfVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtZGVzY3JpcHRpb24taW52YWxpZFwiIFt0cmFuc2xhdGVdPVwiIHZhbGlkYXRvcnNTZXJ2aWNlLmdldEVycm9yKHN1cHBvcnRGb3JtLmNvbnRyb2xzWydkZXNjcmlwdGlvbiddKVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInZhbGlkYXRvcnNTZXJ2aWNlLmlzQ29udHJvbEVycm9yKHN1cHBvcnRGb3JtLmNvbnRyb2xzWydkZXNjcmlwdGlvbiddKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInN0YXR1cyA9PT0nc2VuZCdcIiB0cmFuc2xhdGU9XCJZb3VyIHJlcXVlc3QgaGFzIGJlZW4gcmVnaXN0ZXJlZFwiIGRhdGEtdGVzdGlkPVwibmV3LXN1cHBvcnQtc2VuZC1pbmZvXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdGF0dXMgPT09J2Vycm9yJ1wiIHRyYW5zbGF0ZT1cIkFuIGVycm9yIGhhcyBvY2N1cnJlZCwgcGxlYXNlIHJlbmV3IHlvdXIgcmVxdWVzdFwiXHJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJuZXctc3VwcG9ydC1lcnJvci1pbmZvXCI+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biByb3VuZGVkLXBpbGwgYnRuLW11c2V1bVwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgdHJhbnNsYXRlPVwiQ2xvc2VcIiAoY2xpY2spPVwib25DbG9zZSgpXCJcclxuICAgICAgICBkYXRhLXRlc3RpZD1cIm5ldy1zdXBwb3J0LWNsb3NlLWJ0blwiPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cIiFsb2FkaW5nICYmIHN0YXR1cz09PSduZXcnXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIHJvdW5kZWQtcGlsbCBidG4tbXVzZXVtXCIgdHJhbnNsYXRlPVwiU3VibWl0XCJcclxuICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoKVwiIFtkaXNhYmxlZF09XCIhc3VwcG9ydEZvcm0udmFsaWRcIiBkYXRhLXRlc3RpZD1cIm5ldy1zdXBwb3J0LXN1Ym1pdC1idG5cIj48L2J1dHRvbj5cclxuPC9kaXY+Il19
|
package/esm2020/lib/config.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export class Config {
|
|
2
2
|
constructor() { }
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLE1BQU07SUFxQmYsZ0JBQWdCLENBQUM7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGNsYXNzIENvbmZpZyB7XHJcbiAgICBteV9jb25maWc6IHtcclxuICAgICAgICBpY29uX3RpY2tldD86IHN0cmluZztcclxuICAgICAgICBpY29uX2VxdWlwbWVudD86IHN0cmluZztcclxuICAgICAgICBpY29uX21lYXN1cmU/OiBzdHJpbmc7XHJcbiAgICAgICAgaWNvbl9kYXRhPzogc3RyaW5nO1xyXG4gICAgICAgIGljb25fb2JqZWN0M2Q/OiBzdHJpbmc7XHJcbiAgICAgICAgaWNvbl9wb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIE1BWF9DSEFSQUNURVJfREVTQ1JJUFRJT05fVEFHOiBudW1iZXI7XHJcbiAgICAgICAgREVGQVVMVF9IRUlHSFRfSFRNTF9UQUc6IG51bWJlcjtcclxuICAgICAgICBERUZBVUxUX09QQUNJVFlfVEFHOiBudW1iZXI7XHJcbiAgICAgICAgQ09MRF9MSU1JVD86IG51bWJlcjtcclxuICAgICAgICBIT1RfTElNSVQ/OiBudW1iZXI7XHJcbiAgICAgICAgREVGQVVMVF9XSURUSF9IVE1MX1RBRzogbnVtYmVyO1xyXG4gICAgICAgIE1BWF9JTUFHRV9IRUlHSFRfSFRNTF9UQUc6IG51bWJlcjtcclxuICAgICAgICBpY29uX3Jvb21fYXZhaWxhYmxlPzogc3RyaW5nO1xyXG4gICAgICAgIGljb25fcm9vbV91bmF2YWlsYWJsZT86IHN0cmluZztcclxuICAgICAgICBpY29uX3Jvb21fY2hvc2VuPzogc3RyaW5nO1xyXG4gICAgICAgIGljb25fcm9vbV92aWV3ZWQ/OiBzdHJpbmc7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
|