oasys-lib 1.85.0 → 1.85.1-rc.0
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/components/carousel/carousel.component.mjs +3 -3
- package/fesm2022/oasys-lib.mjs +2 -2
- package/fesm2022/oasys-lib.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/bloomandwild/variables.css +1 -1
- package/src/assets/bloomon/variables.css +1 -1
- package/src/assets/global/scss-breakpoints.scss +1 -1
|
@@ -217,11 +217,11 @@ export class CarouselComponent {
|
|
|
217
217
|
this.activeIndexOnSlideChange.emit(swiper.activeIndex);
|
|
218
218
|
}
|
|
219
219
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CarouselComponent, deps: [{ token: i1.TokenService }, { token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
220
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CarouselComponent, selector: "ui-carousel", inputs: { rewind: "rewind", carousel_overflow: "carousel_overflow", carousel_gap: "carousel_gap", carousel_pagination: "carousel_pagination", carousel_slides_per_view_desktop: "carousel_slides_per_view_desktop", carousel_slides_per_view_laptop: "carousel_slides_per_view_laptop", carousel_slides_per_view_tablet: "carousel_slides_per_view_tablet", carousel_slides_per_view_mobile: "carousel_slides_per_view_mobile", text_for_left_arrow: "text_for_left_arrow", text_for_right_arrow: "text_for_right_arrow", carousel_rows_per_row_mobile: "carousel_rows_per_row_mobile", carousel_loading: "carousel_loading", carousel_free_mode: "carousel_free_mode", center_insufficient_slides: "center_insufficient_slides", center_active_slide: "center_active_slide", start_slide: "start_slide", offset_scrollbar_top: "offset_scrollbar_top" }, outputs: { activeIndexOnSlideChange: "activeIndexOnSlideChange" }, viewQueries: [{ propertyName: "swiper", first: true, predicate: ["swiper"], descendants: true, static: true }, { propertyName: "carouselscrollbarplaceholder", first: true, predicate: ["carouselscrollbarplaceholder"], descendants: true, read: ElementRef }, { propertyName: "carouselctastack", first: true, predicate: ["carouselctastack"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CarouselComponent, selector: "ui-carousel", inputs: { rewind: "rewind", carousel_overflow: "carousel_overflow", carousel_gap: "carousel_gap", carousel_pagination: "carousel_pagination", carousel_slides_per_view_desktop: "carousel_slides_per_view_desktop", carousel_slides_per_view_laptop: "carousel_slides_per_view_laptop", carousel_slides_per_view_tablet: "carousel_slides_per_view_tablet", carousel_slides_per_view_mobile: "carousel_slides_per_view_mobile", text_for_left_arrow: "text_for_left_arrow", text_for_right_arrow: "text_for_right_arrow", carousel_rows_per_row_mobile: "carousel_rows_per_row_mobile", carousel_loading: "carousel_loading", carousel_free_mode: "carousel_free_mode", center_insufficient_slides: "center_insufficient_slides", center_active_slide: "center_active_slide", start_slide: "start_slide", offset_scrollbar_top: "offset_scrollbar_top" }, outputs: { activeIndexOnSlideChange: "activeIndexOnSlideChange" }, viewQueries: [{ propertyName: "swiper", first: true, predicate: ["swiper"], descendants: true, static: true }, { propertyName: "carouselscrollbarplaceholder", first: true, predicate: ["carouselscrollbarplaceholder"], descendants: true, read: ElementRef }, { propertyName: "carouselctastack", first: true, predicate: ["carouselctastack"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack *ngIf=\"carousel_pagination === 'small-arrows'\" stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n box_space=\"none\"\n box_fill_mode=\"fit\"\n box_space_bottom=\"near\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n\n <!-- Swiper WebComponent-->\n <swiper-container\n #swiper\n init=\"false\"\n touch-start-prevent-default=\"false\"\n prevent-clicks-propagation=\"true\">\n <ng-content></ng-content>\n </swiper-container>\n\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" *ngIf=\"carousel_pagination === 'scroll-arrows' || carousel_pagination === 'scroll-bar'\">\n <div class=\"ui-carousel-scrollbar-placeholder\" #carouselscrollbarplaceholder></div>\n <ui-box\n *ngIf=\"carousel_pagination === 'scroll-arrows'\"\n box_space=\"none\"\n box_fill_mode=\"fit\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n </ui-stack>\n</ui-box>\n", styles: [":root{--swiper-scrollbar-size: 4px}.ui-carousel{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ui-carousel swiper-container{width:100%}.ui-carousel .ui-carousel-scrollbar-placeholder{width:100%;display:flex;align-self:stretch}.ui-carousel swiper-slide img{-webkit-user-drag:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.OasysButtonComponent, selector: "ui-button", inputs: ["button_icon", "button_icon_placement", "button_size", "button_type", "button_full_width", "button_event_type", "button_disabled", "button_selected", "button_text_nowrap", "aria_label", "aria_role", "href"], outputs: ["clicked"] }, { kind: "component", type: i4.LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "component", type: i5.LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
221
221
|
}
|
|
222
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
223
223
|
type: Component,
|
|
224
|
-
args: [{ selector: 'ui-carousel', encapsulation: ViewEncapsulation.None, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n
|
|
224
|
+
args: [{ selector: 'ui-carousel', encapsulation: ViewEncapsulation.None, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack *ngIf=\"carousel_pagination === 'small-arrows'\" stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n box_space=\"none\"\n box_fill_mode=\"fit\"\n box_space_bottom=\"near\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n\n <!-- Swiper WebComponent-->\n <swiper-container\n #swiper\n init=\"false\"\n touch-start-prevent-default=\"false\"\n prevent-clicks-propagation=\"true\">\n <ng-content></ng-content>\n </swiper-container>\n\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" *ngIf=\"carousel_pagination === 'scroll-arrows' || carousel_pagination === 'scroll-bar'\">\n <div class=\"ui-carousel-scrollbar-placeholder\" #carouselscrollbarplaceholder></div>\n <ui-box\n *ngIf=\"carousel_pagination === 'scroll-arrows'\"\n box_space=\"none\"\n box_fill_mode=\"fit\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n </ui-stack>\n</ui-box>\n", styles: [":root{--swiper-scrollbar-size: 4px}.ui-carousel{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ui-carousel swiper-container{width:100%}.ui-carousel .ui-carousel-scrollbar-placeholder{width:100%;display:flex;align-self:stretch}.ui-carousel swiper-slide img{-webkit-user-drag:none}\n"] }]
|
|
225
225
|
}], ctorParameters: () => [{ type: i1.TokenService }, { type: Document, decorators: [{
|
|
226
226
|
type: Inject,
|
|
227
227
|
args: [DOCUMENT]
|
|
@@ -271,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
271
271
|
}], activeIndexOnSlideChange: [{
|
|
272
272
|
type: Output
|
|
273
273
|
}] } });
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU12QixvRUFBb0U7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQWlDNUIsWUFBb0IsWUFBMEIsRUFBNEIsUUFBa0IsRUFBVSxPQUFtQjtRQUFyRyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUE0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQTNCekgsc0ZBQXNGO1FBQzdFLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLGlCQUFZLEdBQTBDLFNBQVMsQ0FBQztRQUVoRSx3QkFBbUIsR0FBNkQsTUFBTSxDQUFDO1FBRXZGLHFDQUFnQyxHQUFXLENBQUMsQ0FBQztRQUM3QyxvQ0FBK0IsR0FBVyxDQUFDLENBQUM7UUFDNUMsb0NBQStCLEdBQVcsR0FBRyxDQUFDO1FBQzlDLG9DQUErQixHQUFXLElBQUksQ0FBQztRQUMvQyx3QkFBbUIsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQyx5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFFNUMsaUNBQTRC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LGloSUE2RkE7OzRGRHBFYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzswQkFtQ1ksTUFBTTsyQkFBQyxRQUFRO2tFQS9CekIsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUMyQyw0QkFBNEI7c0JBQTNHLFNBQVM7dUJBQUMsOEJBQThCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ1YsZ0JBQWdCO3NCQUFuRixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUd6RCxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFDRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLCtCQUErQjtzQkFBdkMsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksd0JBQXdCO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbmplY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN3aXBlciBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgU3dpcGVyT3B0aW9ucyB9IGZyb20gJ3N3aXBlci90eXBlcyc7XG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN3aXBlckNvbnRhaW5lciB9IGZyb20gJ3N3aXBlci9lbGVtZW50JztcblxuLyogVGhpcyBjb21wb25lbnQgd3JhcHMgYXJvdW5kIHRoZSBzd2lwZXIuanMgbGlicmFyeSBXZWJDb21wb25lbnQgKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVGhlIHN3aXBlciBpbnN0YW5jZVxuICBAVmlld0NoaWxkKCdzd2lwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBzd2lwZXI6IEVsZW1lbnRSZWY8U3dpcGVyQ29udGFpbmVyPjtcbiAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBjYXJvdXNlbHNjcm9sbGJhcnBsYWNlaG9sZGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjYXJvdXNlbGN0YXN0YWNrJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIGNhcm91c2VsY3Rhc3RhY2s6IEVsZW1lbnRSZWY7XG5cbiAgLy8gUmV3aW5kcyB0aGUgc2xpZGVzIGJhY2sgdG8gdGhlIHN0YXJ0IHdoZW4gdGhlIHVzZXIgcmVhY2hlcyB0aGUgZW5kIHdoZW4gc2V0IHRvIHRydWVcbiAgQElucHV0KCkgcmV3aW5kOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfb3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjYXJvdXNlbF9nYXA6ICdkZWZhdWx0JyB8ICd0aWdodCcgfCAnbmVhcicgfCAnbm9uZScgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfcGFnaW5hdGlvbjogJ3Njcm9sbC1hcnJvd3MnIHwgJ25vbmUnIHwgJ3Njcm9sbC1iYXInIHwgJ3NtYWxsLWFycm93cycgPSAnbm9uZSc7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X2Rlc2t0b3A6IG51bWJlciA9IDQ7XG4gIEBJbnB1dCgpIGNhcm91c2VsX3NsaWRlc19wZXJfdmlld19sYXB0b3A6IG51bWJlciA9IDM7XG4gIEBJbnB1dCgpIGNhcm91c2VsX3NsaWRlc19wZXJfdmlld190YWJsZXQ6IG51bWJlciA9IDIuNTtcbiAgQElucHV0KCkgY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X21vYmlsZTogbnVtYmVyID0gMS4yNTtcbiAgQElucHV0KCkgdGV4dF9mb3JfbGVmdF9hcnJvdzogc3RyaW5nID0gJ3ByZXZpb3VzIHNsaWRlJztcbiAgQElucHV0KCkgdGV4dF9mb3JfcmlnaHRfYXJyb3c6IHN0cmluZyA9ICduZXh0IHNsaWRlJztcblxuICBASW5wdXQoKSBjYXJvdXNlbF9yb3dzX3Blcl9yb3dfbW9iaWxlOiAxIHwgMiA9IDE7IC8vIFJlcXVpcmVkIGZvciBDQVRFR09SWV9DQVJEIGV4cGVyaW1lbnQuIFJlbW92ZSBpZiBleHBlcmltZW50IGZhaWxzLlxuXG4gIEBJbnB1dCgpIGNhcm91c2VsX2xvYWRpbmc6ICdsYXp5JyB8ICdlYWdlcicgPSAnbGF6eSc7IC8vIElmIHdlIGRvbid0IGhhdmUgbXVsdGlwbGUgY2Fyb3VzZWxzIG9uIHBhZ2UgYW5kIHdhbnQgdG8gcHJpb3JpdGlzZSBVSSBsb2FkaW5nIG9uIHRpbWVcbiAgQElucHV0KCkgY2Fyb3VzZWxfZnJlZV9tb2RlOiBib29sZWFuID0gZmFsc2U7IC8vIEVuYWJsZXMgc2Nyb2xsaW5nIHdpdGggbW91c2V3aGVlbCAvIHNtb290aGVyIG1vbWVudHVtIHN3aXBpbmcgZXhwZXJpZW5jZVxuICBASW5wdXQoKSBjZW50ZXJfaW5zdWZmaWNpZW50X3NsaWRlczogYm9vbGVhbiA9IHRydWU7IC8vIENlbnRlcnMgdGhlIHNsaWRlcyBpZiB0aGVyZSBhcmUgbm90IGVub3VnaCB0byBmaWxsIHRoZSBzcGFjZVxuICBASW5wdXQoKSBjZW50ZXJfYWN0aXZlX3NsaWRlOiBib29sZWFuID0gZmFsc2U7IC8vIENlbnRlcnMgdGhlIGFjdGl2ZSBzbGlkZVxuICBASW5wdXQoKSBzdGFydF9zbGlkZTogbnVtYmVyID0gMDsgLy8gU3RhcnQgc2xpZGUgaW5kZXhcbiAgQElucHV0KCkgb2Zmc2V0X3Njcm9sbGJhcl90b3A6IGJvb2xlYW4gPSBmYWxzZTsgLy8gT2Zmc2V0IHRoZSBzY3JvbGxiYXIgdG8gdGhlIHRvcCBvZiB0aGUgY2Fyb3VzZWxcblxuICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhPblNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXJvdXNlbF9sb2FkaW5nID09PSAnbGF6eScpIHtcbiAgICAgIHRoaXMuc2V0VXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRTd2lwZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgd2l0aCB0aGUgcmVsZXZhbnQgb3B0aW9uc1xuICAgKi9cbiAgc2V0VXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpOiB2b2lkIHtcbiAgICAvLyBTZXQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgb3B0aW9uc1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByb290OiBudWxsLFxuICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICB0aHJlc2hvbGQ6IDAuNSxcbiAgICAgIG9uY2U6IHRydWVcbiAgICB9O1xuICAgIC8vIFNldCB1cCB0aGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLm9uSW50ZXJzZWN0aW9uLmJpbmQodGhpcyksIG9wdGlvbnMpO1xuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gZ2V0cyBjYWxsZWQganVzdCBiZWZvcmUgdGhlIHVzZXIgc2Nyb2xscyB0aGlzIGNvbXBvbmVudCBpbnRvIHZpZXdcbiAgICogQHBhcmFtIGVudHJpZXMgLSBBbiBhcnJheSBvZiBpbnRlcnN3ZWN0aW9uIG9ic2VydmVyIGVudHJpZXNcbiAgICogQHBhcmFtIG9ic2VydmVyIC0gSW50ZXJzZWN0aW9uIG9ic2VydmVyXG4gICAqL1xuICBvbkludGVyc2VjdGlvbihlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10sIG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcik6IHZvaWQge1xuICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpOiB2b2lkID0+IHtcbiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICAvLyBJbml0aWFsaXNlIHN3aXBlclxuICAgICAgICB0aGlzLmluaXRTd2lwZXIoKTtcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRTdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHN0eWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNjcm9sbGJhciBwbGFjZW1lbnQgYW5kIHdpZHRoIGJhc2VkIG9uIGNhcm91c2Vsc2Nyb2xsYmFycGxhY2Vob2xkZXIgYW5kIGNhcm91c2VsY3Rhc3RhY2tcbiAgICovXG4gIHNldHVwU2Nyb2xsYmFyTGF5b3V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnbm9uZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjYXJvdXNlbFN0YWNrOiBIVE1MRWxlbWVudCA9IHRoaXMuY2Fyb3VzZWxjdGFzdGFjaz8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY3JvbGxiYXJFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcj8ubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHNjcm9sbGJhckhlaWdodCA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc3dpcGVyLXNjcm9sbGJhci1zaXplJyk7XG5cbiAgICBpZiAoY2Fyb3VzZWxTdGFjayAmJiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJykge1xuICAgICAgdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoXG4gICAgICAgICctLXVpLWNhcm91c2VsLXNjcm9sbGJhci13aWR0aCcsIGAke3Njcm9sbGJhckVsZW1lbnQ/Lm9mZnNldFdpZHRoIC0gcGFyc2VJbnQodGhpcy5nZXRTdHlsZShjYXJvdXNlbFN0YWNrLCAnZ2FwJyksIDEwKX1weGBcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItb2Zmc2V0LXRvcCcsIGAke3BhcnNlSW50KHRoaXMuZ2V0U3R5bGUoY2Fyb3VzZWxTdGFjaywgJ2dhcCcpLCAxMCkgKyAoc2Nyb2xsYmFyRWxlbWVudD8ub2Zmc2V0SGVpZ2h0IC8gMikgKyAocGFyc2VJbnQoc2Nyb2xsYmFySGVpZ2h0LCAxMCkgLyAyKX1weGBcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItaGVpZ2h0JywgJzJweCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNhcm91c2VsU3RhY2sgJiYgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcicpIHtcbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItd2lkdGgnLCAnMTAwJSdcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItb2Zmc2V0LXRvcCcsIGAke3RoaXMub2Zmc2V0X3Njcm9sbGJhcl90b3AgPyBwYXJzZUludCh0aGlzLmdldFN0eWxlKGNhcm91c2VsU3RhY2ssICdnYXAnKSwgMTApICsgJ3B4JyA6ICcwcHgnfWBcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItaGVpZ2h0JywgJzRweCdcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItbGVmdCcsICcwcHgnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGR5bmFtaWMgc3dpcGVyIHBhcmFtcyBhbmQgaW5pdGlhbGlzZSB0aGUgc3dpcGVyIGluc3RhbmNlXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICBpbml0U3dpcGVyKCk6IHZvaWQge1xuICAgIC8vIENvbG91ciBvdmVyaWRlc1xuICAgIGNvbnN0IHNjcm9sbGJhckJhY2tncm91bmRDb2xvdXIgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKCctLW9hc3lzLWNvbG9yLWxpbmVuLWdyZXktMjAwJyk7XG4gICAgY29uc3Qgc2Nyb2xsYmFyU2xpZGVyQ29sb3VyID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5WYWx1ZSgnLS1vYXN5cy1jb2xvci1icmFuZC1mb3JlZ3JvdW5kLXByaW1hcnknKTtcblxuICAgIC8vIHN3aXBlciBlbGVtZW50XG4gICAgY29uc3Qgc3dpcGVyRWwgPSB0aGlzLnN3aXBlci5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgY2Fyb3VzZWxHYXAgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKGAtLW9hc3lzLXNwYWNpbmctJHt0aGlzLmNhcm91c2VsX2dhcH1gKTtcblxuICAgIC8vIHN3aXBlciBwYXJhbWV0ZXJzXG4gICAgY29uc3Qgc3dpcGVyUGFyYW1zOiBTd2lwZXJPcHRpb25zID0ge1xuICAgICAgcmV3aW5kOiB0aGlzLnJld2luZCxcbiAgICAgIGdyYWJDdXJzb3I6IHRydWUsXG4gICAgICBzcGFjZUJldHdlZW46IChwYXJzZUludChjYXJvdXNlbEdhcC5yZXBsYWNlKCcuJywgJycpLCAxMCkpIHx8IDAsXG4gICAgICBjZW50ZXJlZFNsaWRlczogdGhpcy5jZW50ZXJfYWN0aXZlX3NsaWRlLFxuICAgICAgaW5pdGlhbFNsaWRlOiB0aGlzLnN0YXJ0X3NsaWRlLFxuICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInLFxuICAgICAgICBkcmFnZ2FibGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBjZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXM6IHRoaXMuY2VudGVyX2luc3VmZmljaWVudF9zbGlkZXMsXG4gICAgICBmcmVlTW9kZTogdGhpcy5jYXJvdXNlbF9mcmVlX21vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdGlja3k6IHRydWUsXG4gICAgICAgICAgbW9tZW50dW1WZWxvY2l0eVJhdGlvOiAwLjc1LFxuICAgICAgICAgIG1vbWVudHVtUmF0aW86IDAuNzVcbiAgICAgICAgfVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgbW91c2V3aGVlbDogdGhpcy5jYXJvdXNlbF9mcmVlX21vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgZm9yY2VUb0F4aXM6IHRydWVcbiAgICAgICAgfVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgaW5qZWN0U3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgLnN3aXBlciB7XG4gICAgICAgICAgb3ZlcmZsb3c6ICR7dGhpcy5jYXJvdXNlbF9vdmVyZmxvdyA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiB2YXIoLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItb2Zmc2V0LXRvcCk7XG4gICAgICAgICAgd2lkdGg6IHZhcigtLXVpLWNhcm91c2VsLXNjcm9sbGJhci13aWR0aCk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItaGVpZ2h0KTtcbiAgICAgICAgICBsZWZ0OiAke3RoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInID8gJ3ZhcigtLXVpLWNhcm91c2VsLXNjcm9sbGJhci1sZWZ0KScgOiAnMSUnfTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3Njcm9sbGJhckJhY2tncm91bmRDb2xvdXJ9XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3Njcm9sbGJhclNsaWRlckNvbG91cn1cbiAgICAgICAgfWBcbiAgICAgIF0sXG4gICAgICBicmVha3BvaW50czoge1xuICAgICAgICAwOiB7XG4gICAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fCB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJyxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5jYXJvdXNlbF9zbGlkZXNfcGVyX3ZpZXdfbW9iaWxlLFxuICAgICAgICAgIGdyaWQ6IHtcbiAgICAgICAgICAgIHJvd3M6IHRoaXMuY2Fyb3VzZWxfcm93c19wZXJfcm93X21vYmlsZSxcbiAgICAgICAgICAgIGZpbGw6ICdyb3cnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICA3Njc6IHtcbiAgICAgICAgICBzY3JvbGxiYXI6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzbGlkZXNQZXJWaWV3OiB0aGlzLmNhcm91c2VsX3NsaWRlc19wZXJfdmlld190YWJsZXRcbiAgICAgICAgfSxcbiAgICAgICAgMTA4MDoge1xuICAgICAgICAgIHNjcm9sbGJhcjoge1xuICAgICAgICAgICAgZW5hYmxlZDogdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWFycm93cycgfHwgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcicsXG4gICAgICAgICAgICBkcmFnZ2FibGU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNsaWRlc1BlclZpZXc6IHRoaXMuY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X2xhcHRvcFxuICAgICAgICB9LFxuICAgICAgICAxNDQwOiB7XG4gICAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fCB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJyxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5jYXJvdXNlbF9zbGlkZXNfcGVyX3ZpZXdfZGVza3RvcFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAgc2xpZGVDaGFuZ2U6IHRoaXMub25TbGlkZUNoYW5nZS5iaW5kKHRoaXMpXG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIG5vdyB3ZSBuZWVkIHRvIGFzc2lnbiBhbGwgcGFyYW1ldGVycyB0byB0aGUgU3dpcGVyIGVsZW1lbnRcbiAgICBPYmplY3QuYXNzaWduKHN3aXBlckVsLCBzd2lwZXJQYXJhbXMpO1xuXG4gICAgLy8gYW5kIG5vdyBpbml0aWFsaXplIGl0XG4gICAgc3dpcGVyRWwuaW5pdGlhbGl6ZSgpO1xuXG4gICAgLy8gU2V0IHVwIHNjcm9sbGJhciBhbmQgZW5zdXJlIHRoaXMgaXMgcmVjYWxjdWxhdGVkIG9uIHJlc2l6ZSBldmVudHNcbiAgICB0aGlzLnNldHVwU2Nyb2xsYmFyTGF5b3V0UHJvcGVydGllcygpO1xuXG4gICAgc3dpcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5zZXR1cFNjcm9sbGJhckxheW91dFByb3BlcnRpZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIHRoZSBjYXJvdXNlbCBvbiB0byB0aGUgbmV4dCBzbGlkZVxuICAgKi9cbiAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVyLm5hdGl2ZUVsZW1lbnQuc3dpcGVyLnNsaWRlTmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmUgdGhlIGNhcm91c2VsIGJhY2sgdG8gdGhlIHByZXZpb3VzIHNsaWRlXG4gICAqL1xuICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVyLm5hdGl2ZUVsZW1lbnQuc3dpcGVyLnNsaWRlUHJldigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgZXZlbnQgd2hlbiB0aGUgc2xpZGUgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3dpcGVyXG4gICAqL1xuICBvblNsaWRlQ2hhbmdlKHN3aXBlcjogU3dpcGVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleE9uU2xpZGVDaGFuZ2UuZW1pdChzd2lwZXIuYWN0aXZlSW5kZXgpO1xuICB9XG59XG4iLCI8dWktYm94XG5jbGFzcz1cInVpLWNhcm91c2VsXCJcbltuZ0NsYXNzXT1cInsndWktY2Fyb3VzZWwtb3ZlcmZsb3cnOiBjYXJvdXNlbF9vdmVyZmxvd31cIlxuYm94X2FsaWduX3k9XCJjZW50ZXJcIlxuYm94X3NwYWNlPVwibm9uZVwiXG5ib3hfY29udGVudF9maWxsX3dpZHRoPVwidHJ1ZVwiXG5ib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG5cbiAgICA8dWktc3RhY2sgI2Nhcm91c2VsY3Rhc3RhY2s+XG4gICAgICAgIDwhLS0gQ3VzdG9tIG5hdmlnYXRpb24gYnV0dG9ucyAtLT5cbiAgICAgICAgPHVpLXN0YWNrIHN0YWNrX2RpcmVjdGlvbj1cInhcIiBzdGFja19hbGlnbj1cImNlbnRlclwiIHN0YWNrX2Rpc3RyaWJ1dGU9XCJlbmRcIj5cbiAgICAgICAgICAgIDx1aS1ib3hcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzbWFsbC1hcnJvd3MnXCJcbiAgICAgICAgICAgICAgICBib3hfc3BhY2U9XCJub25lXCJcbiAgICAgICAgICAgICAgICBib3hfZmlsbF9tb2RlPVwiZml0XCJcbiAgICAgICAgICAgICAgICBib3hfc3BhY2VfYm90dG9tPVwibmVhclwiXG4gICAgICAgICAgICAgICAgW2JveF9zcGFjZV9yaWdodF09XCJ7bW9iaWxlOiAndGlnaHQnLCB0YWJsZXQ6ICdub25lJywgbGFwdG9wOiAnbm9uZScsIGRlc2t0b3A6ICdub25lJ31cIlxuICAgICAgICAgICAgICAgIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICAgICAgICA8dWktc3RhY2tcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhKHN3aXBlcj8uc3dpcGVyPy5pc0JlZ2lubmluZyAmJiBzd2lwZXI/LnN3aXBlcj8uaXNFbmQpXCJcbiAgICAgICAgICAgICAgICAgICAgc3RhY2tfZGlyZWN0aW9uPVwieFwiXG4gICAgICAgICAgICAgICAgICAgIHN0YWNrX2dhcD1cIm5lYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmV2aW91cyBidXR0b24tLT5cbiAgICAgICAgICAgICAgICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1jYXJvdXNlbF9fcHJldmlvdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX3NpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbl9wbGFjZW1lbnQ9XCJpY29uT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbj1cImFycm93LWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX3R5cGU9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYV9sYWJlbF09XCJ0ZXh0X2Zvcl9sZWZ0X2Fycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInByZXZpb3VzU2xpZGUoKVwiPiBQcmV2b3VzIHNsaWRlXG4gICAgICAgICAgICAgICAgICAgIDwvdWktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIE5leHQgYnV0dG9uLS0+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidWktY2Fyb3VzZWxfX25leHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX3NpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbl9wbGFjZW1lbnQ9XCJpY29uT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbj1cImFycm93LXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbl90eXBlPVwidGVydGlhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFfbGFiZWxdPVwidGV4dF9mb3JfcmlnaHRfYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwibmV4dFNsaWRlKClcIj4gTmV4dCBzbGlkZVxuICAgICAgICAgICAgICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3VpLXN0YWNrPlxuICAgICAgICAgICAgPC91aS1ib3g+XG4gICAgICAgIDwvdWktc3RhY2s+XG5cbiAgICAgICAgPCEtLSBTd2lwZXIgV2ViQ29tcG9uZW50LS0+XG4gICAgICAgIDxzd2lwZXItY29udGFpbmVyXG4gICAgICAgICNzd2lwZXJcbiAgICAgICAgaW5pdD1cImZhbHNlXCJcbiAgICAgICAgdG91Y2gtc3RhcnQtcHJldmVudC1kZWZhdWx0PVwiZmFsc2VcIlxuICAgICAgICBwcmV2ZW50LWNsaWNrcy1wcm9wYWdhdGlvbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9zd2lwZXItY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ3VzdG9tIG5hdmlnYXRpb24gYnV0dG9ucyAtLT5cbiAgICAgICAgPHVpLXN0YWNrIHN0YWNrX2RpcmVjdGlvbj1cInhcIiBzdGFja19hbGlnbj1cImNlbnRlclwiICpuZ0lmPVwiY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IGNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWNhcm91c2VsLXNjcm9sbGJhci1wbGFjZWhvbGRlclwiICNjYXJvdXNlbHNjcm9sbGJhcnBsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgICAgPHVpLWJveFxuICAgICAgICAgICAgKm5nSWY9XCJjYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWFycm93cydcIlxuICAgICAgICAgICAgYm94X3NwYWNlPVwibm9uZVwiXG4gICAgICAgICAgICBib3hfZmlsbF9tb2RlPVwiZml0XCJcbiAgICAgICAgICAgIFtib3hfc3BhY2VfcmlnaHRdPVwie21vYmlsZTogJ3RpZ2h0JywgdGFibGV0OiAnbm9uZScsIGxhcHRvcDogJ25vbmUnLCBkZXNrdG9wOiAnbm9uZSd9XCJcbiAgICAgICAgICAgIGJveF9iYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICAgICAgICA8dWktc3RhY2tcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiEoc3dpcGVyPy5zd2lwZXI/LmlzQmVnaW5uaW5nICYmIHN3aXBlcj8uc3dpcGVyPy5pc0VuZClcIlxuICAgICAgICAgICAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgICAgICAgICAgIHN0YWNrX2dhcD1cIm5lYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmV2aW91cyBidXR0b24tLT5cbiAgICAgICAgICAgICAgICAgICAgPHVpLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLWNhcm91c2VsX19wcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9zaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbl9wbGFjZW1lbnQ9XCJpY29uT25seVwiXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9pY29uPVwiYXJyb3ctbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbl90eXBlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFfbGFiZWxdPVwidGV4dF9mb3JfbGVmdF9hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInByZXZpb3VzU2xpZGUoKVwiPiBQcmV2b3VzIHNsaWRlXG4gICAgICAgICAgICAgICAgICAgIDwvdWktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIE5leHQgYnV0dG9uLS0+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1jYXJvdXNlbF9fbmV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9zaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbl9wbGFjZW1lbnQ9XCJpY29uT25seVwiXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9pY29uPVwiYXJyb3ctcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25fdHlwZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhX2xhYmVsXT1cInRleHRfZm9yX3JpZ2h0X2Fycm93XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwibmV4dFNsaWRlKClcIj4gTmV4dCBzbGlkZVxuICAgICAgICAgICAgICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3VpLXN0YWNrPlxuICAgICAgICAgICAgPC91aS1ib3g+XG4gICAgICAgIDwvdWktc3RhY2s+XG4gICAgPC91aS1zdGFjaz5cbjwvdWktYm94PlxuIl19
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYXN5cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU12QixvRUFBb0U7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQWlDNUIsWUFBb0IsWUFBMEIsRUFBNEIsUUFBa0IsRUFBVSxPQUFtQjtRQUFyRyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUE0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQTNCekgsc0ZBQXNGO1FBQzdFLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLGlCQUFZLEdBQTBDLFNBQVMsQ0FBQztRQUVoRSx3QkFBbUIsR0FBNkQsTUFBTSxDQUFDO1FBRXZGLHFDQUFnQyxHQUFXLENBQUMsQ0FBQztRQUM3QyxvQ0FBK0IsR0FBVyxDQUFDLENBQUM7UUFDNUMsb0NBQStCLEdBQVcsR0FBRyxDQUFDO1FBQzlDLG9DQUErQixHQUFXLElBQUksQ0FBQztRQUMvQyx3QkFBbUIsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQyx5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFFNUMsaUNBQTRC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LGdnSUE0RkE7OzRGRG5FYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzswQkFtQ1ksTUFBTTsyQkFBQyxRQUFRO2tFQS9CekIsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUMyQyw0QkFBNEI7c0JBQTNHLFNBQVM7dUJBQUMsOEJBQThCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ1YsZ0JBQWdCO3NCQUFuRixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUd6RCxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFDRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBQ0csK0JBQStCO3NCQUF2QyxLQUFLO2dCQUNHLCtCQUErQjtzQkFBdkMsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksd0JBQXdCO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbmplY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN3aXBlciBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgU3dpcGVyT3B0aW9ucyB9IGZyb20gJ3N3aXBlci90eXBlcyc7XG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN3aXBlckNvbnRhaW5lciB9IGZyb20gJ3N3aXBlci9lbGVtZW50JztcblxuLyogVGhpcyBjb21wb25lbnQgd3JhcHMgYXJvdW5kIHRoZSBzd2lwZXIuanMgbGlicmFyeSBXZWJDb21wb25lbnQgKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVGhlIHN3aXBlciBpbnN0YW5jZVxuICBAVmlld0NoaWxkKCdzd2lwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBzd2lwZXI6IEVsZW1lbnRSZWY8U3dpcGVyQ29udGFpbmVyPjtcbiAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcicsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBjYXJvdXNlbHNjcm9sbGJhcnBsYWNlaG9sZGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjYXJvdXNlbGN0YXN0YWNrJywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIGNhcm91c2VsY3Rhc3RhY2s6IEVsZW1lbnRSZWY7XG5cbiAgLy8gUmV3aW5kcyB0aGUgc2xpZGVzIGJhY2sgdG8gdGhlIHN0YXJ0IHdoZW4gdGhlIHVzZXIgcmVhY2hlcyB0aGUgZW5kIHdoZW4gc2V0IHRvIHRydWVcbiAgQElucHV0KCkgcmV3aW5kOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfb3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjYXJvdXNlbF9nYXA6ICdkZWZhdWx0JyB8ICd0aWdodCcgfCAnbmVhcicgfCAnbm9uZScgPSAnZGVmYXVsdCc7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfcGFnaW5hdGlvbjogJ3Njcm9sbC1hcnJvd3MnIHwgJ25vbmUnIHwgJ3Njcm9sbC1iYXInIHwgJ3NtYWxsLWFycm93cycgPSAnbm9uZSc7XG5cbiAgQElucHV0KCkgY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X2Rlc2t0b3A6IG51bWJlciA9IDQ7XG4gIEBJbnB1dCgpIGNhcm91c2VsX3NsaWRlc19wZXJfdmlld19sYXB0b3A6IG51bWJlciA9IDM7XG4gIEBJbnB1dCgpIGNhcm91c2VsX3NsaWRlc19wZXJfdmlld190YWJsZXQ6IG51bWJlciA9IDIuNTtcbiAgQElucHV0KCkgY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X21vYmlsZTogbnVtYmVyID0gMS4yNTtcbiAgQElucHV0KCkgdGV4dF9mb3JfbGVmdF9hcnJvdzogc3RyaW5nID0gJ3ByZXZpb3VzIHNsaWRlJztcbiAgQElucHV0KCkgdGV4dF9mb3JfcmlnaHRfYXJyb3c6IHN0cmluZyA9ICduZXh0IHNsaWRlJztcblxuICBASW5wdXQoKSBjYXJvdXNlbF9yb3dzX3Blcl9yb3dfbW9iaWxlOiAxIHwgMiA9IDE7IC8vIFJlcXVpcmVkIGZvciBDQVRFR09SWV9DQVJEIGV4cGVyaW1lbnQuIFJlbW92ZSBpZiBleHBlcmltZW50IGZhaWxzLlxuXG4gIEBJbnB1dCgpIGNhcm91c2VsX2xvYWRpbmc6ICdsYXp5JyB8ICdlYWdlcicgPSAnbGF6eSc7IC8vIElmIHdlIGRvbid0IGhhdmUgbXVsdGlwbGUgY2Fyb3VzZWxzIG9uIHBhZ2UgYW5kIHdhbnQgdG8gcHJpb3JpdGlzZSBVSSBsb2FkaW5nIG9uIHRpbWVcbiAgQElucHV0KCkgY2Fyb3VzZWxfZnJlZV9tb2RlOiBib29sZWFuID0gZmFsc2U7IC8vIEVuYWJsZXMgc2Nyb2xsaW5nIHdpdGggbW91c2V3aGVlbCAvIHNtb290aGVyIG1vbWVudHVtIHN3aXBpbmcgZXhwZXJpZW5jZVxuICBASW5wdXQoKSBjZW50ZXJfaW5zdWZmaWNpZW50X3NsaWRlczogYm9vbGVhbiA9IHRydWU7IC8vIENlbnRlcnMgdGhlIHNsaWRlcyBpZiB0aGVyZSBhcmUgbm90IGVub3VnaCB0byBmaWxsIHRoZSBzcGFjZVxuICBASW5wdXQoKSBjZW50ZXJfYWN0aXZlX3NsaWRlOiBib29sZWFuID0gZmFsc2U7IC8vIENlbnRlcnMgdGhlIGFjdGl2ZSBzbGlkZVxuICBASW5wdXQoKSBzdGFydF9zbGlkZTogbnVtYmVyID0gMDsgLy8gU3RhcnQgc2xpZGUgaW5kZXhcbiAgQElucHV0KCkgb2Zmc2V0X3Njcm9sbGJhcl90b3A6IGJvb2xlYW4gPSBmYWxzZTsgLy8gT2Zmc2V0IHRoZSBzY3JvbGxiYXIgdG8gdGhlIHRvcCBvZiB0aGUgY2Fyb3VzZWxcblxuICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhPblNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXJvdXNlbF9sb2FkaW5nID09PSAnbGF6eScpIHtcbiAgICAgIHRoaXMuc2V0VXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRTd2lwZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgd2l0aCB0aGUgcmVsZXZhbnQgb3B0aW9uc1xuICAgKi9cbiAgc2V0VXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpOiB2b2lkIHtcbiAgICAvLyBTZXQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgb3B0aW9uc1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByb290OiBudWxsLFxuICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICB0aHJlc2hvbGQ6IDAuNSxcbiAgICAgIG9uY2U6IHRydWVcbiAgICB9O1xuICAgIC8vIFNldCB1cCB0aGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLm9uSW50ZXJzZWN0aW9uLmJpbmQodGhpcyksIG9wdGlvbnMpO1xuICAgIG9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gZ2V0cyBjYWxsZWQganVzdCBiZWZvcmUgdGhlIHVzZXIgc2Nyb2xscyB0aGlzIGNvbXBvbmVudCBpbnRvIHZpZXdcbiAgICogQHBhcmFtIGVudHJpZXMgLSBBbiBhcnJheSBvZiBpbnRlcnN3ZWN0aW9uIG9ic2VydmVyIGVudHJpZXNcbiAgICogQHBhcmFtIG9ic2VydmVyIC0gSW50ZXJzZWN0aW9uIG9ic2VydmVyXG4gICAqL1xuICBvbkludGVyc2VjdGlvbihlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10sIG9ic2VydmVyOiBJbnRlcnNlY3Rpb25PYnNlcnZlcik6IHZvaWQge1xuICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpOiB2b2lkID0+IHtcbiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICAvLyBJbml0aWFsaXNlIHN3aXBlclxuICAgICAgICB0aGlzLmluaXRTd2lwZXIoKTtcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRTdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHN0eWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNjcm9sbGJhciBwbGFjZW1lbnQgYW5kIHdpZHRoIGJhc2VkIG9uIGNhcm91c2Vsc2Nyb2xsYmFycGxhY2Vob2xkZXIgYW5kIGNhcm91c2VsY3Rhc3RhY2tcbiAgICovXG4gIHNldHVwU2Nyb2xsYmFyTGF5b3V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnbm9uZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjYXJvdXNlbFN0YWNrOiBIVE1MRWxlbWVudCA9IHRoaXMuY2Fyb3VzZWxjdGFzdGFjaz8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY3JvbGxiYXJFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcj8ubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHNjcm9sbGJhckhlaWdodCA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc3dpcGVyLXNjcm9sbGJhci1zaXplJyk7XG5cbiAgICBpZiAoY2Fyb3VzZWxTdGFjayAmJiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJykge1xuICAgICAgdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoXG4gICAgICAgICctLXVpLWNhcm91c2VsLXNjcm9sbGJhci13aWR0aCcsIGAke3Njcm9sbGJhckVsZW1lbnQ/Lm9mZnNldFdpZHRoIC0gcGFyc2VJbnQodGhpcy5nZXRTdHlsZShjYXJvdXNlbFN0YWNrLCAnZ2FwJyksIDEwKX1weGBcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItb2Zmc2V0LXRvcCcsIGAke3BhcnNlSW50KHRoaXMuZ2V0U3R5bGUoY2Fyb3VzZWxTdGFjaywgJ2dhcCcpLCAxMCkgKyAoc2Nyb2xsYmFyRWxlbWVudD8ub2Zmc2V0SGVpZ2h0IC8gMikgKyAocGFyc2VJbnQoc2Nyb2xsYmFySGVpZ2h0LCAxMCkgLyAyKX1weGBcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItaGVpZ2h0JywgJzJweCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNhcm91c2VsU3RhY2sgJiYgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcicpIHtcbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItd2lkdGgnLCAnMTAwJSdcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItb2Zmc2V0LXRvcCcsIGAke3RoaXMub2Zmc2V0X3Njcm9sbGJhcl90b3AgPyBwYXJzZUludCh0aGlzLmdldFN0eWxlKGNhcm91c2VsU3RhY2ssICdnYXAnKSwgMTApICsgJ3B4JyA6ICcwcHgnfWBcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItaGVpZ2h0JywgJzRweCdcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgICAnLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItbGVmdCcsICcwcHgnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGR5bmFtaWMgc3dpcGVyIHBhcmFtcyBhbmQgaW5pdGlhbGlzZSB0aGUgc3dpcGVyIGluc3RhbmNlXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICBpbml0U3dpcGVyKCk6IHZvaWQge1xuICAgIC8vIENvbG91ciBvdmVyaWRlc1xuICAgIGNvbnN0IHNjcm9sbGJhckJhY2tncm91bmRDb2xvdXIgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKCctLW9hc3lzLWNvbG9yLWxpbmVuLWdyZXktMjAwJyk7XG4gICAgY29uc3Qgc2Nyb2xsYmFyU2xpZGVyQ29sb3VyID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5WYWx1ZSgnLS1vYXN5cy1jb2xvci1icmFuZC1mb3JlZ3JvdW5kLXByaW1hcnknKTtcblxuICAgIC8vIHN3aXBlciBlbGVtZW50XG4gICAgY29uc3Qgc3dpcGVyRWwgPSB0aGlzLnN3aXBlci5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgY2Fyb3VzZWxHYXAgPSB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlblZhbHVlKGAtLW9hc3lzLXNwYWNpbmctJHt0aGlzLmNhcm91c2VsX2dhcH1gKTtcblxuICAgIC8vIHN3aXBlciBwYXJhbWV0ZXJzXG4gICAgY29uc3Qgc3dpcGVyUGFyYW1zOiBTd2lwZXJPcHRpb25zID0ge1xuICAgICAgcmV3aW5kOiB0aGlzLnJld2luZCxcbiAgICAgIGdyYWJDdXJzb3I6IHRydWUsXG4gICAgICBzcGFjZUJldHdlZW46IChwYXJzZUludChjYXJvdXNlbEdhcC5yZXBsYWNlKCcuJywgJycpLCAxMCkpIHx8IDAsXG4gICAgICBjZW50ZXJlZFNsaWRlczogdGhpcy5jZW50ZXJfYWN0aXZlX3NsaWRlLFxuICAgICAgaW5pdGlhbFNsaWRlOiB0aGlzLnN0YXJ0X3NsaWRlLFxuICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInLFxuICAgICAgICBkcmFnZ2FibGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBjZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXM6IHRoaXMuY2VudGVyX2luc3VmZmljaWVudF9zbGlkZXMsXG4gICAgICBmcmVlTW9kZTogdGhpcy5jYXJvdXNlbF9mcmVlX21vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdGlja3k6IHRydWUsXG4gICAgICAgICAgbW9tZW50dW1WZWxvY2l0eVJhdGlvOiAwLjc1LFxuICAgICAgICAgIG1vbWVudHVtUmF0aW86IDAuNzVcbiAgICAgICAgfVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgbW91c2V3aGVlbDogdGhpcy5jYXJvdXNlbF9mcmVlX21vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgZm9yY2VUb0F4aXM6IHRydWVcbiAgICAgICAgfVxuICAgICAgICA6IGZhbHNlLFxuICAgICAgaW5qZWN0U3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgLnN3aXBlciB7XG4gICAgICAgICAgb3ZlcmZsb3c6ICR7dGhpcy5jYXJvdXNlbF9vdmVyZmxvdyA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiB2YXIoLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItb2Zmc2V0LXRvcCk7XG4gICAgICAgICAgd2lkdGg6IHZhcigtLXVpLWNhcm91c2VsLXNjcm9sbGJhci13aWR0aCk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS11aS1jYXJvdXNlbC1zY3JvbGxiYXItaGVpZ2h0KTtcbiAgICAgICAgICBsZWZ0OiAke3RoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInID8gJ3ZhcigtLXVpLWNhcm91c2VsLXNjcm9sbGJhci1sZWZ0KScgOiAnMSUnfTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3Njcm9sbGJhckJhY2tncm91bmRDb2xvdXJ9XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAke3Njcm9sbGJhclNsaWRlckNvbG91cn1cbiAgICAgICAgfWBcbiAgICAgIF0sXG4gICAgICBicmVha3BvaW50czoge1xuICAgICAgICAwOiB7XG4gICAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fCB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJyxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5jYXJvdXNlbF9zbGlkZXNfcGVyX3ZpZXdfbW9iaWxlLFxuICAgICAgICAgIGdyaWQ6IHtcbiAgICAgICAgICAgIHJvd3M6IHRoaXMuY2Fyb3VzZWxfcm93c19wZXJfcm93X21vYmlsZSxcbiAgICAgICAgICAgIGZpbGw6ICdyb3cnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICA3Njc6IHtcbiAgICAgICAgICBzY3JvbGxiYXI6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnIHx8IHRoaXMuY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1iYXInLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzbGlkZXNQZXJWaWV3OiB0aGlzLmNhcm91c2VsX3NsaWRlc19wZXJfdmlld190YWJsZXRcbiAgICAgICAgfSxcbiAgICAgICAgMTA4MDoge1xuICAgICAgICAgIHNjcm9sbGJhcjoge1xuICAgICAgICAgICAgZW5hYmxlZDogdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWFycm93cycgfHwgdGhpcy5jYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcicsXG4gICAgICAgICAgICBkcmFnZ2FibGU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNsaWRlc1BlclZpZXc6IHRoaXMuY2Fyb3VzZWxfc2xpZGVzX3Blcl92aWV3X2xhcHRvcFxuICAgICAgICB9LFxuICAgICAgICAxNDQwOiB7XG4gICAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fCB0aGlzLmNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYmFyJyxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5jYXJvdXNlbF9zbGlkZXNfcGVyX3ZpZXdfZGVza3RvcFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAgc2xpZGVDaGFuZ2U6IHRoaXMub25TbGlkZUNoYW5nZS5iaW5kKHRoaXMpXG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIG5vdyB3ZSBuZWVkIHRvIGFzc2lnbiBhbGwgcGFyYW1ldGVycyB0byB0aGUgU3dpcGVyIGVsZW1lbnRcbiAgICBPYmplY3QuYXNzaWduKHN3aXBlckVsLCBzd2lwZXJQYXJhbXMpO1xuXG4gICAgLy8gYW5kIG5vdyBpbml0aWFsaXplIGl0XG4gICAgc3dpcGVyRWwuaW5pdGlhbGl6ZSgpO1xuXG4gICAgLy8gU2V0IHVwIHNjcm9sbGJhciBhbmQgZW5zdXJlIHRoaXMgaXMgcmVjYWxjdWxhdGVkIG9uIHJlc2l6ZSBldmVudHNcbiAgICB0aGlzLnNldHVwU2Nyb2xsYmFyTGF5b3V0UHJvcGVydGllcygpO1xuXG4gICAgc3dpcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5zZXR1cFNjcm9sbGJhckxheW91dFByb3BlcnRpZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIHRoZSBjYXJvdXNlbCBvbiB0byB0aGUgbmV4dCBzbGlkZVxuICAgKi9cbiAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVyLm5hdGl2ZUVsZW1lbnQuc3dpcGVyLnNsaWRlTmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmUgdGhlIGNhcm91c2VsIGJhY2sgdG8gdGhlIHByZXZpb3VzIHNsaWRlXG4gICAqL1xuICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVyLm5hdGl2ZUVsZW1lbnQuc3dpcGVyLnNsaWRlUHJldigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgZXZlbnQgd2hlbiB0aGUgc2xpZGUgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3dpcGVyXG4gICAqL1xuICBvblNsaWRlQ2hhbmdlKHN3aXBlcjogU3dpcGVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleE9uU2xpZGVDaGFuZ2UuZW1pdChzd2lwZXIuYWN0aXZlSW5kZXgpO1xuICB9XG59XG4iLCI8dWktYm94XG5jbGFzcz1cInVpLWNhcm91c2VsXCJcbltuZ0NsYXNzXT1cInsndWktY2Fyb3VzZWwtb3ZlcmZsb3cnOiBjYXJvdXNlbF9vdmVyZmxvd31cIlxuYm94X2FsaWduX3k9XCJjZW50ZXJcIlxuYm94X3NwYWNlPVwibm9uZVwiXG5ib3hfY29udGVudF9maWxsX3dpZHRoPVwidHJ1ZVwiXG5ib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG5cbiAgICA8dWktc3RhY2sgI2Nhcm91c2VsY3Rhc3RhY2s+XG4gICAgICAgIDwhLS0gQ3VzdG9tIG5hdmlnYXRpb24gYnV0dG9ucyAtLT5cbiAgICAgICAgPHVpLXN0YWNrICpuZ0lmPVwiY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3NtYWxsLWFycm93cydcIiBzdGFja19kaXJlY3Rpb249XCJ4XCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIiBzdGFja19kaXN0cmlidXRlPVwiZW5kXCI+XG4gICAgICAgICAgICA8dWktYm94XG4gICAgICAgICAgICAgICAgYm94X3NwYWNlPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgYm94X2ZpbGxfbW9kZT1cImZpdFwiXG4gICAgICAgICAgICAgICAgYm94X3NwYWNlX2JvdHRvbT1cIm5lYXJcIlxuICAgICAgICAgICAgICAgIFtib3hfc3BhY2VfcmlnaHRdPVwie21vYmlsZTogJ3RpZ2h0JywgdGFibGV0OiAnbm9uZScsIGxhcHRvcDogJ25vbmUnLCBkZXNrdG9wOiAnbm9uZSd9XCJcbiAgICAgICAgICAgICAgICBib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgICAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIShzd2lwZXI/LnN3aXBlcj8uaXNCZWdpbm5pbmcgJiYgc3dpcGVyPy5zd2lwZXI/LmlzRW5kKVwiXG4gICAgICAgICAgICAgICAgICAgIHN0YWNrX2RpcmVjdGlvbj1cInhcIlxuICAgICAgICAgICAgICAgICAgICBzdGFja19nYXA9XCJuZWFyXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJldmlvdXMgYnV0dG9uLS0+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidWktY2Fyb3VzZWxfX3ByZXZpb3VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9zaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX2ljb25fcGxhY2VtZW50PVwiaWNvbk9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX2ljb249XCJhcnJvdy1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbl90eXBlPVwidGVydGlhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFfbGFiZWxdPVwidGV4dF9mb3JfbGVmdF9hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJwcmV2aW91c1NsaWRlKClcIj4gUHJldm91cyBzbGlkZVxuICAgICAgICAgICAgICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBOZXh0IGJ1dHRvbi0tPlxuICAgICAgICAgICAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLWNhcm91c2VsX19uZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbl9zaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX2ljb25fcGxhY2VtZW50PVwiaWNvbk9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uX2ljb249XCJhcnJvdy1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b25fdHlwZT1cInRlcnRpYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhX2xhYmVsXT1cInRleHRfZm9yX3JpZ2h0X2Fycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm5leHRTbGlkZSgpXCI+IE5leHQgc2xpZGVcbiAgICAgICAgICAgICAgICAgICAgPC91aS1idXR0b24+XG4gICAgICAgICAgICAgICAgPC91aS1zdGFjaz5cbiAgICAgICAgICAgIDwvdWktYm94PlxuICAgICAgICA8L3VpLXN0YWNrPlxuXG4gICAgICAgIDwhLS0gU3dpcGVyIFdlYkNvbXBvbmVudC0tPlxuICAgICAgICA8c3dpcGVyLWNvbnRhaW5lclxuICAgICAgICAjc3dpcGVyXG4gICAgICAgIGluaXQ9XCJmYWxzZVwiXG4gICAgICAgIHRvdWNoLXN0YXJ0LXByZXZlbnQtZGVmYXVsdD1cImZhbHNlXCJcbiAgICAgICAgcHJldmVudC1jbGlja3MtcHJvcGFnYXRpb249XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3dpcGVyLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEN1c3RvbSBuYXZpZ2F0aW9uIGJ1dHRvbnMgLS0+XG4gICAgICAgIDx1aS1zdGFjayBzdGFja19kaXJlY3Rpb249XCJ4XCIgc3RhY2tfYWxpZ249XCJjZW50ZXJcIiAqbmdJZj1cImNhcm91c2VsX3BhZ2luYXRpb24gPT09ICdzY3JvbGwtYXJyb3dzJyB8fCBjYXJvdXNlbF9wYWdpbmF0aW9uID09PSAnc2Nyb2xsLWJhcidcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1jYXJvdXNlbC1zY3JvbGxiYXItcGxhY2Vob2xkZXJcIiAjY2Fyb3VzZWxzY3JvbGxiYXJwbGFjZWhvbGRlcj48L2Rpdj5cbiAgICAgICAgICAgIDx1aS1ib3hcbiAgICAgICAgICAgICpuZ0lmPVwiY2Fyb3VzZWxfcGFnaW5hdGlvbiA9PT0gJ3Njcm9sbC1hcnJvd3MnXCJcbiAgICAgICAgICAgIGJveF9zcGFjZT1cIm5vbmVcIlxuICAgICAgICAgICAgYm94X2ZpbGxfbW9kZT1cImZpdFwiXG4gICAgICAgICAgICBbYm94X3NwYWNlX3JpZ2h0XT1cInttb2JpbGU6ICd0aWdodCcsIHRhYmxldDogJ25vbmUnLCBsYXB0b3A6ICdub25lJywgZGVza3RvcDogJ25vbmUnfVwiXG4gICAgICAgICAgICBib3hfYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgICAgICAgICAgPHVpLXN0YWNrXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhKHN3aXBlcj8uc3dpcGVyPy5pc0JlZ2lubmluZyAmJiBzd2lwZXI/LnN3aXBlcj8uaXNFbmQpXCJcbiAgICAgICAgICAgICAgICBzdGFja19kaXJlY3Rpb249XCJ4XCJcbiAgICAgICAgICAgICAgICBzdGFja19nYXA9XCJuZWFyXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJldmlvdXMgYnV0dG9uLS0+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1jYXJvdXNlbF9fcHJldmlvdXNcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25fc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uX2ljb25fcGxhY2VtZW50PVwiaWNvbk9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbj1cImFycm93LWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25fdHlwZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhX2xhYmVsXT1cInRleHRfZm9yX2xlZnRfYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJwcmV2aW91c1NsaWRlKClcIj4gUHJldm91cyBzbGlkZVxuICAgICAgICAgICAgICAgICAgICA8L3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBOZXh0IGJ1dHRvbi0tPlxuICAgICAgICAgICAgICAgICAgICA8dWktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidWktY2Fyb3VzZWxfX25leHRcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25fc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uX2ljb25fcGxhY2VtZW50PVwiaWNvbk9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBidXR0b25faWNvbj1cImFycm93LXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uX3R5cGU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYV9sYWJlbF09XCJ0ZXh0X2Zvcl9yaWdodF9hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm5leHRTbGlkZSgpXCI+IE5leHQgc2xpZGVcbiAgICAgICAgICAgICAgICAgICAgPC91aS1idXR0b24+XG4gICAgICAgICAgICAgICAgPC91aS1zdGFjaz5cbiAgICAgICAgICAgIDwvdWktYm94PlxuICAgICAgICA8L3VpLXN0YWNrPlxuICAgIDwvdWktc3RhY2s+XG48L3VpLWJveD5cbiJdfQ==
|
package/fesm2022/oasys-lib.mjs
CHANGED
|
@@ -2573,11 +2573,11 @@ class CarouselComponent {
|
|
|
2573
2573
|
this.activeIndexOnSlideChange.emit(swiper.activeIndex);
|
|
2574
2574
|
}
|
|
2575
2575
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CarouselComponent, deps: [{ token: TokenService }, { token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2576
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CarouselComponent, selector: "ui-carousel", inputs: { rewind: "rewind", carousel_overflow: "carousel_overflow", carousel_gap: "carousel_gap", carousel_pagination: "carousel_pagination", carousel_slides_per_view_desktop: "carousel_slides_per_view_desktop", carousel_slides_per_view_laptop: "carousel_slides_per_view_laptop", carousel_slides_per_view_tablet: "carousel_slides_per_view_tablet", carousel_slides_per_view_mobile: "carousel_slides_per_view_mobile", text_for_left_arrow: "text_for_left_arrow", text_for_right_arrow: "text_for_right_arrow", carousel_rows_per_row_mobile: "carousel_rows_per_row_mobile", carousel_loading: "carousel_loading", carousel_free_mode: "carousel_free_mode", center_insufficient_slides: "center_insufficient_slides", center_active_slide: "center_active_slide", start_slide: "start_slide", offset_scrollbar_top: "offset_scrollbar_top" }, outputs: { activeIndexOnSlideChange: "activeIndexOnSlideChange" }, viewQueries: [{ propertyName: "swiper", first: true, predicate: ["swiper"], descendants: true, static: true }, { propertyName: "carouselscrollbarplaceholder", first: true, predicate: ["carouselscrollbarplaceholder"], descendants: true, read: ElementRef }, { propertyName: "carouselctastack", first: true, predicate: ["carouselctastack"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n
|
|
2576
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CarouselComponent, selector: "ui-carousel", inputs: { rewind: "rewind", carousel_overflow: "carousel_overflow", carousel_gap: "carousel_gap", carousel_pagination: "carousel_pagination", carousel_slides_per_view_desktop: "carousel_slides_per_view_desktop", carousel_slides_per_view_laptop: "carousel_slides_per_view_laptop", carousel_slides_per_view_tablet: "carousel_slides_per_view_tablet", carousel_slides_per_view_mobile: "carousel_slides_per_view_mobile", text_for_left_arrow: "text_for_left_arrow", text_for_right_arrow: "text_for_right_arrow", carousel_rows_per_row_mobile: "carousel_rows_per_row_mobile", carousel_loading: "carousel_loading", carousel_free_mode: "carousel_free_mode", center_insufficient_slides: "center_insufficient_slides", center_active_slide: "center_active_slide", start_slide: "start_slide", offset_scrollbar_top: "offset_scrollbar_top" }, outputs: { activeIndexOnSlideChange: "activeIndexOnSlideChange" }, viewQueries: [{ propertyName: "swiper", first: true, predicate: ["swiper"], descendants: true, static: true }, { propertyName: "carouselscrollbarplaceholder", first: true, predicate: ["carouselscrollbarplaceholder"], descendants: true, read: ElementRef }, { propertyName: "carouselctastack", first: true, predicate: ["carouselctastack"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack *ngIf=\"carousel_pagination === 'small-arrows'\" stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n box_space=\"none\"\n box_fill_mode=\"fit\"\n box_space_bottom=\"near\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n\n <!-- Swiper WebComponent-->\n <swiper-container\n #swiper\n init=\"false\"\n touch-start-prevent-default=\"false\"\n prevent-clicks-propagation=\"true\">\n <ng-content></ng-content>\n </swiper-container>\n\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" *ngIf=\"carousel_pagination === 'scroll-arrows' || carousel_pagination === 'scroll-bar'\">\n <div class=\"ui-carousel-scrollbar-placeholder\" #carouselscrollbarplaceholder></div>\n <ui-box\n *ngIf=\"carousel_pagination === 'scroll-arrows'\"\n box_space=\"none\"\n box_fill_mode=\"fit\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n </ui-stack>\n</ui-box>\n", styles: [":root{--swiper-scrollbar-size: 4px}.ui-carousel{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ui-carousel swiper-container{width:100%}.ui-carousel .ui-carousel-scrollbar-placeholder{width:100%;display:flex;align-self:stretch}.ui-carousel swiper-slide img{-webkit-user-drag:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OasysButtonComponent, selector: "ui-button", inputs: ["button_icon", "button_icon_placement", "button_size", "button_type", "button_full_width", "button_event_type", "button_disabled", "button_selected", "button_text_nowrap", "aria_label", "aria_role", "href"], outputs: ["clicked"] }, { kind: "component", type: LayoutBoxComponent, selector: "ui-box", inputs: ["box_space", "box_space_top", "box_space_right", "box_space_bottom", "box_space_left", "box_align_x", "box_align_y", "box_fill_mode", "box_background", "box_content_fill_width", "box_border_color", "box_border_width", "box_border_style", "box_border_radius"] }, { kind: "component", type: LayoutStackComponent, selector: "ui-stack", inputs: ["stack_gap", "stack_align", "stack_direction", "stack_distribute", "stack_wrap", "stack_collapse_below"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2577
2577
|
}
|
|
2578
2578
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
2579
2579
|
type: Component,
|
|
2580
|
-
args: [{ selector: 'ui-carousel', encapsulation: ViewEncapsulation.None, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n
|
|
2580
|
+
args: [{ selector: 'ui-carousel', encapsulation: ViewEncapsulation.None, template: "<ui-box\nclass=\"ui-carousel\"\n[ngClass]=\"{'ui-carousel-overflow': carousel_overflow}\"\nbox_align_y=\"center\"\nbox_space=\"none\"\nbox_content_fill_width=\"true\"\nbox_background=\"transparent\">\n\n <ui-stack #carouselctastack>\n <!-- Custom navigation buttons -->\n <ui-stack *ngIf=\"carousel_pagination === 'small-arrows'\" stack_direction=\"x\" stack_align=\"center\" stack_distribute=\"end\">\n <ui-box\n box_space=\"none\"\n box_fill_mode=\"fit\"\n box_space_bottom=\"near\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"small\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"tertiary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n\n <!-- Swiper WebComponent-->\n <swiper-container\n #swiper\n init=\"false\"\n touch-start-prevent-default=\"false\"\n prevent-clicks-propagation=\"true\">\n <ng-content></ng-content>\n </swiper-container>\n\n <!-- Custom navigation buttons -->\n <ui-stack stack_direction=\"x\" stack_align=\"center\" *ngIf=\"carousel_pagination === 'scroll-arrows' || carousel_pagination === 'scroll-bar'\">\n <div class=\"ui-carousel-scrollbar-placeholder\" #carouselscrollbarplaceholder></div>\n <ui-box\n *ngIf=\"carousel_pagination === 'scroll-arrows'\"\n box_space=\"none\"\n box_fill_mode=\"fit\"\n [box_space_right]=\"{mobile: 'tight', tablet: 'none', laptop: 'none', desktop: 'none'}\"\n box_background=\"transparent\">\n <ui-stack\n *ngIf=\"!(swiper?.swiper?.isBeginning && swiper?.swiper?.isEnd)\"\n stack_direction=\"x\"\n stack_gap=\"near\">\n <!-- Previous button-->\n <ui-button\n class=\"ui-carousel__previous\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-left\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_left_arrow\"\n (clicked)=\"previousSlide()\"> Prevous slide\n </ui-button>\n <!-- Next button-->\n <ui-button\n class=\"ui-carousel__next\"\n button_size=\"large\"\n button_icon_placement=\"iconOnly\"\n button_icon=\"arrow-right\"\n button_type=\"secondary\"\n [aria_label]=\"text_for_right_arrow\"\n (clicked)=\"nextSlide()\"> Next slide\n </ui-button>\n </ui-stack>\n </ui-box>\n </ui-stack>\n </ui-stack>\n</ui-box>\n", styles: [":root{--swiper-scrollbar-size: 4px}.ui-carousel{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ui-carousel swiper-container{width:100%}.ui-carousel .ui-carousel-scrollbar-placeholder{width:100%;display:flex;align-self:stretch}.ui-carousel swiper-slide img{-webkit-user-drag:none}\n"] }]
|
|
2581
2581
|
}], ctorParameters: () => [{ type: TokenService }, { type: Document, decorators: [{
|
|
2582
2582
|
type: Inject,
|
|
2583
2583
|
args: [DOCUMENT]
|