ngx-wapp-components 2.1.18-alpha.6 → 2.1.18-alpha.7
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/esm2020/lib/material/shared/models/wapping-service-translations.model.mjs +1 -1
- package/esm2020/lib/material/w-material-service-view/w-material-service-view.component.mjs +6 -4
- package/esm2020/lib/material/wapp-material-service-view/wapp-material-service-view.component.mjs +2 -2
- package/fesm2015/ngx-wapp-components.mjs +7 -5
- package/fesm2015/ngx-wapp-components.mjs.map +1 -1
- package/fesm2020/ngx-wapp-components.mjs +7 -5
- package/fesm2020/ngx-wapp-components.mjs.map +1 -1
- package/lib/material/shared/models/wapping-service-translations.model.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FwcGluZy1zZXJ2aWNlLXRyYW5zbGF0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL21hdGVyaWFsL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLXRyYW5zbGF0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBXYXBwaW5nU2VydmljZVRyYW5zbGF0aW9ucyB7XHJcbiAgICBhY3RpdmVkU2VydmljZTogc3RyaW5nLFxyXG4gICAgZGlzYWJsZWRTZXJ2aWNlOiBzdHJpbmcsXHJcbiAgICBzY2hlZHVsZWRMYWJlbDogc3RyaW5nLFxyXG4gICAgc2VuZExhYmVsOiBzdHJpbmcsXHJcbiAgICBjYXJkR2VuZXJhdGVkOiBzdHJpbmcsXHJcbiAgICByZWNlaXZlZExhYmVsPzogc3RyaW5nLFxyXG4gICAgc2hvd01vcmU/OiBzdHJpbmcsXHJcbiAgICB0aXRsZT86IHN0cmluZyxcclxuICAgIGJ1dHRvblNlcnZpY2U/OiBzdHJpbmdcclxufSJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FwcGluZy1zZXJ2aWNlLXRyYW5zbGF0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL21hdGVyaWFsL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLXRyYW5zbGF0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBXYXBwaW5nU2VydmljZVRyYW5zbGF0aW9ucyB7XHJcbiAgICBhY3RpdmVkU2VydmljZTogc3RyaW5nLFxyXG4gICAgZGlzYWJsZWRTZXJ2aWNlOiBzdHJpbmcsXHJcbiAgICBzY2hlZHVsZWRMYWJlbDogc3RyaW5nLFxyXG4gICAgc2VuZExhYmVsOiBzdHJpbmcsXHJcbiAgICBjYXJkR2VuZXJhdGVkOiBzdHJpbmcsXHJcbiAgICByZWNlaXZlZExhYmVsPzogc3RyaW5nLFxyXG4gICAgc2hvd01vcmU/OiBzdHJpbmcsXHJcbiAgICB0aXRsZT86IHN0cmluZyxcclxuICAgIGJ1dHRvblNlcnZpY2U/OiBzdHJpbmcsXHJcbiAgICB3aW5uZXJEYXRlPzogc3RyaW5nLFxyXG4gICAgeW91ck51bWJlcnM/OiBzdHJpbmdcclxufSJdfQ==
|
|
@@ -48,7 +48,9 @@ export class WMaterialServiceViewComponent {
|
|
|
48
48
|
cardGenerated: 'Tu tarjeta estará disponible para el envío en breves instantes',
|
|
49
49
|
receivedLabel: "Enviada por {{name}}",
|
|
50
50
|
showMore: "Mostrar más",
|
|
51
|
-
buttonService: "Participar"
|
|
51
|
+
buttonService: "Participar",
|
|
52
|
+
winnerDate: "El ganador se decidirá el",
|
|
53
|
+
yourNumbers: "Tus números"
|
|
52
54
|
};
|
|
53
55
|
this.disabledButtonService = false;
|
|
54
56
|
this.showButtonService = false;
|
|
@@ -237,10 +239,10 @@ export class WMaterialServiceViewComponent {
|
|
|
237
239
|
}
|
|
238
240
|
}
|
|
239
241
|
WMaterialServiceViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WMaterialServiceViewComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
240
|
-
WMaterialServiceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WMaterialServiceViewComponent, selector: "w-material-service-view", inputs: { forceMobile: "forceMobile", wappingServicesTranslations: "wappingServicesTranslations", disabledButtonService: "disabledButtonService", showButtonService: "showButtonService", showToggle: "showToggle", lotteryEvent: "lotteryEvent", wappingService: "wappingService", isDevModeActive: "isDevModeActive", defaultImage: "defaultImage", croppedImageConfiguration: "croppedImageConfiguration", croppedDialogTranslations: "croppedDialogTranslations", isNoImage: "isNoImage", onHoverImageTooltip: "onHoverImageTooltip" }, outputs: { wappingServiceSelected: "wappingServiceSelected", triggerButtonService: "triggerButtonService", onDefaultImageEvent: "onDefaultImageEvent" }, usesOnChanges: true, ngImport: i0, template: "<wapp-main-title [title]=\"wappingService.tile3\" *ngIf=\"wappingService && (!forceMobile)\" fxHide.xs></wapp-main-title>\r\n<div class=\"participation-detail-container\" fxLayout=\"row\" fxHide.xs fxLayoutAlign=\"center center\" *ngIf=\"isDraw && hasParticipations\">\r\n\r\n <div class=\"participation-detail-desktop-bar\" fxFlex=\"100\" xLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <span class=\"participation-detail-label\">Tus n\u00FAmeros:</span>\r\n <span class=\"participation-detail-value\">\r\n {{ lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds?.join(', ') }}\r\n </span>\r\n <span class=\"participation-detail-label\">El ganador se decidir\u00E1 el:</span>\r\n <span class=\"participation-detail-date\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'medium' }}</span>\r\n </div>\r\n\r\n</div>\r\n<div class=\"service-detail-center\" *ngIf=\"wappingService\"\r\n [ngClass]=\"{'force-mobile': forceMobile}\"\r\n [fxLayout]=\"forceMobile ? 'column' : 'row'\"\r\n [fxLayout.xs]=\"'column'\"\r\n [fxLayout.sm]=\"'column'\">\r\n <!--service image-->\r\n <div [ngClass]=\"{'service-view-no-margin': forceMobile, 'service-view': !forceMobile}\" fxLayout=\"column\">\r\n <!--tile 1-->\r\n <div *ngIf=\"!hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-image-title\">\r\n <div class=\"service-view-tile1-no-html\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div *ngIf=\"hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"template-service-image-tile service-card-image-title\">\r\n <div class=\"service-view-tile1\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <!--slideshow-->\r\n <wapp-carousel [isDevModeActive]=\"isDevModeActive\" [forceMobile]=\"forceMobile\" [images]=\"wappingServiceImages\" [isNoImage]=\"isNoImage\" (onSetImageEvent)=\"setImage()\" [onHoverImageTooltip]=\"onHoverImageTooltip\"></wapp-carousel>\r\n <!--tile 2-->\r\n <div fxFlex fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\"\r\n fxLayoutGap=\"5px\"\r\n [ngClass]=\"{'template-service-tile': hasHtml(wappingService.tile2),\r\n 'service-tile' : !hasHtml(wappingService.tile2)}\"\r\n *ngIf=\"wappingService.tile2\">\r\n <div class=\"service-view-tile2\" [innerHtml]=\"wappingService.tile2\"></div>\r\n </div>\r\n <!--activate toggle-->\r\n <mat-slide-toggle class=\"service-select-toggle\" color=\"accent\"\r\n *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard && !showButtonService && showToggle\"\r\n [disabled]=\"disabledToggle\"\r\n [(ngModel)]=\"wappingService.active\"\r\n (change)=\"selectWappingService()\">{{ serviceStatus }}</mat-slide-toggle>\r\n <button mat-flat-button *ngIf=\"showButtonService\"\r\n color=\"accent\"\r\n class=\"service-view-button\"\r\n fxFlex=\"100\" fxHide fxShow.xs\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n <div class=\"participation-detail-container-mobile\" fxHide fxShow.xs *ngIf=\"isDraw && hasParticipations\">\r\n \r\n <div class=\"participation-detail-mobile-card\">\r\n <div class=\"participation-date-row\">\r\n <span class=\"label-light\">El ganador se decidir\u00E1 el </span>\r\n <span class=\"date-bold\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'dd/MM/yyyy' }}</span>\r\n </div>\r\n\r\n <div class=\"card-bottom-content\">\r\n <div class=\"numbers-section\">\r\n <span class=\"numbers-title\">Tus n\u00FAmeros</span>\r\n <div class=\"numbers-list-vertical\">\r\n <div class=\"number-item\" *ngFor=\"let id of lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds\">\r\n {{ id }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-icon-right\">\r\n <mat-icon svgIcon=\"number\"></mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n \r\n </div>\r\n <!--service info-->\r\n <div class=\"service-info-container\" [ngClass]=\"{'service-info-container-padding': forceMobile}\" fxLayout=\"column\">\r\n <div class=\"service-tile-detail-container\" fxLayout=\"column\">\r\n <!--tile 3-->\r\n <div *ngIf=\"!forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\" fxHide fxShow.xs\r\n class=\"service-name mat-title\">\r\n </div>\r\n <div *ngIf=\"forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\"\r\n class=\"service-name mat-title\">\r\n </div>\r\n <!--tileDetail 1-->\r\n <div class=\"service-tile-detail\" fxLayout=\"row\">\r\n <span [innerHtml]=\"wappingService.tileDetail1\"></span>\r\n </div>\r\n <div class=\"service-view-container-button\" fxHide.xs *ngIf=\"showButtonService\">\r\n <button mat-flat-button\r\n class=\"service-view-button\"\r\n color=\"accent\"\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <!--link-->\r\n <div class=\"service-link-container\" *ngIf=\"wappingService.titleLinkUrl && wappingService.linkUrl\">\r\n <a class=\"service-link\" href=\"{{wappingService.linkUrl}}\" target=\"_blank\">\r\n <mat-icon class=\"service-link-icon\" svgIcon=\"share_square\"></mat-icon><span>{{wappingService.titleLinkUrl}}</span>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n</div>", styles: [".back-button{width:20px!important;height:20px!important;background-color:#a5000000;padding:0;border:none;cursor:pointer}.back-button-over-image{width:37px!important;height:37px!important;background-color:#ffffffb0;position:absolute;top:13px;left:11px;z-index:10;border-radius:50%;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer}::ng-deep .back-button .mat-button-wrapper,::ng-deep .back-button-over-image .mat-button-wrapper{padding:4px 0!important}.back-button .mat-button-wrapper,.back-button-over-image .mat-button-wrapper{line-height:14px!important}.back-button .mat-icon{width:20px;height:20px}.back-button-over-image .mat-icon{width:16px;height:16px}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:before{background:var(--mdc-switch-unselected-track-color, #a50000)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #fff))!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:after{background:var(--mdc-switch-selected-hover-track-color, #10c638)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-unselected-handle-color, #fff)!important}:host ::ng-deep .mdc-form-field>label{font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch{margin-right:8px!important}@media (max-width: 959px){.service-detail-center{align-items:center}}.service-view{position:relative;margin-right:30px}.service-view-no-margin{position:relative;margin-right:0!important}@media (min-width: 600px) and (max-width: 959px){.service-view{margin-right:0;width:100%}}@media (max-width: 599px){.service-view{margin-right:0;width:100%}}.service-image-tile,.template-service-image-tile{position:absolute!important;width:100%!important;min-height:32px!important;top:0!important;z-index:9!important}.service-image-title{position:absolute;top:0!important;right:0!important;left:0!important;z-index:2;margin:0 60px!important;min-height:22px!important;border-radius:0 0 4.3118px 4.3118px!important;background-color:#0e0c0c;color:#fff;display:flex;justify-content:center;align-items:center;padding:4px}.service-view-tile1-no-html{justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important}.service-view-tile1{width:100%;min-height:32px}.service-tile{background-color:#0e0c0c;color:#fff;padding:14px;max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.template-service-tile{max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.service-tile-border-bottom-radius{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.service-view-tile2{width:100%}::ng-deep .service-view-tile2 *{box-sizing:border-box!important}.service-select-toggle{margin-top:25px;margin-right:auto;margin-left:auto;display:flex;align-items:center;text-align:left;max-width:none!important}.service-select-toggle *{max-width:none!important}.service-view-button{padding:10px 20px!important;align-items:center;justify-content:center}.service-view-button .mat-button-wrapper{display:flex!important;align-items:center;justify-content:center;gap:8px}.service-view-button .service-view-participate{display:flex}@media (max-width: 599px){.service-view-button{margin:8px 12px!important}}@media (min-width: 600px){.service-view-button{padding:10px 34px!important;height:auto!important;line-height:normal!important;min-width:150px}}.service-view-container-button{display:flex;justify-content:flex-start;align-items:start}.service-info-container{width:100%}.service-info-container-padding{padding-right:15px;padding-left:15px}@media (max-width: 599px){.service-info-container{padding-right:15px;padding-left:15px}}.service-name{margin-top:0;text-align:justify;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-name{margin-top:30px;margin-right:0}}@media (max-width: 599px){.service-name{margin-top:30px;margin-right:0}}.service-description{margin-top:0;text-align:left;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-description{margin-top:20px;margin-right:0}}@media (max-width: 599px){.service-description{margin-top:15px;margin-right:0}}.service-show-more-container{margin-top:5px;width:-moz-fit-content;width:fit-content;align-items:center;cursor:pointer;display:flex;text-align:left}.service-show-more-vector{width:5px!important;margin-left:10px}.service-tile-detail-container{margin-top:5px;display:flex;text-align:justify}@media (max-width: 599px){.service-tile-detail-container{margin-top:20px}}.service-tile-detail{margin-top:20px;font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}@media (max-width: 599px){.service-tile-detail{margin-top:20px}}.service-tile-detail-icon{margin-right:10px}.service-link-container{height:100%;justify-content:flex-end;align-items:flex-end;display:flex;text-align:justify}@media (max-width: 599px){.service-link-container{margin-top:20px;justify-content:flex-start}}.service-link{display:flex;align-items:center;cursor:pointer;text-decoration:none;color:inherit}.service-link-icon{margin-right:10px}.service-options-container{border-top:1px solid #eee;margin-top:80px}@media (max-width: 599px){.service-options-container{margin-top:40px;padding-right:15px;padding-left:15px}}.service-option{height:48px;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;text-align:left}.service-option-vector{width:10px!important}.actions-container{margin-top:40px}.actions-button{display:flex;align-items:center;text-align:justify}.actions-button-text{margin-left:10px}.sendLabel{margin:10px auto;display:flex;justify-content:center;align-items:center;text-align:center}.sendCard-container{flex-wrap:wrap}.sendCard-container mat-icon{width:24px}@media (min-width: 600px){.sendCard-container{display:flex;justify-content:flex-end}.sentCard-container{display:flex;justify-content:end}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:8px}}@media (max-width: 599px){.sendCard-container{display:flex;justify-content:center}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:0}.sentCard-container{display:flex;justify-content:space-evenly}}.participation-detail-container{margin:16px 0;width:100%}.participation-detail-desktop-bar{border-radius:8px;padding:12px 24px;box-shadow:0 2px 4px #0000000d;gap:8px;display:flex;justify-content:flex-start;align-items:center}.participation-detail-value{margin-right:auto}.participation-detail-date{margin-left:4px}.participation-detail-container-mobile{padding:4px 12px!important}.participation-detail-mobile-card{border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:12px}.participation-date-row{width:100%;text-align:center;padding-bottom:8px}.card-bottom-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.numbers-section{display:flex;flex-direction:column;flex:1}.numbers-list-vertical{display:flex;flex-direction:column;margin-top:4px;max-height:120px;overflow-y:auto;scrollbar-width:none}.numbers-list-vertical::-webkit-scrollbar{display:none}.number-item{padding:2px 0}.numbers-title{margin:0;text-transform:none}.card-icon-right{display:flex;justify-content:center;align-items:center;margin-left:10px}.card-icon-right mat-icon{width:50px!important;height:50px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i8.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i9.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MainTitleComponent, selector: "wapp-main-title", inputs: ["title", "extraClassToApply"] }, { kind: "component", type: i11.CarouselComponent, selector: "wapp-carousel", inputs: ["images", "allowThumbnail", "infiniteCarousel", "forceMobile", "height", "isDevModeActive", "isNoImage", "onHoverImageTooltip"], outputs: ["onSetImageEvent"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
242
|
+
WMaterialServiceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WMaterialServiceViewComponent, selector: "w-material-service-view", inputs: { forceMobile: "forceMobile", wappingServicesTranslations: "wappingServicesTranslations", disabledButtonService: "disabledButtonService", showButtonService: "showButtonService", showToggle: "showToggle", lotteryEvent: "lotteryEvent", wappingService: "wappingService", isDevModeActive: "isDevModeActive", defaultImage: "defaultImage", croppedImageConfiguration: "croppedImageConfiguration", croppedDialogTranslations: "croppedDialogTranslations", isNoImage: "isNoImage", onHoverImageTooltip: "onHoverImageTooltip" }, outputs: { wappingServiceSelected: "wappingServiceSelected", triggerButtonService: "triggerButtonService", onDefaultImageEvent: "onDefaultImageEvent" }, usesOnChanges: true, ngImport: i0, template: "<wapp-main-title [title]=\"wappingService.tile3\" *ngIf=\"wappingService && (!forceMobile)\" fxHide.xs></wapp-main-title>\r\n<div class=\"participation-detail-container\" fxLayout=\"row\" fxHide.xs fxLayoutAlign=\"center center\" *ngIf=\"isDraw && hasParticipations\">\r\n\r\n <div class=\"participation-detail-desktop-bar\" fxFlex=\"100\" xLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <span class=\"participation-detail-label\">{{ wappingServicesTranslations?.yourNumbers }}</span>\r\n <span class=\"participation-detail-value\">\r\n {{ lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds?.join(', ') }}\r\n </span>\r\n <span class=\"participation-detail-label\">{{ wappingServicesTranslations?.winnerDate }}</span>\r\n <span class=\"participation-detail-date\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'medium' }}</span>\r\n </div>\r\n\r\n</div>\r\n<div class=\"service-detail-center\" *ngIf=\"wappingService\"\r\n [ngClass]=\"{'force-mobile': forceMobile}\"\r\n [fxLayout]=\"forceMobile ? 'column' : 'row'\"\r\n [fxLayout.xs]=\"'column'\"\r\n [fxLayout.sm]=\"'column'\">\r\n <!--service image-->\r\n <div [ngClass]=\"{'service-view-no-margin': forceMobile, 'service-view': !forceMobile}\" fxLayout=\"column\">\r\n <!--tile 1-->\r\n <div *ngIf=\"!hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-image-title\">\r\n <div class=\"service-view-tile1-no-html\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div *ngIf=\"hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"template-service-image-tile service-card-image-title\">\r\n <div class=\"service-view-tile1\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <!--slideshow-->\r\n <wapp-carousel [isDevModeActive]=\"isDevModeActive\" [forceMobile]=\"forceMobile\" [images]=\"wappingServiceImages\" [isNoImage]=\"isNoImage\" (onSetImageEvent)=\"setImage()\" [onHoverImageTooltip]=\"onHoverImageTooltip\"></wapp-carousel>\r\n <!--tile 2-->\r\n <div fxFlex fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\"\r\n fxLayoutGap=\"5px\"\r\n [ngClass]=\"{'template-service-tile': hasHtml(wappingService.tile2),\r\n 'service-tile' : !hasHtml(wappingService.tile2)}\"\r\n *ngIf=\"wappingService.tile2\">\r\n <div class=\"service-view-tile2\" [innerHtml]=\"wappingService.tile2\"></div>\r\n </div>\r\n <!--activate toggle-->\r\n <mat-slide-toggle class=\"service-select-toggle\" color=\"accent\"\r\n *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard && !showButtonService && showToggle\"\r\n [disabled]=\"disabledToggle\"\r\n [(ngModel)]=\"wappingService.active\"\r\n (change)=\"selectWappingService()\">{{ serviceStatus }}</mat-slide-toggle>\r\n <button mat-flat-button *ngIf=\"showButtonService\"\r\n color=\"accent\"\r\n class=\"service-view-button\"\r\n fxFlex=\"100\" fxHide fxShow.xs\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n <div class=\"participation-detail-container-mobile\" fxHide fxShow.xs *ngIf=\"isDraw && hasParticipations\">\r\n \r\n <div class=\"participation-detail-mobile-card\">\r\n <div class=\"participation-date-row\">\r\n <span class=\"label-light\">{{ wappingServicesTranslations?.winnerDate }}</span>\r\n <span class=\"date-bold\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'dd/MM/yyyy' }}</span>\r\n </div>\r\n\r\n <div class=\"card-bottom-content\">\r\n <div class=\"numbers-section\">\r\n <span class=\"numbers-title\">{{ wappingServicesTranslations?.yourNumbers }}</span>\r\n <div class=\"numbers-list-vertical\">\r\n <div class=\"number-item\" *ngFor=\"let id of lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds\">\r\n {{ id }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-icon-right\">\r\n <mat-icon svgIcon=\"number\"></mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n \r\n </div>\r\n <!--service info-->\r\n <div class=\"service-info-container\" [ngClass]=\"{'service-info-container-padding': forceMobile}\" fxLayout=\"column\">\r\n <div class=\"service-tile-detail-container\" fxLayout=\"column\">\r\n <!--tile 3-->\r\n <div *ngIf=\"!forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\" fxHide fxShow.xs\r\n class=\"service-name mat-title\">\r\n </div>\r\n <div *ngIf=\"forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\"\r\n class=\"service-name mat-title\">\r\n </div>\r\n <!--tileDetail 1-->\r\n <div class=\"service-tile-detail\" fxLayout=\"row\">\r\n <span [innerHtml]=\"wappingService.tileDetail1\"></span>\r\n </div>\r\n <div class=\"service-view-container-button\" fxHide.xs *ngIf=\"showButtonService\">\r\n <button mat-flat-button\r\n class=\"service-view-button\"\r\n color=\"accent\"\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <!--link-->\r\n <div class=\"service-link-container\" *ngIf=\"wappingService.titleLinkUrl && wappingService.linkUrl\">\r\n <a class=\"service-link\" href=\"{{wappingService.linkUrl}}\" target=\"_blank\">\r\n <mat-icon class=\"service-link-icon\" svgIcon=\"share_square\"></mat-icon><span>{{wappingService.titleLinkUrl}}</span>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n</div>", styles: [".back-button{width:20px!important;height:20px!important;background-color:#a5000000;padding:0;border:none;cursor:pointer}.back-button-over-image{width:37px!important;height:37px!important;background-color:#ffffffb0;position:absolute;top:13px;left:11px;z-index:10;border-radius:50%;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer}::ng-deep .back-button .mat-button-wrapper,::ng-deep .back-button-over-image .mat-button-wrapper{padding:4px 0!important}.back-button .mat-button-wrapper,.back-button-over-image .mat-button-wrapper{line-height:14px!important}.back-button .mat-icon{width:20px;height:20px}.back-button-over-image .mat-icon{width:16px;height:16px}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:before{background:var(--mdc-switch-unselected-track-color, #a50000)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #fff))!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:after{background:var(--mdc-switch-selected-hover-track-color, #10c638)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-unselected-handle-color, #fff)!important}:host ::ng-deep .mdc-form-field>label{font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch{margin-right:8px!important}@media (max-width: 959px){.service-detail-center{align-items:center}}.service-view{position:relative;margin-right:30px}.service-view-no-margin{position:relative;margin-right:0!important}@media (min-width: 600px) and (max-width: 959px){.service-view{margin-right:0;width:100%}}@media (max-width: 599px){.service-view{margin-right:0;width:100%}}.service-image-tile,.template-service-image-tile{position:absolute!important;width:100%!important;min-height:32px!important;top:0!important;z-index:9!important}.service-image-title{position:absolute;top:0!important;right:0!important;left:0!important;z-index:2;margin:0 60px!important;min-height:22px!important;border-radius:0 0 4.3118px 4.3118px!important;background-color:#0e0c0c;color:#fff;display:flex;justify-content:center;align-items:center;padding:4px}.service-view-tile1-no-html{justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important}.service-view-tile1{width:100%;min-height:32px}.service-tile{background-color:#0e0c0c;color:#fff;padding:14px;max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.template-service-tile{max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.service-tile-border-bottom-radius{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.service-view-tile2{width:100%}::ng-deep .service-view-tile2 *{box-sizing:border-box!important}.service-select-toggle{margin-top:25px;margin-right:auto;margin-left:auto;display:flex;align-items:center;text-align:left;max-width:none!important}.service-select-toggle *{max-width:none!important}.service-view-button{padding:10px 20px!important;align-items:center;justify-content:center}.service-view-button .mat-button-wrapper{display:flex!important;align-items:center;justify-content:center;gap:8px}.service-view-button .service-view-participate{display:flex}@media (max-width: 599px){.service-view-button{margin:8px 12px!important}}@media (min-width: 600px){.service-view-button{padding:10px 34px!important;height:auto!important;line-height:normal!important;min-width:150px}}.service-view-container-button{display:flex;justify-content:flex-start;align-items:start}.service-info-container{width:100%}.service-info-container-padding{padding-right:15px;padding-left:15px}@media (max-width: 599px){.service-info-container{padding-right:15px;padding-left:15px}}.service-name{margin-top:0;text-align:justify;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-name{margin-top:30px;margin-right:0}}@media (max-width: 599px){.service-name{margin-top:30px;margin-right:0}}.service-description{margin-top:0;text-align:left;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-description{margin-top:20px;margin-right:0}}@media (max-width: 599px){.service-description{margin-top:15px;margin-right:0}}.service-show-more-container{margin-top:5px;width:-moz-fit-content;width:fit-content;align-items:center;cursor:pointer;display:flex;text-align:left}.service-show-more-vector{width:5px!important;margin-left:10px}.service-tile-detail-container{margin-top:5px;display:flex;text-align:justify}@media (max-width: 599px){.service-tile-detail-container{margin-top:20px}}.service-tile-detail{margin-top:20px;font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}@media (max-width: 599px){.service-tile-detail{margin-top:20px}}.service-tile-detail-icon{margin-right:10px}.service-link-container{height:100%;justify-content:flex-end;align-items:flex-end;display:flex;text-align:justify}@media (max-width: 599px){.service-link-container{margin-top:20px;justify-content:flex-start}}.service-link{display:flex;align-items:center;cursor:pointer;text-decoration:none;color:inherit}.service-link-icon{margin-right:10px}.service-options-container{border-top:1px solid #eee;margin-top:80px}@media (max-width: 599px){.service-options-container{margin-top:40px;padding-right:15px;padding-left:15px}}.service-option{height:48px;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;text-align:left}.service-option-vector{width:10px!important}.actions-container{margin-top:40px}.actions-button{display:flex;align-items:center;text-align:justify}.actions-button-text{margin-left:10px}.sendLabel{margin:10px auto;display:flex;justify-content:center;align-items:center;text-align:center}.sendCard-container{flex-wrap:wrap}.sendCard-container mat-icon{width:24px}@media (min-width: 600px){.sendCard-container{display:flex;justify-content:flex-end}.sentCard-container{display:flex;justify-content:end}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:8px}}@media (max-width: 599px){.sendCard-container{display:flex;justify-content:center}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:0}.sentCard-container{display:flex;justify-content:space-evenly}}.participation-detail-container{margin:16px 0;width:100%}.participation-detail-desktop-bar{border-radius:8px;padding:12px 24px;box-shadow:0 2px 4px #0000000d;gap:8px;display:flex;justify-content:flex-start;align-items:center}.participation-detail-value{margin-right:auto}.participation-detail-date{margin-left:4px}.participation-detail-container-mobile{padding:4px 12px!important}.participation-detail-mobile-card{border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:12px}.participation-date-row{width:100%;text-align:center;padding-bottom:8px}.card-bottom-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.numbers-section{display:flex;flex-direction:column;flex:1}.numbers-list-vertical{display:flex;flex-direction:column;margin-top:4px;max-height:120px;overflow-y:auto;scrollbar-width:none}.numbers-list-vertical::-webkit-scrollbar{display:none}.number-item{padding:2px 0}.numbers-title{margin:0;text-transform:none}.card-icon-right{display:flex;justify-content:center;align-items:center;margin-left:10px}.card-icon-right mat-icon{width:50px!important;height:50px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i8.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i9.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MainTitleComponent, selector: "wapp-main-title", inputs: ["title", "extraClassToApply"] }, { kind: "component", type: i11.CarouselComponent, selector: "wapp-carousel", inputs: ["images", "allowThumbnail", "infiniteCarousel", "forceMobile", "height", "isDevModeActive", "isNoImage", "onHoverImageTooltip"], outputs: ["onSetImageEvent"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
241
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WMaterialServiceViewComponent, decorators: [{
|
|
242
244
|
type: Component,
|
|
243
|
-
args: [{ selector: 'w-material-service-view', encapsulation: ViewEncapsulation.None, template: "<wapp-main-title [title]=\"wappingService.tile3\" *ngIf=\"wappingService && (!forceMobile)\" fxHide.xs></wapp-main-title>\r\n<div class=\"participation-detail-container\" fxLayout=\"row\" fxHide.xs fxLayoutAlign=\"center center\" *ngIf=\"isDraw && hasParticipations\">\r\n\r\n <div class=\"participation-detail-desktop-bar\" fxFlex=\"100\" xLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <span class=\"participation-detail-label\">Tus n\u00FAmeros:</span>\r\n <span class=\"participation-detail-value\">\r\n {{ lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds?.join(', ') }}\r\n </span>\r\n <span class=\"participation-detail-label\">El ganador se decidir\u00E1 el:</span>\r\n <span class=\"participation-detail-date\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'medium' }}</span>\r\n </div>\r\n\r\n</div>\r\n<div class=\"service-detail-center\" *ngIf=\"wappingService\"\r\n [ngClass]=\"{'force-mobile': forceMobile}\"\r\n [fxLayout]=\"forceMobile ? 'column' : 'row'\"\r\n [fxLayout.xs]=\"'column'\"\r\n [fxLayout.sm]=\"'column'\">\r\n <!--service image-->\r\n <div [ngClass]=\"{'service-view-no-margin': forceMobile, 'service-view': !forceMobile}\" fxLayout=\"column\">\r\n <!--tile 1-->\r\n <div *ngIf=\"!hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-image-title\">\r\n <div class=\"service-view-tile1-no-html\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div *ngIf=\"hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"template-service-image-tile service-card-image-title\">\r\n <div class=\"service-view-tile1\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <!--slideshow-->\r\n <wapp-carousel [isDevModeActive]=\"isDevModeActive\" [forceMobile]=\"forceMobile\" [images]=\"wappingServiceImages\" [isNoImage]=\"isNoImage\" (onSetImageEvent)=\"setImage()\" [onHoverImageTooltip]=\"onHoverImageTooltip\"></wapp-carousel>\r\n <!--tile 2-->\r\n <div fxFlex fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\"\r\n fxLayoutGap=\"5px\"\r\n [ngClass]=\"{'template-service-tile': hasHtml(wappingService.tile2),\r\n 'service-tile' : !hasHtml(wappingService.tile2)}\"\r\n *ngIf=\"wappingService.tile2\">\r\n <div class=\"service-view-tile2\" [innerHtml]=\"wappingService.tile2\"></div>\r\n </div>\r\n <!--activate toggle-->\r\n <mat-slide-toggle class=\"service-select-toggle\" color=\"accent\"\r\n *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard && !showButtonService && showToggle\"\r\n [disabled]=\"disabledToggle\"\r\n [(ngModel)]=\"wappingService.active\"\r\n (change)=\"selectWappingService()\">{{ serviceStatus }}</mat-slide-toggle>\r\n <button mat-flat-button *ngIf=\"showButtonService\"\r\n color=\"accent\"\r\n class=\"service-view-button\"\r\n fxFlex=\"100\" fxHide fxShow.xs\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n <div class=\"participation-detail-container-mobile\" fxHide fxShow.xs *ngIf=\"isDraw && hasParticipations\">\r\n \r\n <div class=\"participation-detail-mobile-card\">\r\n <div class=\"participation-date-row\">\r\n <span class=\"label-light\">El ganador se decidir\u00E1 el </span>\r\n <span class=\"date-bold\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'dd/MM/yyyy' }}</span>\r\n </div>\r\n\r\n <div class=\"card-bottom-content\">\r\n <div class=\"numbers-section\">\r\n <span class=\"numbers-title\">Tus n\u00FAmeros</span>\r\n <div class=\"numbers-list-vertical\">\r\n <div class=\"number-item\" *ngFor=\"let id of lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds\">\r\n {{ id }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-icon-right\">\r\n <mat-icon svgIcon=\"number\"></mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n \r\n </div>\r\n <!--service info-->\r\n <div class=\"service-info-container\" [ngClass]=\"{'service-info-container-padding': forceMobile}\" fxLayout=\"column\">\r\n <div class=\"service-tile-detail-container\" fxLayout=\"column\">\r\n <!--tile 3-->\r\n <div *ngIf=\"!forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\" fxHide fxShow.xs\r\n class=\"service-name mat-title\">\r\n </div>\r\n <div *ngIf=\"forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\"\r\n class=\"service-name mat-title\">\r\n </div>\r\n <!--tileDetail 1-->\r\n <div class=\"service-tile-detail\" fxLayout=\"row\">\r\n <span [innerHtml]=\"wappingService.tileDetail1\"></span>\r\n </div>\r\n <div class=\"service-view-container-button\" fxHide.xs *ngIf=\"showButtonService\">\r\n <button mat-flat-button\r\n class=\"service-view-button\"\r\n color=\"accent\"\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <!--link-->\r\n <div class=\"service-link-container\" *ngIf=\"wappingService.titleLinkUrl && wappingService.linkUrl\">\r\n <a class=\"service-link\" href=\"{{wappingService.linkUrl}}\" target=\"_blank\">\r\n <mat-icon class=\"service-link-icon\" svgIcon=\"share_square\"></mat-icon><span>{{wappingService.titleLinkUrl}}</span>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n</div>", styles: [".back-button{width:20px!important;height:20px!important;background-color:#a5000000;padding:0;border:none;cursor:pointer}.back-button-over-image{width:37px!important;height:37px!important;background-color:#ffffffb0;position:absolute;top:13px;left:11px;z-index:10;border-radius:50%;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer}::ng-deep .back-button .mat-button-wrapper,::ng-deep .back-button-over-image .mat-button-wrapper{padding:4px 0!important}.back-button .mat-button-wrapper,.back-button-over-image .mat-button-wrapper{line-height:14px!important}.back-button .mat-icon{width:20px;height:20px}.back-button-over-image .mat-icon{width:16px;height:16px}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:before{background:var(--mdc-switch-unselected-track-color, #a50000)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #fff))!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:after{background:var(--mdc-switch-selected-hover-track-color, #10c638)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-unselected-handle-color, #fff)!important}:host ::ng-deep .mdc-form-field>label{font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch{margin-right:8px!important}@media (max-width: 959px){.service-detail-center{align-items:center}}.service-view{position:relative;margin-right:30px}.service-view-no-margin{position:relative;margin-right:0!important}@media (min-width: 600px) and (max-width: 959px){.service-view{margin-right:0;width:100%}}@media (max-width: 599px){.service-view{margin-right:0;width:100%}}.service-image-tile,.template-service-image-tile{position:absolute!important;width:100%!important;min-height:32px!important;top:0!important;z-index:9!important}.service-image-title{position:absolute;top:0!important;right:0!important;left:0!important;z-index:2;margin:0 60px!important;min-height:22px!important;border-radius:0 0 4.3118px 4.3118px!important;background-color:#0e0c0c;color:#fff;display:flex;justify-content:center;align-items:center;padding:4px}.service-view-tile1-no-html{justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important}.service-view-tile1{width:100%;min-height:32px}.service-tile{background-color:#0e0c0c;color:#fff;padding:14px;max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.template-service-tile{max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.service-tile-border-bottom-radius{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.service-view-tile2{width:100%}::ng-deep .service-view-tile2 *{box-sizing:border-box!important}.service-select-toggle{margin-top:25px;margin-right:auto;margin-left:auto;display:flex;align-items:center;text-align:left;max-width:none!important}.service-select-toggle *{max-width:none!important}.service-view-button{padding:10px 20px!important;align-items:center;justify-content:center}.service-view-button .mat-button-wrapper{display:flex!important;align-items:center;justify-content:center;gap:8px}.service-view-button .service-view-participate{display:flex}@media (max-width: 599px){.service-view-button{margin:8px 12px!important}}@media (min-width: 600px){.service-view-button{padding:10px 34px!important;height:auto!important;line-height:normal!important;min-width:150px}}.service-view-container-button{display:flex;justify-content:flex-start;align-items:start}.service-info-container{width:100%}.service-info-container-padding{padding-right:15px;padding-left:15px}@media (max-width: 599px){.service-info-container{padding-right:15px;padding-left:15px}}.service-name{margin-top:0;text-align:justify;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-name{margin-top:30px;margin-right:0}}@media (max-width: 599px){.service-name{margin-top:30px;margin-right:0}}.service-description{margin-top:0;text-align:left;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-description{margin-top:20px;margin-right:0}}@media (max-width: 599px){.service-description{margin-top:15px;margin-right:0}}.service-show-more-container{margin-top:5px;width:-moz-fit-content;width:fit-content;align-items:center;cursor:pointer;display:flex;text-align:left}.service-show-more-vector{width:5px!important;margin-left:10px}.service-tile-detail-container{margin-top:5px;display:flex;text-align:justify}@media (max-width: 599px){.service-tile-detail-container{margin-top:20px}}.service-tile-detail{margin-top:20px;font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}@media (max-width: 599px){.service-tile-detail{margin-top:20px}}.service-tile-detail-icon{margin-right:10px}.service-link-container{height:100%;justify-content:flex-end;align-items:flex-end;display:flex;text-align:justify}@media (max-width: 599px){.service-link-container{margin-top:20px;justify-content:flex-start}}.service-link{display:flex;align-items:center;cursor:pointer;text-decoration:none;color:inherit}.service-link-icon{margin-right:10px}.service-options-container{border-top:1px solid #eee;margin-top:80px}@media (max-width: 599px){.service-options-container{margin-top:40px;padding-right:15px;padding-left:15px}}.service-option{height:48px;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;text-align:left}.service-option-vector{width:10px!important}.actions-container{margin-top:40px}.actions-button{display:flex;align-items:center;text-align:justify}.actions-button-text{margin-left:10px}.sendLabel{margin:10px auto;display:flex;justify-content:center;align-items:center;text-align:center}.sendCard-container{flex-wrap:wrap}.sendCard-container mat-icon{width:24px}@media (min-width: 600px){.sendCard-container{display:flex;justify-content:flex-end}.sentCard-container{display:flex;justify-content:end}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:8px}}@media (max-width: 599px){.sendCard-container{display:flex;justify-content:center}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:0}.sentCard-container{display:flex;justify-content:space-evenly}}.participation-detail-container{margin:16px 0;width:100%}.participation-detail-desktop-bar{border-radius:8px;padding:12px 24px;box-shadow:0 2px 4px #0000000d;gap:8px;display:flex;justify-content:flex-start;align-items:center}.participation-detail-value{margin-right:auto}.participation-detail-date{margin-left:4px}.participation-detail-container-mobile{padding:4px 12px!important}.participation-detail-mobile-card{border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:12px}.participation-date-row{width:100%;text-align:center;padding-bottom:8px}.card-bottom-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.numbers-section{display:flex;flex-direction:column;flex:1}.numbers-list-vertical{display:flex;flex-direction:column;margin-top:4px;max-height:120px;overflow-y:auto;scrollbar-width:none}.numbers-list-vertical::-webkit-scrollbar{display:none}.number-item{padding:2px 0}.numbers-title{margin:0;text-transform:none}.card-icon-right{display:flex;justify-content:center;align-items:center;margin-left:10px}.card-icon-right mat-icon{width:50px!important;height:50px!important}\n"] }]
|
|
245
|
+
args: [{ selector: 'w-material-service-view', encapsulation: ViewEncapsulation.None, template: "<wapp-main-title [title]=\"wappingService.tile3\" *ngIf=\"wappingService && (!forceMobile)\" fxHide.xs></wapp-main-title>\r\n<div class=\"participation-detail-container\" fxLayout=\"row\" fxHide.xs fxLayoutAlign=\"center center\" *ngIf=\"isDraw && hasParticipations\">\r\n\r\n <div class=\"participation-detail-desktop-bar\" fxFlex=\"100\" xLayout=\"row\" fxLayoutAlign=\"center center\">\r\n <span class=\"participation-detail-label\">{{ wappingServicesTranslations?.yourNumbers }}</span>\r\n <span class=\"participation-detail-value\">\r\n {{ lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds?.join(', ') }}\r\n </span>\r\n <span class=\"participation-detail-label\">{{ wappingServicesTranslations?.winnerDate }}</span>\r\n <span class=\"participation-detail-date\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'medium' }}</span>\r\n </div>\r\n\r\n</div>\r\n<div class=\"service-detail-center\" *ngIf=\"wappingService\"\r\n [ngClass]=\"{'force-mobile': forceMobile}\"\r\n [fxLayout]=\"forceMobile ? 'column' : 'row'\"\r\n [fxLayout.xs]=\"'column'\"\r\n [fxLayout.sm]=\"'column'\">\r\n <!--service image-->\r\n <div [ngClass]=\"{'service-view-no-margin': forceMobile, 'service-view': !forceMobile}\" fxLayout=\"column\">\r\n <!--tile 1-->\r\n <div *ngIf=\"!hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-image-title\">\r\n <div class=\"service-view-tile1-no-html\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div *ngIf=\"hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"template-service-image-tile service-card-image-title\">\r\n <div class=\"service-view-tile1\" [innerHTML]=\"wappingService.tile1\"></div>\r\n </div>\r\n <!--slideshow-->\r\n <wapp-carousel [isDevModeActive]=\"isDevModeActive\" [forceMobile]=\"forceMobile\" [images]=\"wappingServiceImages\" [isNoImage]=\"isNoImage\" (onSetImageEvent)=\"setImage()\" [onHoverImageTooltip]=\"onHoverImageTooltip\"></wapp-carousel>\r\n <!--tile 2-->\r\n <div fxFlex fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\"\r\n fxLayoutGap=\"5px\"\r\n [ngClass]=\"{'template-service-tile': hasHtml(wappingService.tile2),\r\n 'service-tile' : !hasHtml(wappingService.tile2)}\"\r\n *ngIf=\"wappingService.tile2\">\r\n <div class=\"service-view-tile2\" [innerHtml]=\"wappingService.tile2\"></div>\r\n </div>\r\n <!--activate toggle-->\r\n <mat-slide-toggle class=\"service-select-toggle\" color=\"accent\"\r\n *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard && !showButtonService && showToggle\"\r\n [disabled]=\"disabledToggle\"\r\n [(ngModel)]=\"wappingService.active\"\r\n (change)=\"selectWappingService()\">{{ serviceStatus }}</mat-slide-toggle>\r\n <button mat-flat-button *ngIf=\"showButtonService\"\r\n color=\"accent\"\r\n class=\"service-view-button\"\r\n fxFlex=\"100\" fxHide fxShow.xs\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n <div class=\"participation-detail-container-mobile\" fxHide fxShow.xs *ngIf=\"isDraw && hasParticipations\">\r\n \r\n <div class=\"participation-detail-mobile-card\">\r\n <div class=\"participation-date-row\">\r\n <span class=\"label-light\">{{ wappingServicesTranslations?.winnerDate }}</span>\r\n <span class=\"date-bold\">{{ lotteryEvent?.lotteryEventNextDraw?.drawDate | date:'dd/MM/yyyy' }}</span>\r\n </div>\r\n\r\n <div class=\"card-bottom-content\">\r\n <div class=\"numbers-section\">\r\n <span class=\"numbers-title\">{{ wappingServicesTranslations?.yourNumbers }}</span>\r\n <div class=\"numbers-list-vertical\">\r\n <div class=\"number-item\" *ngFor=\"let id of lotteryEvent?.lotteryEventNextDraw?.skyWappCardTransactionIds\">\r\n {{ id }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-icon-right\">\r\n <mat-icon svgIcon=\"number\"></mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n \r\n </div>\r\n <!--service info-->\r\n <div class=\"service-info-container\" [ngClass]=\"{'service-info-container-padding': forceMobile}\" fxLayout=\"column\">\r\n <div class=\"service-tile-detail-container\" fxLayout=\"column\">\r\n <!--tile 3-->\r\n <div *ngIf=\"!forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\" fxHide fxShow.xs\r\n class=\"service-name mat-title\">\r\n </div>\r\n <div *ngIf=\"forceMobile\"\r\n [innerHtml]=\"wappingService.tile3\"\r\n class=\"service-name mat-title\">\r\n </div>\r\n <!--tileDetail 1-->\r\n <div class=\"service-tile-detail\" fxLayout=\"row\">\r\n <span [innerHtml]=\"wappingService.tileDetail1\"></span>\r\n </div>\r\n <div class=\"service-view-container-button\" fxHide.xs *ngIf=\"showButtonService\">\r\n <button mat-flat-button\r\n class=\"service-view-button\"\r\n color=\"accent\"\r\n [disabled]=\"disabledButtonService\"\r\n (click)=\"pressButtonService()\">\r\n <div class=\"service-view-participate\" *ngIf=\"isDraw\">\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"firstParticipation\" svgIcon=\"participate\"></mat-icon>\r\n <mat-icon class=\"service-view-participation-icon\" *ngIf=\"!firstParticipation\" svgIcon=\"participate-again\"></mat-icon>\r\n </div>\r\n <span class=\"service-view-button-label\">{{ wappingServicesTranslations?.buttonService }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n <!--link-->\r\n <div class=\"service-link-container\" *ngIf=\"wappingService.titleLinkUrl && wappingService.linkUrl\">\r\n <a class=\"service-link\" href=\"{{wappingService.linkUrl}}\" target=\"_blank\">\r\n <mat-icon class=\"service-link-icon\" svgIcon=\"share_square\"></mat-icon><span>{{wappingService.titleLinkUrl}}</span>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n</div>", styles: [".back-button{width:20px!important;height:20px!important;background-color:#a5000000;padding:0;border:none;cursor:pointer}.back-button-over-image{width:37px!important;height:37px!important;background-color:#ffffffb0;position:absolute;top:13px;left:11px;z-index:10;border-radius:50%;border:none;display:flex;justify-content:center;align-items:center;cursor:pointer}::ng-deep .back-button .mat-button-wrapper,::ng-deep .back-button-over-image .mat-button-wrapper{padding:4px 0!important}.back-button .mat-button-wrapper,.back-button-over-image .mat-button-wrapper{line-height:14px!important}.back-button .mat-icon{width:20px;height:20px}.back-button-over-image .mat-icon{width:16px;height:16px}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:before{background:var(--mdc-switch-unselected-track-color, #a50000)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #fff))!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track:after{background:var(--mdc-switch-selected-hover-track-color, #10c638)!important}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle:after{background:var(--mdc-switch-unselected-handle-color, #fff)!important}:host ::ng-deep .mdc-form-field>label{font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch{margin-right:8px!important}@media (max-width: 959px){.service-detail-center{align-items:center}}.service-view{position:relative;margin-right:30px}.service-view-no-margin{position:relative;margin-right:0!important}@media (min-width: 600px) and (max-width: 959px){.service-view{margin-right:0;width:100%}}@media (max-width: 599px){.service-view{margin-right:0;width:100%}}.service-image-tile,.template-service-image-tile{position:absolute!important;width:100%!important;min-height:32px!important;top:0!important;z-index:9!important}.service-image-title{position:absolute;top:0!important;right:0!important;left:0!important;z-index:2;margin:0 60px!important;min-height:22px!important;border-radius:0 0 4.3118px 4.3118px!important;background-color:#0e0c0c;color:#fff;display:flex;justify-content:center;align-items:center;padding:4px}.service-view-tile1-no-html{justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important}.service-view-tile1{width:100%;min-height:32px}.service-tile{background-color:#0e0c0c;color:#fff;padding:14px;max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.template-service-tile{max-height:48px;display:flex;align-items:center;text-align:center;font:400 15px/17px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;text-transform:uppercase}.service-tile-border-bottom-radius{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.service-view-tile2{width:100%}::ng-deep .service-view-tile2 *{box-sizing:border-box!important}.service-select-toggle{margin-top:25px;margin-right:auto;margin-left:auto;display:flex;align-items:center;text-align:left;max-width:none!important}.service-select-toggle *{max-width:none!important}.service-view-button{padding:10px 20px!important;align-items:center;justify-content:center}.service-view-button .mat-button-wrapper{display:flex!important;align-items:center;justify-content:center;gap:8px}.service-view-button .service-view-participate{display:flex}@media (max-width: 599px){.service-view-button{margin:8px 12px!important}}@media (min-width: 600px){.service-view-button{padding:10px 34px!important;height:auto!important;line-height:normal!important;min-width:150px}}.service-view-container-button{display:flex;justify-content:flex-start;align-items:start}.service-info-container{width:100%}.service-info-container-padding{padding-right:15px;padding-left:15px}@media (max-width: 599px){.service-info-container{padding-right:15px;padding-left:15px}}.service-name{margin-top:0;text-align:justify;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-name{margin-top:30px;margin-right:0}}@media (max-width: 599px){.service-name{margin-top:30px;margin-right:0}}.service-description{margin-top:0;text-align:left;white-space:pre-line;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical}@media (min-width: 600px) and (max-width: 959px){.service-description{margin-top:20px;margin-right:0}}@media (max-width: 599px){.service-description{margin-top:15px;margin-right:0}}.service-show-more-container{margin-top:5px;width:-moz-fit-content;width:fit-content;align-items:center;cursor:pointer;display:flex;text-align:left}.service-show-more-vector{width:5px!important;margin-left:10px}.service-tile-detail-container{margin-top:5px;display:flex;text-align:justify}@media (max-width: 599px){.service-tile-detail-container{margin-top:20px}}.service-tile-detail{margin-top:20px;font:400 14px/25px Inter,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}@media (max-width: 599px){.service-tile-detail{margin-top:20px}}.service-tile-detail-icon{margin-right:10px}.service-link-container{height:100%;justify-content:flex-end;align-items:flex-end;display:flex;text-align:justify}@media (max-width: 599px){.service-link-container{margin-top:20px;justify-content:flex-start}}.service-link{display:flex;align-items:center;cursor:pointer;text-decoration:none;color:inherit}.service-link-icon{margin-right:10px}.service-options-container{border-top:1px solid #eee;margin-top:80px}@media (max-width: 599px){.service-options-container{margin-top:40px;padding-right:15px;padding-left:15px}}.service-option{height:48px;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;text-align:left}.service-option-vector{width:10px!important}.actions-container{margin-top:40px}.actions-button{display:flex;align-items:center;text-align:justify}.actions-button-text{margin-left:10px}.sendLabel{margin:10px auto;display:flex;justify-content:center;align-items:center;text-align:center}.sendCard-container{flex-wrap:wrap}.sendCard-container mat-icon{width:24px}@media (min-width: 600px){.sendCard-container{display:flex;justify-content:flex-end}.sentCard-container{display:flex;justify-content:end}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:8px}}@media (max-width: 599px){.sendCard-container{display:flex;justify-content:center}.send-button{width:auto;display:flex;justify-content:center;align-items:center;margin-left:0}.sentCard-container{display:flex;justify-content:space-evenly}}.participation-detail-container{margin:16px 0;width:100%}.participation-detail-desktop-bar{border-radius:8px;padding:12px 24px;box-shadow:0 2px 4px #0000000d;gap:8px;display:flex;justify-content:flex-start;align-items:center}.participation-detail-value{margin-right:auto}.participation-detail-date{margin-left:4px}.participation-detail-container-mobile{padding:4px 12px!important}.participation-detail-mobile-card{border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:12px}.participation-date-row{width:100%;text-align:center;padding-bottom:8px}.card-bottom-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.numbers-section{display:flex;flex-direction:column;flex:1}.numbers-list-vertical{display:flex;flex-direction:column;margin-top:4px;max-height:120px;overflow-y:auto;scrollbar-width:none}.numbers-list-vertical::-webkit-scrollbar{display:none}.number-item{padding:2px 0}.numbers-title{margin:0;text-transform:none}.card-icon-right{display:flex;justify-content:center;align-items:center;margin-left:10px}.card-icon-right mat-icon{width:50px!important;height:50px!important}\n"] }]
|
|
244
246
|
}], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }, { type: i3.DialogService }]; }, propDecorators: { forceMobile: [{
|
|
245
247
|
type: Input
|
|
246
248
|
}], wappingServicesTranslations: [{
|
|
@@ -281,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
281
283
|
}], onHoverImageTooltip: [{
|
|
282
284
|
type: Input
|
|
283
285
|
}] } });
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVILE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFRN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTOUYsTUFBTSxPQUFPLDZCQUE2QjtJQStCeEMsSUFBMkIsWUFBWSxDQUFDLEtBQTBDO1FBQ2hGLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUcsS0FBSztZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFJRCxJQUFhLGNBQWMsQ0FBQyxLQUFxQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFHLEtBQUs7WUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVE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QkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3dhcHBpbmctc2VydmljZSc7XHJcbmltcG9ydCB7IFdhcHBpbmdTZXJ2aWNlSW1hZ2UgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3dhcHBpbmctc2VydmljZS1pbWFnZSc7XHJcbmltcG9ydCB7IENhcmRTdGF0dXMsIFNlbmRpbmdTdGF0dXMsIFdhcHBpbmdTZXJ2aWNlVHlwZSB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvZW51bXMubW9kZWwnO1xyXG5pbXBvcnQgeyBXYXBwaW5nU2VydmljZVRyYW5zbGF0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLXRyYW5zbGF0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBXYXBwaW5nU2VydmljZVRlbXBsYXRlIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy93YXBwaW5nLXNlcnZpY2UtdGVtcGxhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFdGaWxlQjY0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy93LWZpbGUtYjY0Lm1vZGVsJztcclxuaW1wb3J0IHsgV0ltYWdlQ3JvcHBlckRhdGEgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL3ctaW1hZ2UtY3JvcHBlci1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgV0ltYWdlQ3JvcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ZpbGUvdy1pbWFnZS1jcm9wcGVyL3ctaW1hZ2UtY3JvcHBlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXYWxsZXRMb3R0ZXJ5UGFydGljaXBhdGlvbnNSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FsbGV0LWxvdHRlcnktcGFydGljaXBhdGlvbnMtcmVzcG9uc2UubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LW1hdGVyaWFsLXNlcnZpY2UtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ctbWF0ZXJpYWwtc2VydmljZS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LW1hdGVyaWFsLXNlcnZpY2Utdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFdNYXRlcmlhbFNlcnZpY2VWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBzZXJ2aWNlSWQhOiBudW1iZXI7XHJcbiAgd2FwcGluZ1NlcnZpY2VJbWFnZXMhOiBXYXBwaW5nU2VydmljZUltYWdlW107XHJcbiAgc2VydmljZVN0YXR1cyE6IHN0cmluZztcclxuICBpc1NlbmRHaWZ0Q2FyZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc2FibGVkVG9nZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWxsb3dTZWxlY3RTZW5kR2lmdENhcmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGVudW1TZW5kaW5nU3RhdHVzOiB0eXBlb2YgU2VuZGluZ1N0YXR1cyA9IFNlbmRpbmdTdGF0dXM7XHJcbiAgZWNhcmRTdGF0dXM6IHR5cGVvZiBDYXJkU3RhdHVzID0gQ2FyZFN0YXR1c1xyXG4gIHRyYW5zbGF0aW9uczogYW55O1xyXG4gIFxyXG4gIEBJbnB1dCgpIGZvcmNlTW9iaWxlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zJykgd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zOiBXYXBwaW5nU2VydmljZVRyYW5zbGF0aW9ucyA9IHtcclxuICAgIGFjdGl2ZWRTZXJ2aWNlOiAnQWN0aXZhZGEnLFxyXG4gICAgZGlzYWJsZWRTZXJ2aWNlOiAnRGVzYWN0aXZhZGEnLFxyXG4gICAgc2NoZWR1bGVkTGFiZWw6ICdQcm9ncmFtYWRhIHBhcmEgZW52aWFyIGEge3tuYW1lfX0nLFxyXG4gICAgc2VuZExhYmVsOiAnRW52aWFkYSBhIHt7bmFtZX19JyxcclxuICAgIGNhcmRHZW5lcmF0ZWQ6ICdUdSB0YXJqZXRhIGVzdGFyw6EgZGlzcG9uaWJsZSBwYXJhIGVsIGVudsOtbyBlbiBicmV2ZXMgaW5zdGFudGVzJyxcclxuICAgIHJlY2VpdmVkTGFiZWw6IFwiRW52aWFkYSBwb3Ige3tuYW1lfX1cIixcclxuICAgIHNob3dNb3JlOiBcIk1vc3RyYXIgbcOhc1wiLFxyXG4gICAgYnV0dG9uU2VydmljZTogXCJQYXJ0aWNpcGFyXCJcclxuICB9O1xyXG4gIFxyXG4gIEBJbnB1dCgnZGlzYWJsZWRCdXR0b25TZXJ2aWNlJykgZGlzYWJsZWRCdXR0b25TZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCdzaG93QnV0dG9uU2VydmljZScpIHNob3dCdXR0b25TZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCdzaG93VG9nZ2xlJykgc2hvd1RvZ2dsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX2xvdHRlcnlFdmVudCE6IFdhbGxldExvdHRlcnlQYXJ0aWNpcGF0aW9uc1Jlc3BvbnNlO1xyXG5cclxuICBASW5wdXQoJ2xvdHRlcnlFdmVudCcpIHNldCBsb3R0ZXJ5RXZlbnQodmFsdWU6IFdhbGxldExvdHRlcnlQYXJ0aWNpcGF0aW9uc1Jlc3BvbnNlKSB7XHJcbiAgICB0aGlzLl9sb3R0ZXJ5RXZlbnQgPSB2YWx1ZTtcclxuICAgIGlmKHZhbHVlKSB0aGlzLmV2YWx1YXRlRHJhdygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxvdHRlcnlFdmVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9sb3R0ZXJ5RXZlbnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YXBwaW5nU2VydmljZSE6IFdhcHBpbmdTZXJ2aWNlO1xyXG5cclxuICBASW5wdXQoKSBzZXQgd2FwcGluZ1NlcnZpY2UodmFsdWU6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLl93YXBwaW5nU2VydmljZSA9IHZhbHVlO1xyXG4gICAgaWYodmFsdWUpIHRoaXMuZ2V0V2FwcGluZ1NlcnZpY2UodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdhcHBpbmdTZXJ2aWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dhcHBpbmdTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgnd2FwcGluZ1NlcnZpY2VTZWxlY3RlZCcpIHdhcHBpbmdTZXJ2aWNlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgndHJpZ2dlckJ1dHRvblNlcnZpY2UnKSB0cmlnZ2VyQnV0dG9uU2VydmljZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQElucHV0KCkgaXNEZXZNb2RlQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVmYXVsdEltYWdlITogV0ZpbGVCNjQgfCBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGNyb3BwZWRJbWFnZUNvbmZpZ3VyYXRpb246IFdJbWFnZUNyb3BwZXJEYXRhID0ge1xyXG4gICAgcm91bmRlZENyb3BwZXI6IGZhbHNlLCBcclxuICAgIGNvbmZpZ3VyZWRBc3BlY3RSYXRpbzogNC8zLCBcclxuICAgIHZpZXdQb3J0SGVpaHRQeDogNjAwLCBcclxuICAgIHZpZXdQb3J0V2lkdGhQeDogODAwLCBcclxuICAgIG1heEZpbGVTaXplOiAyMDAwXHJcbiAgfTtcclxuICBcclxuICBASW5wdXQoKSBjcm9wcGVkRGlhbG9nVHJhbnNsYXRpb25zOiBhbnk7XHJcbiAgaW1hZ2VzOiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBvbkRlZmF1bHRJbWFnZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXRmlsZUI2ND4oKTtcclxuICBASW5wdXQoKSBpc05vSW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvbkhvdmVySW1hZ2VUb29sdGlwOiBzdHJpbmcgPSAnVXBsb2FkIGltYWdlJztcclxuXHJcbiAgZmlyc3RQYXJ0aWNpcGF0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuICBpc0RyYXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNQYXJ0aWNpcGF0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc2FibGVkUGFydGljaXBhdGlvbnNNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYXRJY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKFwiY2FsZW5kYXJcIiwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKFwiL2Fzc2V0cy93YXBwSWNvbnMvbWF0LWNhbGVuZGFyLnN2Z1wiKSk7XHJcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKFwibnVtYmVyXCIsIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcIi9hc3NldHMvd2FwcEljb25zL21hdC1udW1iZXIuc3ZnXCIpKTtcclxuICAgIHRoaXMubWF0SWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb24oXCJwYXJ0aWNpcGF0ZVwiLCB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXCIvYXNzZXRzL3dhcHBJY29ucy9tYXQtcGFydGljaXBhdGUuc3ZnXCIpKTtcclxuICAgIHRoaXMubWF0SWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb24oXCJwYXJ0aWNpcGF0ZS1hZ2FpblwiLCB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXCIvYXNzZXRzL3dhcHBJY29ucy9tYXQtcGFydGljaXBhdGUtYWdhaW4uc3ZnXCIpKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRJbWFnZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYoY2hhbmdlc1snZGVmYXVsdEltYWdlJ10gJiYgY2hhbmdlc1snZGVmYXVsdEltYWdlJ10uY3VycmVudFZhbHVlKXtcclxuICAgICAgdGhpcy5kZWZhdWx0SW1hZ2UgPSBjaGFuZ2VzWydkZWZhdWx0SW1hZ2UnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMuZ2V0SW1hZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZihjaGFuZ2VzWydkZWZhdWx0SW1hZ2UnXSAmJiAhY2hhbmdlc1snZGVmYXVsdEltYWdlJ10uY3VycmVudFZhbHVlKXtcclxuICAgICAgaWYodGhpcy5pc0Rldk1vZGVBY3RpdmUpe1xyXG4gICAgICAgIHRoaXMuaXNOb0ltYWdlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlSW1hZ2VzID0gW3sgcGF0aDogJy4vYXNzZXRzL3dhcHBJY29ucy9pbWFnZS5zdmcnIH1dXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFdhcHBpbmdTZXJ2aWNlKHdhcHBTZXJ2aWNlOiBXYXBwaW5nU2VydmljZSkge1xyXG4gICAgdGhpcy5pc1NlbmRHaWZ0Q2FyZCA9IGZhbHNlXHJcbiAgICBpZiAod2FwcFNlcnZpY2UuYWN0aXZlKVxyXG4gICAgICB0aGlzLnNlcnZpY2VTdGF0dXMgPSB0aGlzLndhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucy5hY3RpdmVkU2VydmljZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNlcnZpY2VTdGF0dXMgPSB0aGlzLndhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucy5kaXNhYmxlZFNlcnZpY2UudG9VcHBlckNhc2UoKTtcclxuICAgIGlmICh3YXBwU2VydmljZS5kYXRhUmVxVG9TZW5kQ2FyZCAmJiB3YXBwU2VydmljZS5kYXRhUmVxVG9TZW5kQ2FyZC5kYXRhUmVxVG9TZW5kQ2FyZElkICE9IDApIHtcclxuICAgICAgdGhpcy5pc1NlbmRHaWZ0Q2FyZCA9IHRydWVcclxuICAgICAgaWYgKHdhcHBTZXJ2aWNlLmVudW1UeXBlU3RhdHVzRUNhcmRJRCA9PSB0aGlzLmVjYXJkU3RhdHVzLnNlbnQpIHtcclxuICAgICAgICB0aGlzLmFsbG93U2VsZWN0U2VuZEdpZnRDYXJkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh3YXBwU2VydmljZS5lbnVtVHlwZVN0YXR1c0VDYXJkSUQgPT0gdGhpcy5lY2FyZFN0YXR1cy5nZW5lcmF0ZWQpXHJcbiAgICAgIHRoaXMuYWxsb3dTZWxlY3RTZW5kR2lmdENhcmQgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy53YXBwaW5nU2VydmljZS50eXBlID09IFdhcHBpbmdTZXJ2aWNlVHlwZS5EcmF3cykge1xyXG4gICAgICB0aGlzLmlzRHJhdyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZXRXYXBwaW5nU2VydmljZVRpbGVzKHRoaXMud2FwcGluZ1NlcnZpY2UpO1xyXG5cclxuICAgIGlmKHRoaXMuaXNEZXZNb2RlQWN0aXZlID09IGZhbHNlKXtcclxuICAgICAgdGhpcy5nZXRXYXBwaW5nU2VydmljZUltYWdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGVEcmF3KCl7XHJcbiAgICBpZih0aGlzLmxvdHRlcnlFdmVudC5pc1NjaGVkdWxlZEZvckRyYXcpe1xyXG4gICAgICBpZih0aGlzLmxvdHRlcnlFdmVudC5sb3R0ZXJ5RXZlbnROZXh0RHJhdy5za3lXYXBwQ2FyZFRyYW5zYWN0aW9uSWRzLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHRoaXMuZmlyc3RQYXJ0aWNpcGF0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5oYXNQYXJ0aWNpcGF0aW9ucyA9IHRydWU7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuZmlyc3RQYXJ0aWNpcGF0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmhhc1BhcnRpY2lwYXRpb25zID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kaXNhYmxlZFBhcnRpY2lwYXRpb25zTW9kYWwgPSBmYWxzZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmhhc1BhcnRpY2lwYXRpb25zID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRXYXBwaW5nU2VydmljZVRpbGVzKHNlcnZpY2U6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICBpZiAoc2VydmljZS53YXBwaW5nU2VydmljZVRlbXBsYXRlcyAhPSBudWxsKSB7XHJcbiAgICAgIHNlcnZpY2Uud2FwcGluZ1NlcnZpY2VUZW1wbGF0ZXMuZm9yRWFjaCgod2FwcGluZ1NlcnZpY2VUaWxlOiBXYXBwaW5nU2VydmljZVRlbXBsYXRlKSA9PiB7XHJcbiAgICAgICAgaWYod2FwcGluZ1NlcnZpY2VUaWxlLmRldGFpbFRpdGxlKXtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2UudGlsZTMgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh3YXBwaW5nU2VydmljZVRpbGUuZGV0YWlsVGl0bGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlLnRpbGUzID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHdhcHBpbmdTZXJ2aWNlVGlsZS5kZXRhaWxIZWFkZXIpe1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZS50aWxlMSA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhcHBpbmdTZXJ2aWNlVGlsZS5kZXRhaWxIZWFkZXIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlLnRpbGUxID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHdhcHBpbmdTZXJ2aWNlVGlsZS5kZXRhaWxGb290KXtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2UudGlsZTIgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh3YXBwaW5nU2VydmljZVRpbGUuZGV0YWlsRm9vdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2UudGlsZTIgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYod2FwcGluZ1NlcnZpY2VUaWxlLmRldGFpbEJvZHkpe1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZS50aWxlRGV0YWlsMSA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhcHBpbmdTZXJ2aWNlVGlsZS5kZXRhaWxCb2R5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZS50aWxlRGV0YWlsMSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRXYXBwaW5nU2VydmljZUltYWdlcygpIHtcclxuICAgIHRoaXMuZ2V0SW1hZ2UoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFdhcHBpbmdTZXJ2aWNlKCkge1xyXG4gICAgdGhpcy5kaXNhYmxlZFRvZ2dsZSA9IHRydWU7XHJcbiAgICB0aGlzLndhcHBpbmdTZXJ2aWNlU2VsZWN0ZWQuZW1pdCh0aGlzLndhcHBpbmdTZXJ2aWNlLmFjdGl2ZSk7XHJcbiAgICBpZiAodGhpcy53YXBwaW5nU2VydmljZS5hY3RpdmUpXHJcbiAgICAgIHRoaXMuc2VydmljZVN0YXR1cyA9IHRoaXMud2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zLmFjdGl2ZWRTZXJ2aWNlLnRvVXBwZXJDYXNlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2VydmljZVN0YXR1cyA9IHRoaXMud2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zLmRpc2FibGVkU2VydmljZS50b1VwcGVyQ2FzZSgpO1xyXG5cclxuICAgIHRoaXMuZGlzYWJsZWRUb2dnbGUgPSBmYWxzZVxyXG4gICAgdGhpcy5nZXRXYXBwaW5nU2VydmljZSh0aGlzLndhcHBpbmdTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGhhc0h0bWwodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIC88XFwvP1thLXpdW1xcc1xcU10qPi9pLnRlc3QodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJlc3NCdXR0b25TZXJ2aWNlKCl7XHJcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25TZXJ2aWNlLmVtaXQoKVxyXG4gIH1cclxuXHJcbiAgc2V0SW1hZ2UoKXtcclxuICAgIGNvbnN0IHJlZjogRHluYW1pY0RpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFdJbWFnZUNyb3BwZXJDb21wb25lbnQsIHtcclxuICAgICAgaGVhZGVyOiB0aGlzLmNyb3BwZWREaWFsb2dUcmFuc2xhdGlvbnM/Lm1vZGFsLmhlYWRlcixcclxuICAgICAgd2lkdGg6ICc3MHJlbScsXHJcbiAgICAgIGNvbnRlbnRTdHlsZToge1wib3ZlcmZsb3dcIjogXCJhdXRvXCIsIFwiaGVpZ2h0XCI6IFwiYXV0b1wiLCBcInBhZGRpbmctYm90dG9tXCI6IFwiOHB4XCJ9LFxyXG4gICAgICBkYXRhOiB7ZGF0YU1vZGFsOiB0aGlzLmNyb3BwZWRJbWFnZUNvbmZpZ3VyYXRpb24sIHRyYW5zbGF0aW9uczogdGhpcy5jcm9wcGVkRGlhbG9nVHJhbnNsYXRpb25zfSxcclxuICAgICAgcmVzaXphYmxlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgcmVmLm9uQ2xvc2Uuc3Vic2NyaWJlKChpbWFnZUNyb3BwZWQ6IFdGaWxlQjY0KSA9PiB7XHJcbiAgICAgIGlmKGltYWdlQ3JvcHBlZCl7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0SW1hZ2UgPSBpbWFnZUNyb3BwZWQ7XHJcbiAgICAgICAgdGhpcy5pbWFnZXMucHVzaCh7cGF0aDogdGhpcy5kZWZhdWx0SW1hZ2UuZmlsZUJhc2U2NH0pO1xyXG4gICAgICAgIHRoaXMub25EZWZhdWx0SW1hZ2VFdmVudC5lbWl0KHRoaXMuZGVmYXVsdEltYWdlKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldEltYWdlKCkge1xyXG4gICAgdGhpcy5pc05vSW1hZ2UgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlzRGV2TW9kZUFjdGl2ZSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRJbWFnZSkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzV0ZpbGVJbWFnZSh0aGlzLmRlZmF1bHRJbWFnZSkpIHtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2VJbWFnZXMgPSBbeyBwYXRoOiAodGhpcy5kZWZhdWx0SW1hZ2UgYXMgV0ZpbGVCNjQpLmZpbGVCYXNlNjQgfV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2VJbWFnZXMgPSBbeyBwYXRoOiAodGhpcy5kZWZhdWx0SW1hZ2UgYXMgc3RyaW5nKSB9XTtcclxuICAgICAgICB9XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuaXNOb0ltYWdlID0gdHJ1ZTsgXHJcbiAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZUltYWdlcyA9IFt7IHBhdGg6ICcuL2Fzc2V0cy93YXBwSWNvbnMvaW1hZ2Uuc3ZnJyB9XTtcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmKHRoaXMud2FwcGluZ1NlcnZpY2Upe1xyXG4gICAgICAgIGlmKHRoaXMud2FwcGluZ1NlcnZpY2Uud2FwcGluZ1NlcnZpY2VJbWFnZXMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlSW1hZ2VzID0gdGhpcy53YXBwaW5nU2VydmljZS53YXBwaW5nU2VydmljZUltYWdlcztcclxuICAgICAgICB9ZWxzZSBpZih0aGlzLndhcHBpbmdTZXJ2aWNlLndhcHBpbmdTZXJ2aWNlSW1hZ2VzLmxlbmd0aCA9PSAwICYmIHRoaXMud2FwcGluZ1NlcnZpY2UuaW1hZ2VVcmwpe1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZUltYWdlcyA9IFtdO1xyXG4gICAgICAgICAgbGV0IHdhcHBpbmdTZXJ2aWNlSW1hZ2U6IFdhcHBpbmdTZXJ2aWNlSW1hZ2UgPSB7XHJcbiAgICAgICAgICAgIHBhdGg6IHRoaXMud2FwcGluZ1NlcnZpY2UuaW1hZ2VVcmwhLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2VJbWFnZXMudW5zaGlmdCh3YXBwaW5nU2VydmljZUltYWdlKTtcclxuICAgICAgICB9ZWxzZSBpZih0aGlzLmRlZmF1bHRJbWFnZSl7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlSW1hZ2VzID0gW3sgcGF0aDogKHRoaXMuZGVmYXVsdEltYWdlIGFzIHN0cmluZykgfV07XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmlzTm9JbWFnZSA9IHRydWU7IFxyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZUltYWdlcyA9IFt7IHBhdGg6ICcuL2Fzc2V0cy93YXBwSWNvbnMvaW1hZ2Uuc3ZnJyB9XTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzV0ZpbGVJbWFnZShvYmo6IFdGaWxlQjY0IHwgc3RyaW5nKXtcclxuICAgIHJldHVybiAob2JqIGFzIFdGaWxlQjY0KS5iYXNlNjQgIT09IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIiwiPHdhcHAtbWFpbi10aXRsZSBbdGl0bGVdPVwid2FwcGluZ1NlcnZpY2UudGlsZTNcIiAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlICYmICghZm9yY2VNb2JpbGUpXCIgZnhIaWRlLnhzPjwvd2FwcC1tYWluLXRpdGxlPlxyXG48ZGl2IGNsYXNzPVwicGFydGljaXBhdGlvbi1kZXRhaWwtY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEhpZGUueHMgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiAqbmdJZj1cImlzRHJhdyAmJiBoYXNQYXJ0aWNpcGF0aW9uc1wiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicGFydGljaXBhdGlvbi1kZXRhaWwtZGVza3RvcC1iYXJcIiBmeEZsZXg9XCIxMDBcIiB4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwicGFydGljaXBhdGlvbi1kZXRhaWwtbGFiZWxcIj5UdXMgbsO6bWVyb3M6PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJwYXJ0aWNpcGF0aW9uLWRldGFpbC12YWx1ZVwiPlxyXG4gICAgICAgIHt7IGxvdHRlcnlFdmVudD8ubG90dGVyeUV2ZW50TmV4dERyYXc/LnNreVdhcHBDYXJkVHJhbnNhY3Rpb25JZHM/LmpvaW4oJywgJykgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwicGFydGljaXBhdGlvbi1kZXRhaWwtbGFiZWxcIj5FbCBnYW5hZG9yIHNlIGRlY2lkaXLDoSBlbDo8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGV0YWlsLWRhdGVcIj57eyBsb3R0ZXJ5RXZlbnQ/LmxvdHRlcnlFdmVudE5leHREcmF3Py5kcmF3RGF0ZSB8IGRhdGU6J21lZGl1bScgfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInNlcnZpY2UtZGV0YWlsLWNlbnRlclwiICpuZ0lmPVwid2FwcGluZ1NlcnZpY2VcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZm9yY2UtbW9iaWxlJzogZm9yY2VNb2JpbGV9XCJcclxuICAgICAgICBbZnhMYXlvdXRdPVwiZm9yY2VNb2JpbGUgPyAnY29sdW1uJyA6ICdyb3cnXCJcclxuICAgICAgICBbZnhMYXlvdXQueHNdPVwiJ2NvbHVtbidcIlxyXG4gICAgICAgIFtmeExheW91dC5zbV09XCInY29sdW1uJ1wiPlxyXG4gICAgPCEtLXNlcnZpY2UgaW1hZ2UtLT5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydzZXJ2aWNlLXZpZXctbm8tbWFyZ2luJzogZm9yY2VNb2JpbGUsICdzZXJ2aWNlLXZpZXcnOiAhZm9yY2VNb2JpbGV9XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgICA8IS0tdGlsZSAxLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFoYXNIdG1sKHdhcHBpbmdTZXJ2aWNlLnRpbGUxKSAmJiB3YXBwaW5nU2VydmljZS50aWxlMSAmJiB3YXBwaW5nU2VydmljZS50aWxlMSAhPSAnJ1wiIGNsYXNzPVwic2VydmljZS1pbWFnZS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS12aWV3LXRpbGUxLW5vLWh0bWxcIiBbaW5uZXJIVE1MXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUxXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImhhc0h0bWwod2FwcGluZ1NlcnZpY2UudGlsZTEpICYmIHdhcHBpbmdTZXJ2aWNlLnRpbGUxICYmIHdhcHBpbmdTZXJ2aWNlLnRpbGUxICE9ICcnXCIgY2xhc3M9XCJ0ZW1wbGF0ZS1zZXJ2aWNlLWltYWdlLXRpbGUgc2VydmljZS1jYXJkLWltYWdlLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXZpZXctdGlsZTFcIiBbaW5uZXJIVE1MXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUxXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLXNsaWRlc2hvdy0tPlxyXG4gICAgICAgIDx3YXBwLWNhcm91c2VsIFtpc0Rldk1vZGVBY3RpdmVdPVwiaXNEZXZNb2RlQWN0aXZlXCIgW2ZvcmNlTW9iaWxlXT1cImZvcmNlTW9iaWxlXCIgW2ltYWdlc109XCJ3YXBwaW5nU2VydmljZUltYWdlc1wiIFtpc05vSW1hZ2VdPVwiaXNOb0ltYWdlXCIgKG9uU2V0SW1hZ2VFdmVudCk9XCJzZXRJbWFnZSgpXCIgW29uSG92ZXJJbWFnZVRvb2x0aXBdPVwib25Ib3ZlckltYWdlVG9vbHRpcFwiPjwvd2FwcC1jYXJvdXNlbD5cclxuICAgICAgICA8IS0tdGlsZSAyLS0+XHJcbiAgICAgICAgPGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiNXB4XCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0ZW1wbGF0ZS1zZXJ2aWNlLXRpbGUnOiBoYXNIdG1sKHdhcHBpbmdTZXJ2aWNlLnRpbGUyKSxcclxuICAgICAgICAgICAgICAgICdzZXJ2aWNlLXRpbGUnIDogIWhhc0h0bWwod2FwcGluZ1NlcnZpY2UudGlsZTIpfVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwid2FwcGluZ1NlcnZpY2UudGlsZTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2Utdmlldy10aWxlMlwiIFtpbm5lckh0bWxdPVwid2FwcGluZ1NlcnZpY2UudGlsZTJcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tYWN0aXZhdGUgdG9nZ2xlLS0+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzZXJ2aWNlLXNlbGVjdC10b2dnbGVcIiBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwid2FwcGluZ1NlcnZpY2UuYWxsb3dTZWxlY3QgJiYgYWxsb3dTZWxlY3RTZW5kR2lmdENhcmQgJiYgIXNob3dCdXR0b25TZXJ2aWNlICYmIHNob3dUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRUb2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIndhcHBpbmdTZXJ2aWNlLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2VsZWN0V2FwcGluZ1NlcnZpY2UoKVwiPnt7IHNlcnZpY2VTdGF0dXMgfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKm5nSWY9XCJzaG93QnV0dG9uU2VydmljZVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlcnZpY2Utdmlldy1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgZnhGbGV4PVwiMTAwXCIgZnhIaWRlIGZ4U2hvdy54c1xyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkQnV0dG9uU2VydmljZVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJlc3NCdXR0b25TZXJ2aWNlKClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2Utdmlldy1wYXJ0aWNpcGF0ZVwiICpuZ0lmPVwiaXNEcmF3XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzZXJ2aWNlLXZpZXctcGFydGljaXBhdGlvbi1pY29uXCIgKm5nSWY9XCJmaXJzdFBhcnRpY2lwYXRpb25cIiBzdmdJY29uPVwicGFydGljaXBhdGVcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VydmljZS12aWV3LXBhcnRpY2lwYXRpb24taWNvblwiICpuZ0lmPVwiIWZpcnN0UGFydGljaXBhdGlvblwiIHN2Z0ljb249XCJwYXJ0aWNpcGF0ZS1hZ2FpblwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlcnZpY2Utdmlldy1idXR0b24tbGFiZWxcIj57eyB3YXBwaW5nU2VydmljZXNUcmFuc2xhdGlvbnM/LmJ1dHRvblNlcnZpY2UgfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGV0YWlsLWNvbnRhaW5lci1tb2JpbGVcIiBmeEhpZGUgZnhTaG93LnhzICpuZ0lmPVwiaXNEcmF3ICYmIGhhc1BhcnRpY2lwYXRpb25zXCI+XHJcbiAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNpcGF0aW9uLWRldGFpbC1tb2JpbGUtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGF0ZS1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWxpZ2h0XCI+RWwgZ2FuYWRvciBzZSBkZWNpZGlyw6EgZWwgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib2xkXCI+e3sgbG90dGVyeUV2ZW50Py5sb3R0ZXJ5RXZlbnROZXh0RHJhdz8uZHJhd0RhdGUgfCBkYXRlOidkZC9NTS95eXl5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvdHRvbS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlcnMtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm51bWJlcnMtdGl0bGVcIj5UdXMgbsO6bWVyb3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXJzLWxpc3QtdmVydGljYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXItaXRlbVwiICpuZ0Zvcj1cImxldCBpZCBvZiBsb3R0ZXJ5RXZlbnQ/LmxvdHRlcnlFdmVudE5leHREcmF3Py5za3lXYXBwQ2FyZFRyYW5zYWN0aW9uSWRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaWQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaWNvbi1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm51bWJlclwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tc2VydmljZSBpbmZvLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1pbmZvLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnc2VydmljZS1pbmZvLWNvbnRhaW5lci1wYWRkaW5nJzogZm9yY2VNb2JpbGV9XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS10aWxlLWRldGFpbC1jb250YWluZXJcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICAgIDwhLS10aWxlIDMtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFmb3JjZU1vYmlsZVwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUzXCIgZnhIaWRlIGZ4U2hvdy54c1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZXJ2aWNlLW5hbWUgbWF0LXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9yY2VNb2JpbGVcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCJ3YXBwaW5nU2VydmljZS50aWxlM1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlcnZpY2UtbmFtZSBtYXQtdGl0bGVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS10aWxlRGV0YWlsIDEtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtdGlsZS1kZXRhaWxcIiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySHRtbF09XCJ3YXBwaW5nU2VydmljZS50aWxlRGV0YWlsMVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXZpZXctY29udGFpbmVyLWJ1dHRvblwiIGZ4SGlkZS54cyAqbmdJZj1cInNob3dCdXR0b25TZXJ2aWNlXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlcnZpY2Utdmlldy1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZEJ1dHRvblNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJlc3NCdXR0b25TZXJ2aWNlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS12aWV3LXBhcnRpY2lwYXRlXCIgKm5nSWY9XCJpc0RyYXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VydmljZS12aWV3LXBhcnRpY2lwYXRpb24taWNvblwiICpuZ0lmPVwiZmlyc3RQYXJ0aWNpcGF0aW9uXCIgc3ZnSWNvbj1cInBhcnRpY2lwYXRlXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VydmljZS12aWV3LXBhcnRpY2lwYXRpb24taWNvblwiICpuZ0lmPVwiIWZpcnN0UGFydGljaXBhdGlvblwiIHN2Z0ljb249XCJwYXJ0aWNpcGF0ZS1hZ2FpblwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXJ2aWNlLXZpZXctYnV0dG9uLWxhYmVsXCI+e3sgd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zPy5idXR0b25TZXJ2aWNlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1saW5rLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtbGluay1jb250YWluZXJcIiAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlLnRpdGxlTGlua1VybCAmJiB3YXBwaW5nU2VydmljZS5saW5rVXJsXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwic2VydmljZS1saW5rXCIgaHJlZj1cInt7d2FwcGluZ1NlcnZpY2UubGlua1VybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzZXJ2aWNlLWxpbmstaWNvblwiIHN2Z0ljb249XCJzaGFyZV9zcXVhcmVcIj48L21hdC1pY29uPjxzcGFuPnt7d2FwcGluZ1NlcnZpY2UudGl0bGVMaW5rVXJsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbjwvZGl2PiJdfQ==
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcvdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVILE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFRN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTOUYsTUFBTSxPQUFPLDZCQUE2QjtJQWlDeEMsSUFBMkIsWUFBWSxDQUFDLEtBQTBDO1FBQ2hGLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUcsS0FBSztZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFJRCxJQUFhLGNBQWMsQ0FBQyxLQUFxQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFHLEtBQUs7WUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVE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QkFBeUI7c0JBQWpDLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBXYXBwaW5nU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2VJbWFnZSB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLWltYWdlJztcclxuaW1wb3J0IHsgQ2FyZFN0YXR1cywgU2VuZGluZ1N0YXR1cywgV2FwcGluZ1NlcnZpY2VUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy9lbnVtcy5tb2RlbCc7XHJcbmltcG9ydCB7IFdhcHBpbmdTZXJ2aWNlVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy93YXBwaW5nLXNlcnZpY2UtdHJhbnNsYXRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFdhcHBpbmdTZXJ2aWNlVGVtcGxhdGUgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3dhcHBpbmctc2VydmljZS10ZW1wbGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgV0ZpbGVCNjQgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL3ctZmlsZS1iNjQubW9kZWwnO1xyXG5pbXBvcnQgeyBXSW1hZ2VDcm9wcGVyRGF0YSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvdy1pbWFnZS1jcm9wcGVyLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBXSW1hZ2VDcm9wcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZmlsZS93LWltYWdlLWNyb3BwZXIvdy1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdhbGxldExvdHRlcnlQYXJ0aWNpcGF0aW9uc1Jlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy93YWxsZXQtbG90dGVyeS1wYXJ0aWNpcGF0aW9ucy1yZXNwb25zZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ctbWF0ZXJpYWwtc2VydmljZS12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy1tYXRlcmlhbC1zZXJ2aWNlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ctbWF0ZXJpYWwtc2VydmljZS12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV01hdGVyaWFsU2VydmljZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIHNlcnZpY2VJZCE6IG51bWJlcjtcclxuICB3YXBwaW5nU2VydmljZUltYWdlcyE6IFdhcHBpbmdTZXJ2aWNlSW1hZ2VbXTtcclxuICBzZXJ2aWNlU3RhdHVzITogc3RyaW5nO1xyXG4gIGlzU2VuZEdpZnRDYXJkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGlzYWJsZWRUb2dnbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbGxvd1NlbGVjdFNlbmRHaWZ0Q2FyZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgZW51bVNlbmRpbmdTdGF0dXM6IHR5cGVvZiBTZW5kaW5nU3RhdHVzID0gU2VuZGluZ1N0YXR1cztcclxuICBlY2FyZFN0YXR1czogdHlwZW9mIENhcmRTdGF0dXMgPSBDYXJkU3RhdHVzXHJcbiAgdHJhbnNsYXRpb25zOiBhbnk7XHJcbiAgXHJcbiAgQElucHV0KCkgZm9yY2VNb2JpbGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCd3YXBwaW5nU2VydmljZXNUcmFuc2xhdGlvbnMnKSB3YXBwaW5nU2VydmljZXNUcmFuc2xhdGlvbnM6IFdhcHBpbmdTZXJ2aWNlVHJhbnNsYXRpb25zID0ge1xyXG4gICAgYWN0aXZlZFNlcnZpY2U6ICdBY3RpdmFkYScsXHJcbiAgICBkaXNhYmxlZFNlcnZpY2U6ICdEZXNhY3RpdmFkYScsXHJcbiAgICBzY2hlZHVsZWRMYWJlbDogJ1Byb2dyYW1hZGEgcGFyYSBlbnZpYXIgYSB7e25hbWV9fScsXHJcbiAgICBzZW5kTGFiZWw6ICdFbnZpYWRhIGEge3tuYW1lfX0nLFxyXG4gICAgY2FyZEdlbmVyYXRlZDogJ1R1IHRhcmpldGEgZXN0YXLDoSBkaXNwb25pYmxlIHBhcmEgZWwgZW52w61vIGVuIGJyZXZlcyBpbnN0YW50ZXMnLFxyXG4gICAgcmVjZWl2ZWRMYWJlbDogXCJFbnZpYWRhIHBvciB7e25hbWV9fVwiLFxyXG4gICAgc2hvd01vcmU6IFwiTW9zdHJhciBtw6FzXCIsXHJcbiAgICBidXR0b25TZXJ2aWNlOiBcIlBhcnRpY2lwYXJcIixcclxuICAgIHdpbm5lckRhdGU6IFwiRWwgZ2FuYWRvciBzZSBkZWNpZGlyw6EgZWxcIixcclxuICAgIHlvdXJOdW1iZXJzOiBcIlR1cyBuw7ptZXJvc1wiXHJcbiAgfTtcclxuICBcclxuICBASW5wdXQoJ2Rpc2FibGVkQnV0dG9uU2VydmljZScpIGRpc2FibGVkQnV0dG9uU2VydmljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnc2hvd0J1dHRvblNlcnZpY2UnKSBzaG93QnV0dG9uU2VydmljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnc2hvd1RvZ2dsZScpIHNob3dUb2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9sb3R0ZXJ5RXZlbnQhOiBXYWxsZXRMb3R0ZXJ5UGFydGljaXBhdGlvbnNSZXNwb25zZTtcclxuXHJcbiAgQElucHV0KCdsb3R0ZXJ5RXZlbnQnKSBzZXQgbG90dGVyeUV2ZW50KHZhbHVlOiBXYWxsZXRMb3R0ZXJ5UGFydGljaXBhdGlvbnNSZXNwb25zZSkge1xyXG4gICAgdGhpcy5fbG90dGVyeUV2ZW50ID0gdmFsdWU7XHJcbiAgICBpZih2YWx1ZSkgdGhpcy5ldmFsdWF0ZURyYXcoKTtcclxuICB9XHJcblxyXG4gIGdldCBsb3R0ZXJ5RXZlbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbG90dGVyeUV2ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfd2FwcGluZ1NlcnZpY2UhOiBXYXBwaW5nU2VydmljZTtcclxuXHJcbiAgQElucHV0KCkgc2V0IHdhcHBpbmdTZXJ2aWNlKHZhbHVlOiBXYXBwaW5nU2VydmljZSkge1xyXG4gICAgdGhpcy5fd2FwcGluZ1NlcnZpY2UgPSB2YWx1ZTtcclxuICAgIGlmKHZhbHVlKSB0aGlzLmdldFdhcHBpbmdTZXJ2aWNlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCB3YXBwaW5nU2VydmljZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl93YXBwaW5nU2VydmljZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoJ3dhcHBpbmdTZXJ2aWNlU2VsZWN0ZWQnKSB3YXBwaW5nU2VydmljZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoJ3RyaWdnZXJCdXR0b25TZXJ2aWNlJykgdHJpZ2dlckJ1dHRvblNlcnZpY2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGlzRGV2TW9kZUFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRJbWFnZSE6IFdGaWxlQjY0IHwgc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBjcm9wcGVkSW1hZ2VDb25maWd1cmF0aW9uOiBXSW1hZ2VDcm9wcGVyRGF0YSA9IHtcclxuICAgIHJvdW5kZWRDcm9wcGVyOiBmYWxzZSwgXHJcbiAgICBjb25maWd1cmVkQXNwZWN0UmF0aW86IDQvMywgXHJcbiAgICB2aWV3UG9ydEhlaWh0UHg6IDYwMCwgXHJcbiAgICB2aWV3UG9ydFdpZHRoUHg6IDgwMCwgXHJcbiAgICBtYXhGaWxlU2l6ZTogMjAwMFxyXG4gIH07XHJcbiAgXHJcbiAgQElucHV0KCkgY3JvcHBlZERpYWxvZ1RyYW5zbGF0aW9uczogYW55O1xyXG4gIGltYWdlczogYW55W10gPSBbXTtcclxuICBAT3V0cHV0KCkgb25EZWZhdWx0SW1hZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V0ZpbGVCNjQ+KCk7XHJcbiAgQElucHV0KCkgaXNOb0ltYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb25Ib3ZlckltYWdlVG9vbHRpcDogc3RyaW5nID0gJ1VwbG9hZCBpbWFnZSc7XHJcblxyXG4gIGZpcnN0UGFydGljaXBhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgaXNEcmF3OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaGFzUGFydGljaXBhdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkaXNhYmxlZFBhcnRpY2lwYXRpb25zTW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXHJcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcImNhbGVuZGFyXCIsIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcIi9hc3NldHMvd2FwcEljb25zL21hdC1jYWxlbmRhci5zdmdcIikpO1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcIm51bWJlclwiLCB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXCIvYXNzZXRzL3dhcHBJY29ucy9tYXQtbnVtYmVyLnN2Z1wiKSk7XHJcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKFwicGFydGljaXBhdGVcIiwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKFwiL2Fzc2V0cy93YXBwSWNvbnMvbWF0LXBhcnRpY2lwYXRlLnN2Z1wiKSk7XHJcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uKFwicGFydGljaXBhdGUtYWdhaW5cIiwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKFwiL2Fzc2V0cy93YXBwSWNvbnMvbWF0LXBhcnRpY2lwYXRlLWFnYWluLnN2Z1wiKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0SW1hZ2UoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXNbJ2RlZmF1bHRJbWFnZSddICYmIGNoYW5nZXNbJ2RlZmF1bHRJbWFnZSddLmN1cnJlbnRWYWx1ZSl7XHJcbiAgICAgIHRoaXMuZGVmYXVsdEltYWdlID0gY2hhbmdlc1snZGVmYXVsdEltYWdlJ10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLmdldEltYWdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoY2hhbmdlc1snZGVmYXVsdEltYWdlJ10gJiYgIWNoYW5nZXNbJ2RlZmF1bHRJbWFnZSddLmN1cnJlbnRWYWx1ZSl7XHJcbiAgICAgIGlmKHRoaXMuaXNEZXZNb2RlQWN0aXZlKXtcclxuICAgICAgICB0aGlzLmlzTm9JbWFnZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZUltYWdlcyA9IFt7IHBhdGg6ICcuL2Fzc2V0cy93YXBwSWNvbnMvaW1hZ2Uuc3ZnJyB9XVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRXYXBwaW5nU2VydmljZSh3YXBwU2VydmljZTogV2FwcGluZ1NlcnZpY2UpIHtcclxuICAgIHRoaXMuaXNTZW5kR2lmdENhcmQgPSBmYWxzZVxyXG4gICAgaWYgKHdhcHBTZXJ2aWNlLmFjdGl2ZSlcclxuICAgICAgdGhpcy5zZXJ2aWNlU3RhdHVzID0gdGhpcy53YXBwaW5nU2VydmljZXNUcmFuc2xhdGlvbnMuYWN0aXZlZFNlcnZpY2UudG9VcHBlckNhc2UoKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXJ2aWNlU3RhdHVzID0gdGhpcy53YXBwaW5nU2VydmljZXNUcmFuc2xhdGlvbnMuZGlzYWJsZWRTZXJ2aWNlLnRvVXBwZXJDYXNlKCk7XHJcbiAgICBpZiAod2FwcFNlcnZpY2UuZGF0YVJlcVRvU2VuZENhcmQgJiYgd2FwcFNlcnZpY2UuZGF0YVJlcVRvU2VuZENhcmQuZGF0YVJlcVRvU2VuZENhcmRJZCAhPSAwKSB7XHJcbiAgICAgIHRoaXMuaXNTZW5kR2lmdENhcmQgPSB0cnVlXHJcbiAgICAgIGlmICh3YXBwU2VydmljZS5lbnVtVHlwZVN0YXR1c0VDYXJkSUQgPT0gdGhpcy5lY2FyZFN0YXR1cy5zZW50KSB7XHJcbiAgICAgICAgdGhpcy5hbGxvd1NlbGVjdFNlbmRHaWZ0Q2FyZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAod2FwcFNlcnZpY2UuZW51bVR5cGVTdGF0dXNFQ2FyZElEID09IHRoaXMuZWNhcmRTdGF0dXMuZ2VuZXJhdGVkKVxyXG4gICAgICB0aGlzLmFsbG93U2VsZWN0U2VuZEdpZnRDYXJkID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMud2FwcGluZ1NlcnZpY2UudHlwZSA9PSBXYXBwaW5nU2VydmljZVR5cGUuRHJhd3MpIHtcclxuICAgICAgdGhpcy5pc0RyYXcgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2V0V2FwcGluZ1NlcnZpY2VUaWxlcyh0aGlzLndhcHBpbmdTZXJ2aWNlKTtcclxuXHJcbiAgICBpZih0aGlzLmlzRGV2TW9kZUFjdGl2ZSA9PSBmYWxzZSl7XHJcbiAgICAgIHRoaXMuZ2V0V2FwcGluZ1NlcnZpY2VJbWFnZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV2YWx1YXRlRHJhdygpe1xyXG4gICAgaWYodGhpcy5sb3R0ZXJ5RXZlbnQuaXNTY2hlZHVsZWRGb3JEcmF3KXtcclxuICAgICAgaWYodGhpcy5sb3R0ZXJ5RXZlbnQubG90dGVyeUV2ZW50TmV4dERyYXcuc2t5V2FwcENhcmRUcmFuc2FjdGlvbklkcy5sZW5ndGggPiAwKXtcclxuICAgICAgICB0aGlzLmZpcnN0UGFydGljaXBhdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaGFzUGFydGljaXBhdGlvbnMgPSB0cnVlO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmZpcnN0UGFydGljaXBhdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5oYXNQYXJ0aWNpcGF0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGlzYWJsZWRQYXJ0aWNpcGF0aW9uc01vZGFsID0gZmFsc2U7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5oYXNQYXJ0aWNpcGF0aW9ucyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0V2FwcGluZ1NlcnZpY2VUaWxlcyhzZXJ2aWNlOiBXYXBwaW5nU2VydmljZSkge1xyXG4gICAgaWYgKHNlcnZpY2Uud2FwcGluZ1NlcnZpY2VUZW1wbGF0ZXMgIT0gbnVsbCkge1xyXG4gICAgICBzZXJ2aWNlLndhcHBpbmdTZXJ2aWNlVGVtcGxhdGVzLmZvckVhY2goKHdhcHBpbmdTZXJ2aWNlVGlsZTogV2FwcGluZ1NlcnZpY2VUZW1wbGF0ZSkgPT4ge1xyXG4gICAgICAgIGlmKHdhcHBpbmdTZXJ2aWNlVGlsZS5kZXRhaWxUaXRsZSl7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlLnRpbGUzID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwod2FwcGluZ1NlcnZpY2VUaWxlLmRldGFpbFRpdGxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZS50aWxlMyA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih3YXBwaW5nU2VydmljZVRpbGUuZGV0YWlsSGVhZGVyKXtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2UudGlsZTEgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh3YXBwaW5nU2VydmljZVRpbGUuZGV0YWlsSGVhZGVyKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZS50aWxlMSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih3YXBwaW5nU2VydmljZVRpbGUuZGV0YWlsRm9vdCl7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlLnRpbGUyID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwod2FwcGluZ1NlcnZpY2VUaWxlLmRldGFpbEZvb3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlLnRpbGUyID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHdhcHBpbmdTZXJ2aWNlVGlsZS5kZXRhaWxCb2R5KXtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2UudGlsZURldGFpbDEgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh3YXBwaW5nU2VydmljZVRpbGUuZGV0YWlsQm9keSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2UudGlsZURldGFpbDEgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0V2FwcGluZ1NlcnZpY2VJbWFnZXMoKSB7XHJcbiAgICB0aGlzLmdldEltYWdlKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RXYXBwaW5nU2VydmljZSgpIHtcclxuICAgIHRoaXMuZGlzYWJsZWRUb2dnbGUgPSB0cnVlO1xyXG4gICAgdGhpcy53YXBwaW5nU2VydmljZVNlbGVjdGVkLmVtaXQodGhpcy53YXBwaW5nU2VydmljZS5hY3RpdmUpO1xyXG4gICAgaWYgKHRoaXMud2FwcGluZ1NlcnZpY2UuYWN0aXZlKVxyXG4gICAgICB0aGlzLnNlcnZpY2VTdGF0dXMgPSB0aGlzLndhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucy5hY3RpdmVkU2VydmljZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNlcnZpY2VTdGF0dXMgPSB0aGlzLndhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucy5kaXNhYmxlZFNlcnZpY2UudG9VcHBlckNhc2UoKTtcclxuXHJcbiAgICB0aGlzLmRpc2FibGVkVG9nZ2xlID0gZmFsc2VcclxuICAgIHRoaXMuZ2V0V2FwcGluZ1NlcnZpY2UodGhpcy53YXBwaW5nU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBoYXNIdG1sKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvPFxcLz9bYS16XVtcXHNcXFNdKj4vaS50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByZXNzQnV0dG9uU2VydmljZSgpe1xyXG4gICAgdGhpcy50cmlnZ2VyQnV0dG9uU2VydmljZS5lbWl0KClcclxuICB9XHJcblxyXG4gIHNldEltYWdlKCl7XHJcbiAgICBjb25zdCByZWY6IER5bmFtaWNEaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihXSW1hZ2VDcm9wcGVyQ29tcG9uZW50LCB7XHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVkRGlhbG9nVHJhbnNsYXRpb25zPy5tb2RhbC5oZWFkZXIsXHJcbiAgICAgIHdpZHRoOiAnNzByZW0nLFxyXG4gICAgICBjb250ZW50U3R5bGU6IHtcIm92ZXJmbG93XCI6IFwiYXV0b1wiLCBcImhlaWdodFwiOiBcImF1dG9cIiwgXCJwYWRkaW5nLWJvdHRvbVwiOiBcIjhweFwifSxcclxuICAgICAgZGF0YToge2RhdGFNb2RhbDogdGhpcy5jcm9wcGVkSW1hZ2VDb25maWd1cmF0aW9uLCB0cmFuc2xhdGlvbnM6IHRoaXMuY3JvcHBlZERpYWxvZ1RyYW5zbGF0aW9uc30sXHJcbiAgICAgIHJlc2l6YWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJlZi5vbkNsb3NlLnN1YnNjcmliZSgoaW1hZ2VDcm9wcGVkOiBXRmlsZUI2NCkgPT4ge1xyXG4gICAgICBpZihpbWFnZUNyb3BwZWQpe1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEltYWdlID0gaW1hZ2VDcm9wcGVkO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VzLnB1c2goe3BhdGg6IHRoaXMuZGVmYXVsdEltYWdlLmZpbGVCYXNlNjR9KTtcclxuICAgICAgICB0aGlzLm9uRGVmYXVsdEltYWdlRXZlbnQuZW1pdCh0aGlzLmRlZmF1bHRJbWFnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZSgpIHtcclxuICAgIHRoaXMuaXNOb0ltYWdlID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5pc0Rldk1vZGVBY3RpdmUgPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAodGhpcy5kZWZhdWx0SW1hZ2UpIHtcclxuICAgICAgICBpZiAodGhpcy5pc1dGaWxlSW1hZ2UodGhpcy5kZWZhdWx0SW1hZ2UpKSB7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlSW1hZ2VzID0gW3sgcGF0aDogKHRoaXMuZGVmYXVsdEltYWdlIGFzIFdGaWxlQjY0KS5maWxlQmFzZTY0IH1dO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlSW1hZ2VzID0gW3sgcGF0aDogKHRoaXMuZGVmYXVsdEltYWdlIGFzIHN0cmluZykgfV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmlzTm9JbWFnZSA9IHRydWU7IFxyXG4gICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2VJbWFnZXMgPSBbeyBwYXRoOiAnLi9hc3NldHMvd2FwcEljb25zL2ltYWdlLnN2ZycgfV07XHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLndhcHBpbmdTZXJ2aWNlKXtcclxuICAgICAgICBpZih0aGlzLndhcHBpbmdTZXJ2aWNlLndhcHBpbmdTZXJ2aWNlSW1hZ2VzLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZUltYWdlcyA9IHRoaXMud2FwcGluZ1NlcnZpY2Uud2FwcGluZ1NlcnZpY2VJbWFnZXM7XHJcbiAgICAgICAgfWVsc2UgaWYodGhpcy53YXBwaW5nU2VydmljZS53YXBwaW5nU2VydmljZUltYWdlcy5sZW5ndGggPT0gMCAmJiB0aGlzLndhcHBpbmdTZXJ2aWNlLmltYWdlVXJsKXtcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2VJbWFnZXMgPSBbXTtcclxuICAgICAgICAgIGxldCB3YXBwaW5nU2VydmljZUltYWdlOiBXYXBwaW5nU2VydmljZUltYWdlID0ge1xyXG4gICAgICAgICAgICBwYXRoOiB0aGlzLndhcHBpbmdTZXJ2aWNlLmltYWdlVXJsISxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlSW1hZ2VzLnVuc2hpZnQod2FwcGluZ1NlcnZpY2VJbWFnZSk7XHJcbiAgICAgICAgfWVsc2UgaWYodGhpcy5kZWZhdWx0SW1hZ2Upe1xyXG4gICAgICAgICAgdGhpcy53YXBwaW5nU2VydmljZUltYWdlcyA9IFt7IHBhdGg6ICh0aGlzLmRlZmF1bHRJbWFnZSBhcyBzdHJpbmcpIH1dO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5pc05vSW1hZ2UgPSB0cnVlOyBcclxuICAgICAgICAgIHRoaXMud2FwcGluZ1NlcnZpY2VJbWFnZXMgPSBbeyBwYXRoOiAnLi9hc3NldHMvd2FwcEljb25zL2ltYWdlLnN2ZycgfV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1dGaWxlSW1hZ2Uob2JqOiBXRmlsZUI2NCB8IHN0cmluZyl7XHJcbiAgICByZXR1cm4gKG9iaiBhcyBXRmlsZUI2NCkuYmFzZTY0ICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjx3YXBwLW1haW4tdGl0bGUgW3RpdGxlXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUzXCIgKm5nSWY9XCJ3YXBwaW5nU2VydmljZSAmJiAoIWZvcmNlTW9iaWxlKVwiIGZ4SGlkZS54cz48L3dhcHAtbWFpbi10aXRsZT5cclxuPGRpdiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGV0YWlsLWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwicm93XCIgZnhIaWRlLnhzIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgKm5nSWY9XCJpc0RyYXcgJiYgaGFzUGFydGljaXBhdGlvbnNcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGV0YWlsLWRlc2t0b3AtYmFyXCIgZnhGbGV4PVwiMTAwXCIgeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGV0YWlsLWxhYmVsXCI+e3sgd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zPy55b3VyTnVtYmVycyB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwicGFydGljaXBhdGlvbi1kZXRhaWwtdmFsdWVcIj5cclxuICAgICAgICB7eyBsb3R0ZXJ5RXZlbnQ/LmxvdHRlcnlFdmVudE5leHREcmF3Py5za3lXYXBwQ2FyZFRyYW5zYWN0aW9uSWRzPy5qb2luKCcsICcpIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInBhcnRpY2lwYXRpb24tZGV0YWlsLWxhYmVsXCI+e3sgd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zPy53aW5uZXJEYXRlIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJwYXJ0aWNpcGF0aW9uLWRldGFpbC1kYXRlXCI+e3sgbG90dGVyeUV2ZW50Py5sb3R0ZXJ5RXZlbnROZXh0RHJhdz8uZHJhd0RhdGUgfCBkYXRlOidtZWRpdW0nIH19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJzZXJ2aWNlLWRldGFpbC1jZW50ZXJcIiAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2ZvcmNlLW1vYmlsZSc6IGZvcmNlTW9iaWxlfVwiXHJcbiAgICAgICAgW2Z4TGF5b3V0XT1cImZvcmNlTW9iaWxlID8gJ2NvbHVtbicgOiAncm93J1wiXHJcbiAgICAgICAgW2Z4TGF5b3V0LnhzXT1cIidjb2x1bW4nXCJcclxuICAgICAgICBbZnhMYXlvdXQuc21dPVwiJ2NvbHVtbidcIj5cclxuICAgIDwhLS1zZXJ2aWNlIGltYWdlLS0+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnc2VydmljZS12aWV3LW5vLW1hcmdpbic6IGZvcmNlTW9iaWxlLCAnc2VydmljZS12aWV3JzogIWZvcmNlTW9iaWxlfVwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgPCEtLXRpbGUgMS0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGFzSHRtbCh3YXBwaW5nU2VydmljZS50aWxlMSkgJiYgd2FwcGluZ1NlcnZpY2UudGlsZTEgJiYgd2FwcGluZ1NlcnZpY2UudGlsZTEgIT0gJydcIiBjbGFzcz1cInNlcnZpY2UtaW1hZ2UtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2Utdmlldy10aWxlMS1uby1odG1sXCIgW2lubmVySFRNTF09XCJ3YXBwaW5nU2VydmljZS50aWxlMVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNIdG1sKHdhcHBpbmdTZXJ2aWNlLnRpbGUxKSAmJiB3YXBwaW5nU2VydmljZS50aWxlMSAmJiB3YXBwaW5nU2VydmljZS50aWxlMSAhPSAnJ1wiIGNsYXNzPVwidGVtcGxhdGUtc2VydmljZS1pbWFnZS10aWxlIHNlcnZpY2UtY2FyZC1pbWFnZS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS12aWV3LXRpbGUxXCIgW2lubmVySFRNTF09XCJ3YXBwaW5nU2VydmljZS50aWxlMVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1zbGlkZXNob3ctLT5cclxuICAgICAgICA8d2FwcC1jYXJvdXNlbCBbaXNEZXZNb2RlQWN0aXZlXT1cImlzRGV2TW9kZUFjdGl2ZVwiIFtmb3JjZU1vYmlsZV09XCJmb3JjZU1vYmlsZVwiIFtpbWFnZXNdPVwid2FwcGluZ1NlcnZpY2VJbWFnZXNcIiBbaXNOb0ltYWdlXT1cImlzTm9JbWFnZVwiIChvblNldEltYWdlRXZlbnQpPVwic2V0SW1hZ2UoKVwiIFtvbkhvdmVySW1hZ2VUb29sdGlwXT1cIm9uSG92ZXJJbWFnZVRvb2x0aXBcIj48L3dhcHAtY2Fyb3VzZWw+XHJcbiAgICAgICAgPCEtLXRpbGUgMi0tPlxyXG4gICAgICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjVweFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndGVtcGxhdGUtc2VydmljZS10aWxlJzogaGFzSHRtbCh3YXBwaW5nU2VydmljZS50aWxlMiksXHJcbiAgICAgICAgICAgICAgICAnc2VydmljZS10aWxlJyA6ICFoYXNIdG1sKHdhcHBpbmdTZXJ2aWNlLnRpbGUyKX1cIlxyXG4gICAgICAgICAgICAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlLnRpbGUyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXZpZXctdGlsZTJcIiBbaW5uZXJIdG1sXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUyXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWFjdGl2YXRlIHRvZ2dsZS0tPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwic2VydmljZS1zZWxlY3QtdG9nZ2xlXCIgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlLmFsbG93U2VsZWN0ICYmIGFsbG93U2VsZWN0U2VuZEdpZnRDYXJkICYmICFzaG93QnV0dG9uU2VydmljZSAmJiBzaG93VG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkVG9nZ2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ3YXBwaW5nU2VydmljZS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdFdhcHBpbmdTZXJ2aWNlKClcIj57eyBzZXJ2aWNlU3RhdHVzIH19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uICpuZ0lmPVwic2hvd0J1dHRvblNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZXJ2aWNlLXZpZXctYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGZ4RmxleD1cIjEwMFwiIGZ4SGlkZSBmeFNob3cueHNcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZEJ1dHRvblNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXNzQnV0dG9uU2VydmljZSgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXZpZXctcGFydGljaXBhdGVcIiAqbmdJZj1cImlzRHJhd1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VydmljZS12aWV3LXBhcnRpY2lwYXRpb24taWNvblwiICpuZ0lmPVwiZmlyc3RQYXJ0aWNpcGF0aW9uXCIgc3ZnSWNvbj1cInBhcnRpY2lwYXRlXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNlcnZpY2Utdmlldy1wYXJ0aWNpcGF0aW9uLWljb25cIiAqbmdJZj1cIiFmaXJzdFBhcnRpY2lwYXRpb25cIiBzdmdJY29uPVwicGFydGljaXBhdGUtYWdhaW5cIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXJ2aWNlLXZpZXctYnV0dG9uLWxhYmVsXCI+e3sgd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zPy5idXR0b25TZXJ2aWNlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNpcGF0aW9uLWRldGFpbC1jb250YWluZXItbW9iaWxlXCIgZnhIaWRlIGZ4U2hvdy54cyAqbmdJZj1cImlzRHJhdyAmJiBoYXNQYXJ0aWNpcGF0aW9uc1wiPlxyXG4gIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFydGljaXBhdGlvbi1kZXRhaWwtbW9iaWxlLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNpcGF0aW9uLWRhdGUtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1saWdodFwiPnt7IHdhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucz8ud2lubmVyRGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtYm9sZFwiPnt7IGxvdHRlcnlFdmVudD8ubG90dGVyeUV2ZW50TmV4dERyYXc/LmRyYXdEYXRlIHwgZGF0ZTonZGQvTU0veXl5eScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib3R0b20tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJudW1iZXJzLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJudW1iZXJzLXRpdGxlXCI+e3sgd2FwcGluZ1NlcnZpY2VzVHJhbnNsYXRpb25zPy55b3VyTnVtYmVycyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlcnMtbGlzdC12ZXJ0aWNhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlci1pdGVtXCIgKm5nRm9yPVwibGV0IGlkIG9mIGxvdHRlcnlFdmVudD8ubG90dGVyeUV2ZW50TmV4dERyYXc/LnNreVdhcHBDYXJkVHJhbnNhY3Rpb25JZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpZCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibnVtYmVyXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1zZXJ2aWNlIGluZm8tLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWluZm8tY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydzZXJ2aWNlLWluZm8tY29udGFpbmVyLXBhZGRpbmcnOiBmb3JjZU1vYmlsZX1cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXRpbGUtZGV0YWlsLWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgPCEtLXRpbGUgMy0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWZvcmNlTW9iaWxlXCJcclxuICAgICAgICAgICAgICAgIFtpbm5lckh0bWxdPVwid2FwcGluZ1NlcnZpY2UudGlsZTNcIiBmeEhpZGUgZnhTaG93LnhzXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlcnZpY2UtbmFtZSBtYXQtdGl0bGVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb3JjZU1vYmlsZVwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VydmljZS1uYW1lIG1hdC10aXRsZVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLXRpbGVEZXRhaWwgMS0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS10aWxlLWRldGFpbFwiIGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIdG1sXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGVEZXRhaWwxXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2Utdmlldy1jb250YWluZXItYnV0dG9uXCIgZnhIaWRlLnhzICpuZ0lmPVwic2hvd0J1dHRvblNlcnZpY2VcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VydmljZS12aWV3LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkQnV0dG9uU2VydmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmVzc0J1dHRvblNlcnZpY2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXZpZXctcGFydGljaXBhdGVcIiAqbmdJZj1cImlzRHJhd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzZXJ2aWNlLXZpZXctcGFydGljaXBhdGlvbi1pY29uXCIgKm5nSWY9XCJmaXJzdFBhcnRpY2lwYXRpb25cIiBzdmdJY29uPVwicGFydGljaXBhdGVcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzZXJ2aWNlLXZpZXctcGFydGljaXBhdGlvbi1pY29uXCIgKm5nSWY9XCIhZmlyc3RQYXJ0aWNpcGF0aW9uXCIgc3ZnSWNvbj1cInBhcnRpY2lwYXRlLWFnYWluXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlcnZpY2Utdmlldy1idXR0b24tbGFiZWxcIj57eyB3YXBwaW5nU2VydmljZXNUcmFuc2xhdGlvbnM/LmJ1dHRvblNlcnZpY2UgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWxpbmstLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1saW5rLWNvbnRhaW5lclwiICpuZ0lmPVwid2FwcGluZ1NlcnZpY2UudGl0bGVMaW5rVXJsICYmIHdhcHBpbmdTZXJ2aWNlLmxpbmtVcmxcIj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJzZXJ2aWNlLWxpbmtcIiBocmVmPVwie3t3YXBwaW5nU2VydmljZS5saW5rVXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNlcnZpY2UtbGluay1pY29uXCIgc3ZnSWNvbj1cInNoYXJlX3NxdWFyZVwiPjwvbWF0LWljb24+PHNwYW4+e3t3YXBwaW5nU2VydmljZS50aXRsZUxpbmtVcmx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuPC9kaXY+Il19
|