game-lobby-lib 0.0.9 → 0.0.11
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/esm2022/lib/banners/banners.component.mjs +4 -4
- package/esm2022/lib/casino-lobby/casino-lobby.component.mjs +86 -14
- package/esm2022/lib/game-lobby-lib.component.mjs +13 -8
- package/fesm2022/game-lobby-lib.mjs +98 -21
- package/fesm2022/game-lobby-lib.mjs.map +1 -1
- package/lib/casino-lobby/casino-lobby.component.d.ts +13 -3
- package/lib/game-lobby-lib.component.d.ts +4 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, ViewChildren,
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, ViewChildren, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../theme/themeService.service";
|
|
@@ -47,11 +47,11 @@ export class BannersComponent {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BannersComponent, deps: [{ token: i1.GameLobbyThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BannersComponent, isStandalone: true, selector: "app-banners", inputs: { bannerData: "bannerData", theme: "theme", bannerOverlay: "bannerOverlay" }, outputs: { routerLinkClicked: "routerLinkClicked" }, viewQueries: [{ propertyName: "btnSpans", predicate: ["btnSpan"], descendants: true }], ngImport: i0, template: "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css\">\r\n<div class=\"cm-banner\"> \r\n <ng-container *ngIf=\"bannerOverlay\">\r\n <ng-container *ngTemplateOutlet=\"bannerOverlay\"></ng-container>\r\n </ng-container>\r\n <swiper-container\r\n class=\"my-swiper\"\r\n slides-per-view=\"1\"\r\n pagination=\"true\"\r\n pagination-clickable=\"true\"\r\n speed=\"500\"\r\n [loop]=\"slides.length > 1\"\r\n autoplay=\"true\"\r\n autoplay-delay=\"15000\"\r\n css-mode=\"true\">\r\n <swiper-slide *ngFor=\"let slide of slides\">\r\n <div [id]=\"slide.id\" class=\"slideWrapper\">\r\n <img [src]=\"baseUrl + '/uploads/banner/' + slide.imagePath\" [alt]=\"slide.name\" >\r\n <div class=\"
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BannersComponent, isStandalone: true, selector: "app-banners", inputs: { bannerData: "bannerData", theme: "theme", bannerOverlay: "bannerOverlay" }, outputs: { routerLinkClicked: "routerLinkClicked" }, viewQueries: [{ propertyName: "btnSpans", predicate: ["btnSpan"], descendants: true }], ngImport: i0, template: "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css\">\r\n<div class=\"cm-banner\"> \r\n <ng-container *ngIf=\"bannerOverlay\">\r\n <ng-container *ngTemplateOutlet=\"bannerOverlay\"></ng-container>\r\n </ng-container>\r\n <swiper-container\r\n class=\"my-swiper\"\r\n slides-per-view=\"1\"\r\n pagination=\"true\"\r\n pagination-clickable=\"true\"\r\n speed=\"500\"\r\n [loop]=\"slides.length > 1\"\r\n autoplay=\"true\"\r\n autoplay-delay=\"15000\"\r\n css-mode=\"true\">\r\n <swiper-slide *ngFor=\"let slide of slides\">\r\n <div [id]=\"slide.id\" class=\"slideWrapper\">\r\n <img [src]=\"baseUrl + '/uploads/banner/' + slide.imagePath\" [alt]=\"slide.name\" >\r\n <div class=\"lobbylib_cm-slider__btn\" \r\n [ngStyle]=\"{\r\n 'background-color': hoveredSlideId === slide.id ? (theme?.background || '#262626') : (theme?.buttonBackgroundColor || ''),\r\n 'color': theme?.textColor || '#fff',\r\n 'border': theme?.border || 'none'\r\n }\"\r\n (mouseenter)=\"hoveredSlideId = slide.id\"\r\n (mouseleave)=\"hoveredSlideId = null\"\r\n (click)=\"getRouterLinkFromButton(slide.button)\"\r\n >\r\n <span [innerHTML]=\"slide.button || ''\" > </span>\r\n \r\n </div>\r\n </div>\r\n </swiper-slide>\r\n </swiper-container>\r\n</div>\r\n", styles: [".cm-banner{width:100%;max-width:1280px;display:block;position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}@media (max-width: 1280px){.cm-banner{padding:0 20px}}@media (max-width: 768px){.cm-banner{padding:0 15px}}@media (max-width: 480px){.cm-banner{padding:0 10px}}.cm-banner .slideWrapper{position:relative;width:100%;font-weight:400;overflow:hidden}.cm-banner .slideWrapper img{width:100%;height:auto;max-width:1280px;aspect-ratio:1280/340;object-fit:cover;object-position:center;display:block;border-radius:4px}@media (max-width: 1280px){.cm-banner .slideWrapper img{aspect-ratio:16/5}}@media (max-width: 768px){.cm-banner .slideWrapper img{aspect-ratio:16/6}}@media (max-width: 480px){.cm-banner .slideWrapper img{aspect-ratio:4/3}}.cm-banner .slideWrapper .lobbylib_cm-slider__btn{position:absolute;border-radius:4px;left:25%;bottom:40px;z-index:2;padding:20px;cursor:pointer;transition:all .3s ease}@media (max-width: 1024px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn{left:20%;bottom:40px;padding:15px}}@media (max-width: 768px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn{left:50%;transform:translate(-50%);bottom:30px;padding:12px}}@media (max-width: 480px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn{bottom:20px;padding:10px}}.cm-banner .slideWrapper .lobbylib_cm-slider__btn .btn{font-weight:200;border:none;border-radius:4px;font-size:1rem;padding:18px 36px;letter-spacing:1px}@media (max-width: 768px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn .btn{font-size:.9rem;padding:14px 28px}}@media (max-width: 480px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn .btn{font-size:.8rem;padding:10px 20px}}.my-swiper{width:100%;max-width:1280px;--swiper-pagination-bottom: 15px;--swiper-pagination-bullet-inactive-color: #999;--swiper-pagination-color: #fff;--swiper-pagination-bullet-size: 15px}@media (max-width: 768px){.my-swiper{--swiper-pagination-bullet-size: 12px;--swiper-pagination-bottom: 10px}}@media (max-width: 480px){.my-swiper{--swiper-pagination-bullet-size: 10px;--swiper-pagination-bottom: 8px}}.my-swiper::part(pagination){left:0!important;right:0!important;text-align:center!important;width:100%!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;padding-right:400px!important}@media (max-width: 1280px){.my-swiper::part(pagination){padding-right:300px!important;justify-content:flex-end!important}}@media (max-width: 768px){.my-swiper::part(pagination){padding-right:200px!important;justify-content:flex-end!important}}@media (max-width: 480px){.my-swiper::part(pagination){justify-content:center!important;padding-right:200px!important}}@media (max-width: 80px){.my-swiper::part(pagination){justify-content:center!important;padding-right:100px!important}}.my-swiper::part(bullet){background:#999!important}.my-swiper::part(bullet-active){background:#fff!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
51
51
|
}
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BannersComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'app-banners', standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
54
|
+
args: [{ selector: 'app-banners', standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css\">\r\n<div class=\"cm-banner\"> \r\n <ng-container *ngIf=\"bannerOverlay\">\r\n <ng-container *ngTemplateOutlet=\"bannerOverlay\"></ng-container>\r\n </ng-container>\r\n <swiper-container\r\n class=\"my-swiper\"\r\n slides-per-view=\"1\"\r\n pagination=\"true\"\r\n pagination-clickable=\"true\"\r\n speed=\"500\"\r\n [loop]=\"slides.length > 1\"\r\n autoplay=\"true\"\r\n autoplay-delay=\"15000\"\r\n css-mode=\"true\">\r\n <swiper-slide *ngFor=\"let slide of slides\">\r\n <div [id]=\"slide.id\" class=\"slideWrapper\">\r\n <img [src]=\"baseUrl + '/uploads/banner/' + slide.imagePath\" [alt]=\"slide.name\" >\r\n <div class=\"lobbylib_cm-slider__btn\" \r\n [ngStyle]=\"{\r\n 'background-color': hoveredSlideId === slide.id ? (theme?.background || '#262626') : (theme?.buttonBackgroundColor || ''),\r\n 'color': theme?.textColor || '#fff',\r\n 'border': theme?.border || 'none'\r\n }\"\r\n (mouseenter)=\"hoveredSlideId = slide.id\"\r\n (mouseleave)=\"hoveredSlideId = null\"\r\n (click)=\"getRouterLinkFromButton(slide.button)\"\r\n >\r\n <span [innerHTML]=\"slide.button || ''\" > </span>\r\n \r\n </div>\r\n </div>\r\n </swiper-slide>\r\n </swiper-container>\r\n</div>\r\n", styles: [".cm-banner{width:100%;max-width:1280px;display:block;position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}@media (max-width: 1280px){.cm-banner{padding:0 20px}}@media (max-width: 768px){.cm-banner{padding:0 15px}}@media (max-width: 480px){.cm-banner{padding:0 10px}}.cm-banner .slideWrapper{position:relative;width:100%;font-weight:400;overflow:hidden}.cm-banner .slideWrapper img{width:100%;height:auto;max-width:1280px;aspect-ratio:1280/340;object-fit:cover;object-position:center;display:block;border-radius:4px}@media (max-width: 1280px){.cm-banner .slideWrapper img{aspect-ratio:16/5}}@media (max-width: 768px){.cm-banner .slideWrapper img{aspect-ratio:16/6}}@media (max-width: 480px){.cm-banner .slideWrapper img{aspect-ratio:4/3}}.cm-banner .slideWrapper .lobbylib_cm-slider__btn{position:absolute;border-radius:4px;left:25%;bottom:40px;z-index:2;padding:20px;cursor:pointer;transition:all .3s ease}@media (max-width: 1024px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn{left:20%;bottom:40px;padding:15px}}@media (max-width: 768px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn{left:50%;transform:translate(-50%);bottom:30px;padding:12px}}@media (max-width: 480px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn{bottom:20px;padding:10px}}.cm-banner .slideWrapper .lobbylib_cm-slider__btn .btn{font-weight:200;border:none;border-radius:4px;font-size:1rem;padding:18px 36px;letter-spacing:1px}@media (max-width: 768px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn .btn{font-size:.9rem;padding:14px 28px}}@media (max-width: 480px){.cm-banner .slideWrapper .lobbylib_cm-slider__btn .btn{font-size:.8rem;padding:10px 20px}}.my-swiper{width:100%;max-width:1280px;--swiper-pagination-bottom: 15px;--swiper-pagination-bullet-inactive-color: #999;--swiper-pagination-color: #fff;--swiper-pagination-bullet-size: 15px}@media (max-width: 768px){.my-swiper{--swiper-pagination-bullet-size: 12px;--swiper-pagination-bottom: 10px}}@media (max-width: 480px){.my-swiper{--swiper-pagination-bullet-size: 10px;--swiper-pagination-bottom: 8px}}.my-swiper::part(pagination){left:0!important;right:0!important;text-align:center!important;width:100%!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;padding-right:400px!important}@media (max-width: 1280px){.my-swiper::part(pagination){padding-right:300px!important;justify-content:flex-end!important}}@media (max-width: 768px){.my-swiper::part(pagination){padding-right:200px!important;justify-content:flex-end!important}}@media (max-width: 480px){.my-swiper::part(pagination){justify-content:center!important;padding-right:200px!important}}@media (max-width: 80px){.my-swiper::part(pagination){justify-content:center!important;padding-right:100px!important}}.my-swiper::part(bullet){background:#999!important}.my-swiper::part(bullet-active){background:#fff!important}\n"] }]
|
|
55
55
|
}], ctorParameters: () => [{ type: i1.GameLobbyThemeService }], propDecorators: { btnSpans: [{
|
|
56
56
|
type: ViewChildren,
|
|
57
57
|
args: ['btnSpan']
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
64
64
|
}], bannerOverlay: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1lLWxvYmJ5LWxpYi9zcmMvbGliL2Jhbm5lcnMvYmFubmVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1lLWxvYmJ5LWxpYi9zcmMvbGliL2Jhbm5lcnMvYmFubmVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBVSxZQUFZLEVBQTRDLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDNUssT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBWS9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBWSxZQUFtQztRQVAvQyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ1gsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCxrQkFBYSxHQUE0QixJQUFJLENBQUM7UUFDdkQseUVBQXlFO1FBQ3pFLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBR25DLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztRQUMxRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCw2RUFBNkU7UUFDN0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELHVCQUF1QixDQUFDLFVBQWtCO1FBQ3hDLCtDQUErQztRQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILDREQUE0RDtZQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzVELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFbEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNoRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7K0dBbERVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDBTQ2I3QixpOUNBbUNBLCszRkQzQlksWUFBWTs7NEZBS1gsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsV0FDZCxDQUFDLHNCQUFzQixDQUFDOzBGQUtSLFFBQVE7c0JBQWhDLFlBQVk7dUJBQUMsU0FBUztnQkFFZCxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkcmVuLCBWaWV3RW5jYXBzdWxhdGlvbiwgUXVlcnlMaXN0LCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgR2FtZUxvYmJ5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vdGhlbWUvdGhlbWVTZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHYW1lTG9iYnlUaGVtZSB9IGZyb20gJy4uL3RoZW1lL2RlZmF1bHQtdGhlbWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmFubmVycycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhbm5lcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iYW5uZXJzLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbm5lcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2J0blNwYW4nKSBidG5TcGFucyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgQElucHV0KCkgYmFubmVyRGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIHRoZW1lPzogR2FtZUxvYmJ5VGhlbWU7XHJcbiAgYmFzZVVybDogc3RyaW5nID0gJyc7XHJcbiAgQE91dHB1dCgpIHJvdXRlckxpbmtDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQElucHV0KCkgYmFubmVyT3ZlcmxheTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG4gIC8vIEZJWDogSW5pdGlhbGl6ZSBzbGlkZXMgYXMgZW1wdHkgYXJyYXkgdG8gcHJldmVudCBudWxsIHJlZmVyZW5jZSBlcnJvcnNcclxuICBzbGlkZXM6IGFueVtdID0gW107XHJcbiAgaG92ZXJlZFNsaWRlSWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHRoZW1lU2VydmljZTogR2FtZUxvYmJ5VGhlbWVTZXJ2aWNlKSB7XHJcbiAgICB0aGVtZVNlcnZpY2UudGhlbWUkLnN1YnNjcmliZSh0ID0+ICh0aGlzLnRoZW1lID0gdCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnQmFubmVyIGJhbm5lck92ZXJsYXk6JywgdGhpcy5iYW5uZXJPdmVybGF5KTsgLy8gRGVidWcgbG9nIHRvIGNoZWNrIGJhbm5lckRhdGFcclxuICAgIHRoaXMuc2V0RGF0YVRoZW1lcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YVRoZW1lcygpOiB2b2lkIHtcclxuICAgIC8vIEZJWDogQWRkIHNhZmUgbmF2aWdhdGlvbiB0byBwcmV2ZW50IGVycm9ycyBpZiBiYW5uZXJEYXRhIGlzIG51bGwvdW5kZWZpbmVkXHJcbiAgICB0aGlzLnNsaWRlcyA9IHRoaXMuYmFubmVyRGF0YS5iYW5uZXJEYXRhIHx8IFtdO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5iYW5uZXJEYXRhLmJhc2VVcmwgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBnZXRSb3V0ZXJMaW5rRnJvbUJ1dHRvbihidXR0b25IdG1sOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIEZJWDogQWRkIG51bGwvdW5kZWZpbmVkIGNoZWNrIGZvciBidXR0b25IdG1sXHJcbiAgICBpZiAoIWJ1dHRvbkh0bWwpIHtcclxuICAgICAgdGhpcy5yb3V0ZXJMaW5rQ2xpY2tlZC5lbWl0KCcnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIFBhcnNlIHRoZSBIVE1MIHN0cmluZyB0byBleHRyYWN0IHRoZSByb3V0ZXJsaW5rIGF0dHJpYnV0ZVxyXG4gICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XHJcbiAgICAgIGNvbnN0IGRvYyA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoYnV0dG9uSHRtbCwgJ3RleHQvaHRtbCcpO1xyXG4gICAgICBjb25zdCBhbmNob3IgPSBkb2MucXVlcnlTZWxlY3RvcignYVtyb3V0ZXJsaW5rXScpO1xyXG4gICAgICBcclxuICAgICAgaWYgKGFuY2hvcikge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlckxpbmsgPSBhbmNob3IuZ2V0QXR0cmlidXRlKCdyb3V0ZXJsaW5rJyk7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXJMaW5rQ2xpY2tlZC5lbWl0KHJvdXRlckxpbmsgfHwgJycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyTGlua0NsaWNrZWQuZW1pdCgnJyk7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgYnV0dG9uIEhUTUw6JywgZXJyb3IpO1xyXG4gICAgICB0aGlzLnJvdXRlckxpbmtDbGlja2VkLmVtaXQoJycpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIjxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiBocmVmPVwiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzYuNS4wL2Nzcy9hbGwubWluLmNzc1wiPlxyXG48ZGl2IGNsYXNzPVwiY20tYmFubmVyXCI+IFxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYW5uZXJPdmVybGF5XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJiYW5uZXJPdmVybGF5XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHN3aXBlci1jb250YWluZXJcclxuICAgIGNsYXNzPVwibXktc3dpcGVyXCJcclxuICAgIHNsaWRlcy1wZXItdmlldz1cIjFcIlxyXG4gICAgcGFnaW5hdGlvbj1cInRydWVcIlxyXG4gICAgcGFnaW5hdGlvbi1jbGlja2FibGU9XCJ0cnVlXCJcclxuICAgIHNwZWVkPVwiNTAwXCJcclxuICAgIFtsb29wXT1cInNsaWRlcy5sZW5ndGggPiAxXCJcclxuICAgIGF1dG9wbGF5PVwidHJ1ZVwiXHJcbiAgICBhdXRvcGxheS1kZWxheT1cIjE1MDAwXCJcclxuICAgIGNzcy1tb2RlPVwidHJ1ZVwiPlxyXG4gICAgPHN3aXBlci1zbGlkZSAqbmdGb3I9XCJsZXQgc2xpZGUgb2Ygc2xpZGVzXCI+XHJcbiAgICAgIDxkaXYgW2lkXT1cInNsaWRlLmlkXCIgY2xhc3M9XCJzbGlkZVdyYXBwZXJcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiYmFzZVVybCArICcvdXBsb2Fkcy9iYW5uZXIvJyArIHNsaWRlLmltYWdlUGF0aFwiIFthbHRdPVwic2xpZGUubmFtZVwiID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9iYnlsaWJfY20tc2xpZGVyX19idG5cIiBcclxuICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBob3ZlcmVkU2xpZGVJZCA9PT0gc2xpZGUuaWQgPyAodGhlbWU/LmJhY2tncm91bmQgfHwgJyMyNjI2MjYnKSA6ICh0aGVtZT8uYnV0dG9uQmFja2dyb3VuZENvbG9yIHx8ICcnKSxcclxuICAgICAgICAgICAgICAgJ2NvbG9yJzogdGhlbWU/LnRleHRDb2xvciB8fCAnI2ZmZicsXHJcbiAgICAgICAgICAgICAgICdib3JkZXInOiB0aGVtZT8uYm9yZGVyIHx8ICdub25lJ1xyXG4gICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkU2xpZGVJZCA9IHNsaWRlLmlkXCJcclxuICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWRTbGlkZUlkID0gbnVsbFwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0Um91dGVyTGlua0Zyb21CdXR0b24oc2xpZGUuYnV0dG9uKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzbGlkZS5idXR0b24gfHwgJydcIiA+IDwvc3Bhbj5cclxuICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zd2lwZXItc2xpZGU+XHJcbiAgPC9zd2lwZXItY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
|