@agorapulse/ui-components 13.2.9 → 13.2.10

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/index.d.ts CHANGED
@@ -15,8 +15,6 @@ export { StepperComponent } from './src/lib/stepper/stepper.component';
15
15
  export { ConfirmModalComponent } from './src/lib/confirm-modal/confirm-modal.component';
16
16
  export { DatepickerComponent, DatepickerMode, I18nDatePicker, Period } from './src/lib/datepicker/datepicker.component';
17
17
  export { DotsStepperComponent } from './src/lib/dots-stepper/dots-stepper.component';
18
- export { ImageCarouselComponent, InstagramCarouselItemType } from './src/lib/image-carousel/image-carousel.component';
19
- export { FeatureOnboardingComponent } from './src/lib/feature-onboarding/feature-onboarding.component';
20
18
  export { LabelComponent } from './src/lib/labels/label.component';
21
19
  export { LabelListComponent } from './src/lib/labels/label-list.component';
22
20
  export { LabelsSelectorComponent } from './src/lib/labels-selector/labels-selector.component';
@@ -30,7 +28,6 @@ export { NotificationComponent } from './src/lib/notification/notification.compo
30
28
  export { PaginatorButtonComponent } from './src/lib/paginator/paginator-button/paginator-button.component';
31
29
  export { SlideToggleComponent } from './src/lib/slide-toggle/slide-toggle.component';
32
30
  export { SnackbarsThreadComponent } from './src/lib/snackbars-thread/component/snackbars-thread.component';
33
- export { UsersTagComponent, InstagramUserTag } from './src/lib/users-tag/users-tag.component';
34
31
  export { SnackbarsThreadService } from './src/lib/snackbars-thread/service/snackbars-thread.service';
35
32
  export { Step } from './src/lib/stepper/step.model';
36
33
  export { ConfirmModalTexts } from './src/lib/confirm-modal/confirm-modal-texts.model';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-components",
3
3
  "description": "Agorapulse UI Components Library",
4
- "version": "13.2.9",
4
+ "version": "13.2.10",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
@@ -7,61 +7,58 @@ import * as i5 from "./confirm-modal/confirm-modal.component";
7
7
  import * as i6 from "./datepicker/datepicker.component";
8
8
  import * as i7 from "./dots-stepper/dots-stepper.component";
9
9
  import * as i8 from "./directives/ellipsis.directive";
10
- import * as i9 from "./image-carousel/image-carousel.component";
11
- import * as i10 from "./feature-onboarding/feature-onboarding.component";
12
- import * as i11 from "./labels/label-list.component";
13
- import * as i12 from "./labels-selector/labels-selector.component";
14
- import * as i13 from "./media-display-overlay/media-display-overlay-dialog.component";
15
- import * as i14 from "./modal/modal.component";
16
- import * as i15 from "./password-input/password-input.component";
17
- import * as i16 from "./snackbar/snackbar.component";
18
- import * as i17 from "./labels/label.component";
19
- import * as i18 from "./notification/notification.component";
20
- import * as i19 from "./paginator/paginator.component";
21
- import * as i20 from "./paginator/paginator-button/paginator-button.component";
22
- import * as i21 from "./slide-toggle/slide-toggle.component";
23
- import * as i22 from "./snackbars-thread/component/snackbars-thread.component";
24
- import * as i23 from "./tooltip-neo/tooltip-neo.component";
25
- import * as i24 from "./users-tag/users-tag.component";
26
- import * as i25 from "./directives/default-image.directive";
27
- import * as i26 from "./directives/frozen-gif.directive";
28
- import * as i27 from "./directives/equal-validator.directive";
29
- import * as i28 from "./directives/multi-style-text.directive";
30
- import * as i29 from "./directives/truncate-tooltip.directive";
31
- import * as i30 from "./tooltip-neo/tooltip-neo.directive";
32
- import * as i31 from "@agorapulse/ui-symbol";
33
- import * as i32 from "@angular/common";
34
- import * as i33 from "ngx-daterangepicker-material";
35
- import * as i34 from "@angular/forms";
36
- import * as i35 from "@ng-select/ng-select";
37
- import * as i36 from "./popmenu/popmenu.module";
38
- import * as i37 from "@angular/cdk/overlay";
39
- import * as i38 from "@angular/material/badge";
40
- import * as i39 from "@angular/material/button";
41
- import * as i40 from "@angular/material/button-toggle";
42
- import * as i41 from "@angular/material/chips";
43
- import * as i42 from "@angular/material/expansion";
44
- import * as i43 from "@angular/material/checkbox";
45
- import * as i44 from "@angular/material/icon";
46
- import * as i45 from "@angular/material/progress-bar";
47
- import * as i46 from "@angular/material/progress-spinner";
48
- import * as i47 from "@angular/material/radio";
49
- import * as i48 from "@angular/material/slider";
50
- import * as i49 from "@angular/material/slide-toggle";
51
- import * as i50 from "@angular/material/menu";
52
- import * as i51 from "@angular/material/sidenav";
53
- import * as i52 from "@angular/material/toolbar";
54
- import * as i53 from "@angular/material/card";
55
- import * as i54 from "@angular/material/divider";
56
- import * as i55 from "@angular/material/grid-list";
57
- import * as i56 from "@angular/material/list";
58
- import * as i57 from "@angular/material/tabs";
59
- import * as i58 from "@angular/material/stepper";
60
- import * as i59 from "@angular/material/dialog";
61
- import * as i60 from "@angular/material/snack-bar";
62
- import * as i61 from "@angular/material/table";
10
+ import * as i9 from "./labels/label-list.component";
11
+ import * as i10 from "./labels-selector/labels-selector.component";
12
+ import * as i11 from "./media-display-overlay/media-display-overlay-dialog.component";
13
+ import * as i12 from "./modal/modal.component";
14
+ import * as i13 from "./password-input/password-input.component";
15
+ import * as i14 from "./snackbar/snackbar.component";
16
+ import * as i15 from "./labels/label.component";
17
+ import * as i16 from "./notification/notification.component";
18
+ import * as i17 from "./paginator/paginator.component";
19
+ import * as i18 from "./paginator/paginator-button/paginator-button.component";
20
+ import * as i19 from "./slide-toggle/slide-toggle.component";
21
+ import * as i20 from "./snackbars-thread/component/snackbars-thread.component";
22
+ import * as i21 from "./tooltip-neo/tooltip-neo.component";
23
+ import * as i22 from "./directives/default-image.directive";
24
+ import * as i23 from "./directives/frozen-gif.directive";
25
+ import * as i24 from "./directives/equal-validator.directive";
26
+ import * as i25 from "./directives/multi-style-text.directive";
27
+ import * as i26 from "./directives/truncate-tooltip.directive";
28
+ import * as i27 from "./tooltip-neo/tooltip-neo.directive";
29
+ import * as i28 from "@agorapulse/ui-symbol";
30
+ import * as i29 from "@angular/common";
31
+ import * as i30 from "ngx-daterangepicker-material";
32
+ import * as i31 from "@angular/forms";
33
+ import * as i32 from "@ng-select/ng-select";
34
+ import * as i33 from "./popmenu/popmenu.module";
35
+ import * as i34 from "@angular/cdk/overlay";
36
+ import * as i35 from "@angular/material/badge";
37
+ import * as i36 from "@angular/material/button";
38
+ import * as i37 from "@angular/material/button-toggle";
39
+ import * as i38 from "@angular/material/chips";
40
+ import * as i39 from "@angular/material/expansion";
41
+ import * as i40 from "@angular/material/checkbox";
42
+ import * as i41 from "@angular/material/icon";
43
+ import * as i42 from "@angular/material/progress-bar";
44
+ import * as i43 from "@angular/material/progress-spinner";
45
+ import * as i44 from "@angular/material/radio";
46
+ import * as i45 from "@angular/material/slider";
47
+ import * as i46 from "@angular/material/slide-toggle";
48
+ import * as i47 from "@angular/material/menu";
49
+ import * as i48 from "@angular/material/sidenav";
50
+ import * as i49 from "@angular/material/toolbar";
51
+ import * as i50 from "@angular/material/card";
52
+ import * as i51 from "@angular/material/divider";
53
+ import * as i52 from "@angular/material/grid-list";
54
+ import * as i53 from "@angular/material/list";
55
+ import * as i54 from "@angular/material/tabs";
56
+ import * as i55 from "@angular/material/stepper";
57
+ import * as i56 from "@angular/material/dialog";
58
+ import * as i57 from "@angular/material/snack-bar";
59
+ import * as i58 from "@angular/material/table";
63
60
  export declare class AgorapulseUiComponentsModule {
64
61
  static ɵfac: i0.ɵɵFactoryDeclaration<AgorapulseUiComponentsModule, never>;
65
- static ɵmod: i0.ɵɵNgModuleDeclaration<AgorapulseUiComponentsModule, [typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i3.AutosizeTextareaDirective, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.ImageCarouselComponent, typeof i10.FeatureOnboardingComponent, typeof i11.LabelListComponent, typeof i12.LabelsSelectorComponent, typeof i13.MediaDisplayOverlayDialogComponent, typeof i14.ModalComponent, typeof i15.PasswordInputComponent, typeof i16.SnackBarComponent, typeof i17.LabelComponent, typeof i18.NotificationComponent, typeof i19.PaginatorComponent, typeof i20.PaginatorButtonComponent, typeof i21.SlideToggleComponent, typeof i22.SnackbarsThreadComponent, typeof i23.TooltipNeoComponent, typeof i24.UsersTagComponent, typeof i3.AutosizeTextareaDirective, typeof i25.DefaultImageDirective, typeof i26.FrozenGifDirective, typeof i21.SlideToggleComponent, typeof i27.EqualValidatorDirective, typeof i28.MultiStyleTextDirective, typeof i29.TruncateTooltipDirective, typeof i30.TooltipNeoDirective], [typeof i31.AgorapulseUiSymbolModule, typeof i32.CommonModule, typeof i33.NgxDaterangepickerMd, typeof i34.FormsModule, typeof i34.ReactiveFormsModule, typeof i35.NgSelectModule, typeof i36.PopmenuModule, typeof i37.OverlayModule, typeof i38.MatBadgeModule, typeof i39.MatButtonModule, typeof i40.MatButtonToggleModule, typeof i41.MatChipsModule, typeof i42.MatExpansionModule, typeof i43.MatCheckboxModule, typeof i44.MatIconModule, typeof i45.MatProgressBarModule, typeof i46.MatProgressSpinnerModule, typeof i47.MatRadioModule, typeof i48.MatSliderModule, typeof i49.MatSlideToggleModule, typeof i50.MatMenuModule, typeof i51.MatSidenavModule, typeof i52.MatToolbarModule, typeof i53.MatCardModule, typeof i54.MatDividerModule, typeof i55.MatGridListModule, typeof i56.MatListModule, typeof i57.MatTabsModule, typeof i58.MatStepperModule, typeof i59.MatDialogModule, typeof i60.MatSnackBarModule, typeof i61.MatTableModule], [typeof i34.FormsModule, typeof i34.ReactiveFormsModule, typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.ImageCarouselComponent, typeof i10.FeatureOnboardingComponent, typeof i17.LabelComponent, typeof i11.LabelListComponent, typeof i13.MediaDisplayOverlayDialogComponent, typeof i14.ModalComponent, typeof i15.PasswordInputComponent, typeof i16.SnackBarComponent, typeof i12.LabelsSelectorComponent, typeof i18.NotificationComponent, typeof i19.PaginatorComponent, typeof i20.PaginatorButtonComponent, typeof i21.SlideToggleComponent, typeof i22.SnackbarsThreadComponent, typeof i3.AutosizeTextareaDirective, typeof i25.DefaultImageDirective, typeof i26.FrozenGifDirective, typeof i27.EqualValidatorDirective, typeof i28.MultiStyleTextDirective, typeof i29.TruncateTooltipDirective, typeof i30.TooltipNeoDirective, typeof i35.NgSelectModule, typeof i36.PopmenuModule, typeof i38.MatBadgeModule, typeof i39.MatButtonModule, typeof i40.MatButtonToggleModule, typeof i43.MatCheckboxModule, typeof i41.MatChipsModule, typeof i42.MatExpansionModule, typeof i24.UsersTagComponent, typeof i44.MatIconModule, typeof i45.MatProgressBarModule, typeof i46.MatProgressSpinnerModule, typeof i47.MatRadioModule, typeof i48.MatSliderModule, typeof i49.MatSlideToggleModule, typeof i50.MatMenuModule, typeof i51.MatSidenavModule, typeof i52.MatToolbarModule, typeof i53.MatCardModule, typeof i54.MatDividerModule, typeof i55.MatGridListModule, typeof i56.MatListModule, typeof i57.MatTabsModule, typeof i58.MatStepperModule, typeof i59.MatDialogModule, typeof i60.MatSnackBarModule, typeof i61.MatTableModule]>;
62
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AgorapulseUiComponentsModule, [typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i3.AutosizeTextareaDirective, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.LabelListComponent, typeof i10.LabelsSelectorComponent, typeof i11.MediaDisplayOverlayDialogComponent, typeof i12.ModalComponent, typeof i13.PasswordInputComponent, typeof i14.SnackBarComponent, typeof i15.LabelComponent, typeof i16.NotificationComponent, typeof i17.PaginatorComponent, typeof i18.PaginatorButtonComponent, typeof i19.SlideToggleComponent, typeof i20.SnackbarsThreadComponent, typeof i21.TooltipNeoComponent, typeof i3.AutosizeTextareaDirective, typeof i22.DefaultImageDirective, typeof i23.FrozenGifDirective, typeof i19.SlideToggleComponent, typeof i24.EqualValidatorDirective, typeof i25.MultiStyleTextDirective, typeof i26.TruncateTooltipDirective, typeof i27.TooltipNeoDirective], [typeof i28.AgorapulseUiSymbolModule, typeof i29.CommonModule, typeof i30.NgxDaterangepickerMd, typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof i32.NgSelectModule, typeof i33.PopmenuModule, typeof i34.OverlayModule, typeof i35.MatBadgeModule, typeof i36.MatButtonModule, typeof i37.MatButtonToggleModule, typeof i38.MatChipsModule, typeof i39.MatExpansionModule, typeof i40.MatCheckboxModule, typeof i41.MatIconModule, typeof i42.MatProgressBarModule, typeof i43.MatProgressSpinnerModule, typeof i44.MatRadioModule, typeof i45.MatSliderModule, typeof i46.MatSlideToggleModule, typeof i47.MatMenuModule, typeof i48.MatSidenavModule, typeof i49.MatToolbarModule, typeof i50.MatCardModule, typeof i51.MatDividerModule, typeof i52.MatGridListModule, typeof i53.MatListModule, typeof i54.MatTabsModule, typeof i55.MatStepperModule, typeof i56.MatDialogModule, typeof i57.MatSnackBarModule, typeof i58.MatTableModule], [typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i15.LabelComponent, typeof i9.LabelListComponent, typeof i11.MediaDisplayOverlayDialogComponent, typeof i12.ModalComponent, typeof i13.PasswordInputComponent, typeof i14.SnackBarComponent, typeof i10.LabelsSelectorComponent, typeof i16.NotificationComponent, typeof i17.PaginatorComponent, typeof i18.PaginatorButtonComponent, typeof i19.SlideToggleComponent, typeof i20.SnackbarsThreadComponent, typeof i3.AutosizeTextareaDirective, typeof i22.DefaultImageDirective, typeof i23.FrozenGifDirective, typeof i24.EqualValidatorDirective, typeof i25.MultiStyleTextDirective, typeof i26.TruncateTooltipDirective, typeof i27.TooltipNeoDirective, typeof i32.NgSelectModule, typeof i33.PopmenuModule, typeof i35.MatBadgeModule, typeof i36.MatButtonModule, typeof i37.MatButtonToggleModule, typeof i40.MatCheckboxModule, typeof i38.MatChipsModule, typeof i39.MatExpansionModule, typeof i41.MatIconModule, typeof i42.MatProgressBarModule, typeof i43.MatProgressSpinnerModule, typeof i44.MatRadioModule, typeof i45.MatSliderModule, typeof i46.MatSlideToggleModule, typeof i47.MatMenuModule, typeof i48.MatSidenavModule, typeof i49.MatToolbarModule, typeof i50.MatCardModule, typeof i51.MatDividerModule, typeof i52.MatGridListModule, typeof i53.MatListModule, typeof i54.MatTabsModule, typeof i55.MatStepperModule, typeof i56.MatDialogModule, typeof i57.MatSnackBarModule, typeof i58.MatTableModule]>;
66
63
  static ɵinj: i0.ɵɵInjectorDeclaration<AgorapulseUiComponentsModule>;
67
64
  }
@@ -9,8 +9,8 @@ export declare class AvatarComponent implements OnInit, OnChanges {
9
9
  imageUrl: string;
10
10
  loading: 'auto' | 'lazy' | 'eager';
11
11
  outerBorderHidden: boolean;
12
- size: 'large' | 'normal' | 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' | 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google';
13
- social: 'facebook' | 'instagram' | 'linkedin' | 'twitter' | 'youtube' | 'google';
12
+ size: 'large' | 'large-sm' | 'normal' | 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' | 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google';
13
+ social: 'facebook' | 'instagram' | 'linkedin' | 'tiktok' | 'twitter' | 'youtube' | 'google';
14
14
  username: string;
15
15
  rounded: boolean;
16
16
  online: boolean;
Binary file
@@ -1,35 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/dialog";
4
- import * as i2 from "../dots-stepper/dots-stepper.component";
5
- import * as i3 from "@agorapulse/ui-symbol";
6
- import * as i4 from "@angular/material/button";
7
- import * as i5 from "../modal/modal.component";
8
- import * as i6 from "@angular/common";
9
- export class FeatureOnboardingComponent {
10
- constructor(dialogRef) {
11
- this.dialogRef = dialogRef;
12
- // translations
13
- this.backButtonLabel = '';
14
- this.finishButtonLabel = '';
15
- this.nextButtonLabel = '';
16
- this.arrowsDisplayed = false; // To display arrows to switch element on carousel
17
- this.slideDisplayedIndex = 0; // The current element displayed
18
- }
19
- onClickNext() {
20
- this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();
21
- }
22
- onClickPrevious() {
23
- this.slideDisplayedIndex = this.slideDisplayedIndex - 1;
24
- }
25
- onCloseCarousel() {
26
- this.dialogRef.close(true);
27
- }
28
- }
29
- /** @nocollapse */ /** @nocollapse */ FeatureOnboardingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FeatureOnboardingComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
30
- /** @nocollapse */ /** @nocollapse */ FeatureOnboardingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FeatureOnboardingComponent, selector: "ap-feature-onboarding", ngImport: i0, template: "<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}ap-modal ::ng-deep .modal-wrapper{padding:0!important}ap-modal ::ng-deep .modal-wrapper .content{padding:0!important}.carousel-main-container{display:flex;flex-direction:column;overflow:hidden}.carousel-main-container .carousel-content{width:100%;height:100%;position:relative;margin:auto;justify-content:center;align-items:center}.carousel-main-container .carousel-content .carousel-slide-element,.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-not-displayed{display:none}.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-active{display:flex;flex-direction:column;justify-content:center;align-items:center}.carousel-main-container .carousel-content .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.carousel-main-container .carousel-content .nav-button.tiny{width:20px;height:20px}.carousel-main-container .carousel-content .nav-button path{fill:#fffc}.carousel-main-container .carousel-content .nav-button.prev{left:12px}.carousel-main-container .carousel-content .nav-button.next{right:12px}.carousel-main-container .carousel-content .nav-button.disabled{display:none}.carousel-main-container .carousel-content .carousel-dots-container{height:28px;margin-bottom:16px}.carousel-main-container .carousel-footer{align-items:center;justify-content:flex-end;display:flex;padding:0 16px;height:68px;border-top:1px solid #eaecef}.carousel-main-container .carousel-footer .button-container{margin-right:24px}.carousel-main-container .carousel-footer .button-container .carousel-previous-button{margin-right:8px}\n"], components: [{ type: i2.DotsStepperComponent, selector: "ap-dots-stepper", inputs: ["disabled", "forwardAllowed", "index", "items", "size"], outputs: ["dotClick"] }, { type: i3.SymbolComponent, selector: "ap-symbol", inputs: ["color", "id", "symbolId", "size", "state"] }, { type: i4.MatButton, 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"] }, { type: i5.ModalComponent, selector: "ap-modal", inputs: ["closable", "headerBottomBorderEnabled", "footerTemplate", "footerVisible", "headerTemplate", "headerVisible", "mainTemplate", "config", "containerStyle", "headerStyle", "contentStyle", "footerStyle", "defaultLayout"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FeatureOnboardingComponent, decorators: [{
32
- type: Component,
33
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-feature-onboarding', template: "<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}ap-modal ::ng-deep .modal-wrapper{padding:0!important}ap-modal ::ng-deep .modal-wrapper .content{padding:0!important}.carousel-main-container{display:flex;flex-direction:column;overflow:hidden}.carousel-main-container .carousel-content{width:100%;height:100%;position:relative;margin:auto;justify-content:center;align-items:center}.carousel-main-container .carousel-content .carousel-slide-element,.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-not-displayed{display:none}.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-active{display:flex;flex-direction:column;justify-content:center;align-items:center}.carousel-main-container .carousel-content .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.carousel-main-container .carousel-content .nav-button.tiny{width:20px;height:20px}.carousel-main-container .carousel-content .nav-button path{fill:#fffc}.carousel-main-container .carousel-content .nav-button.prev{left:12px}.carousel-main-container .carousel-content .nav-button.next{right:12px}.carousel-main-container .carousel-content .nav-button.disabled{display:none}.carousel-main-container .carousel-content .carousel-dots-container{height:28px;margin-bottom:16px}.carousel-main-container .carousel-footer{align-items:center;justify-content:flex-end;display:flex;padding:0 16px;height:68px;border-top:1px solid #eaecef}.carousel-main-container .carousel-footer .button-container{margin-right:24px}.carousel-main-container .carousel-footer .button-container .carousel-previous-button{margin-right:8px}\n"] }]
34
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1vbmJvYXJkaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2ZlYXR1cmUtb25ib2FyZGluZy9mZWF0dXJlLW9uYm9hcmRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZmVhdHVyZS1vbmJvYXJkaW5nL2ZlYXR1cmUtb25ib2FyZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFVdkIsTUFBTSxPQUFPLDBCQUEwQjtJQVduQyxZQUFtQixTQUEyQztRQUEzQyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQVQ5RCxlQUFlO1FBQ2Ysb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQy9CLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBRTdCLG9CQUFlLEdBQVksS0FBSyxDQUFDLENBQUMsa0RBQWtEO1FBRXBGLHdCQUFtQixHQUFXLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztJQUdqRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDOUksQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7OzZKQXhCUSwwQkFBMEI7aUpBQTFCLDBCQUEwQiw2RENidkMscS9FQXlEQTsyRkQ1Q2EsMEJBQTBCO2tCQU50QyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZ1JlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1mZWF0dXJlLW9uYm9hcmRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLW9uYm9hcmRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZlYXR1cmUtb25ib2FyZGluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVPbmJvYXJkaW5nQ29tcG9uZW50IHtcblxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIGJhY2tCdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG4gICAgZmluaXNoQnV0dG9uTGFiZWw6IHN0cmluZyA9ICcnO1xuICAgIG5leHRCdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBhcnJvd3NEaXNwbGF5ZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVG8gZGlzcGxheSBhcnJvd3MgdG8gc3dpdGNoIGVsZW1lbnQgb24gY2Fyb3VzZWxcbiAgICB0ZW1wbGF0ZXM6IGFueVtdOyAvLyBPbmUgdGVtcGxhdGUgcmVwcmVzZW50IG9uZSBlbGVtZW50IG9mIHRoZSBjYXJvdXNlbFxuICAgIHNsaWRlRGlzcGxheWVkSW5kZXg6IG51bWJlciA9IDA7IC8vIFRoZSBjdXJyZW50IGVsZW1lbnQgZGlzcGxheWVkXG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29tcG9uZW50VHlwZTxhbnk+Pikge1xuICAgIH1cblxuICAgIG9uQ2xpY2tOZXh0KCkge1xuICAgICAgICB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggIT09IHRoaXMudGVtcGxhdGVzLmxlbmd0aCAtIDEgPyB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggPSB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggKyAxIDogdGhpcy5vbkNsb3NlQ2Fyb3VzZWwoKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrUHJldmlvdXMoKSB7XG4gICAgICAgIHRoaXMuc2xpZGVEaXNwbGF5ZWRJbmRleCA9IHRoaXMuc2xpZGVEaXNwbGF5ZWRJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgb25DbG9zZUNhcm91c2VsKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcbiAgICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjbWFpblRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1tYWluLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGVtcGxhdGUgb2YgdGVtcGxhdGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1zbGlkZS1lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLmNhcm91c2VsLXNsaWRlLWVsZW1lbnQtbm90LWRpc3BsYXllZF09XCJpICE9PSBzbGlkZURpc3BsYXllZEluZGV4XCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLmNhcm91c2VsLXNsaWRlLWVsZW1lbnQtYWN0aXZlXT1cImkgPT09IHNsaWRlRGlzcGxheWVkSW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtZG90cy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwLWRvdHMtc3RlcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0ZW1wbGF0ZXMubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidGVtcGxhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRleF09XCJzbGlkZURpc3BsYXllZEluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkb3RDbGljayk9XCJzbGlkZURpc3BsYXllZEluZGV4ID0gJGV2ZW50XCI+PC9hcC1kb3RzLXN0ZXBwZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFycm93c0Rpc3BsYXllZFwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2wgKm5nSWY9XCJzbGlkZURpc3BsYXllZEluZGV4ICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWJ1dHRvbiBwcmV2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCInYXJyb3ctYnV0dG9uLWxlZnQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrUHJldmlvdXMoKVwiPlxuICAgICAgICAgICAgICAgIDwvYXAtc3ltYm9sPlxuXG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBjbGFzcz1cIm5hdi1idXR0b24gbmV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ltYm9sSWRdPVwiJ2Fycm93LWJ1dHRvbi1yaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tOZXh0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXN5bWJvbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzbGlkZURpc3BsYXllZEluZGV4ICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1wcmV2aW91cy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tQcmV2aW91cygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7YmFja0J1dHRvbkxhYmVsfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja05leHQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2xpZGVEaXNwbGF5ZWRJbmRleCAhPT0gdGVtcGxhdGVzLmxlbmd0aCAtIDFcIj57e25leHRCdXR0b25MYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbGlkZURpc3BsYXllZEluZGV4ID09PSB0ZW1wbGF0ZXMubGVuZ3RoIC0gMVwiPnt7ZmluaXNoQnV0dG9uTGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPGFwLW1vZGFsIGNsYXNzPVwiZGVzaWduLXN5c3RlbVwiXG4gICAgICAgICAgW2Nsb3NhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICBbbWFpblRlbXBsYXRlXT1cIm1haW5UZW1wbGF0ZVwiXG4+PC9hcC1tb2RhbD5cbiJdfQ==
@@ -1,165 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
- import { animate, style } from '@angular/animations';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/animations";
5
- import * as i2 from "../users-tag/users-tag.component";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "../dots-stepper/dots-stepper.component";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "../directives/frozen-gif.directive";
10
- import * as i7 from "../directives/default-image.directive";
11
- export var InstagramCarouselItemType;
12
- (function (InstagramCarouselItemType) {
13
- InstagramCarouselItemType["IMAGE"] = "photo";
14
- InstagramCarouselItemType["VIDEO"] = "video";
15
- })(InstagramCarouselItemType || (InstagramCarouselItemType = {}));
16
- export class ImageCarouselComponent {
17
- constructor(animationBuilder) {
18
- this.animationBuilder = animationBuilder;
19
- this.InstagramCarouselItemType = InstagramCarouselItemType;
20
- this.items = [];
21
- this.dotsInside = false;
22
- this.soundEnabled = false;
23
- this.supportGif = true;
24
- this.tinyMode = false;
25
- this.tagOverlayShown = true;
26
- this.currentImageChanged = new EventEmitter();
27
- this._selectedIndex = 0;
28
- this.carouselOffset = 0;
29
- this.videoPlayers = [];
30
- }
31
- get selectedIndex() {
32
- return this._selectedIndex;
33
- }
34
- set selectedIndex(value) {
35
- this.videoPause(this.selectedIndex);
36
- if (value < 0) {
37
- value = 0;
38
- }
39
- if (value > this.items.length - 1) {
40
- value = this.items.length - 1;
41
- }
42
- this._selectedIndex = value;
43
- this.move();
44
- if (this.tinyMode && this.mouseOver) {
45
- this.videoPlay(this.selectedIndex);
46
- }
47
- }
48
- ngOnChanges(changes) {
49
- if (changes.items && changes.items.previousValue?.length > changes.items.currentValue.length) {
50
- const itemsLength = changes.items.currentValue.length - 1;
51
- if (this._selectedIndex > itemsLength) {
52
- this._selectedIndex = itemsLength;
53
- this.move();
54
- }
55
- }
56
- }
57
- isPrevButtonEnabled() {
58
- return this.selectedIndex > 0;
59
- }
60
- isNextButtonEnabled() {
61
- if (this.items && this.items[this.selectedIndex]) {
62
- return this.selectedIndex < this.items.length - 1;
63
- }
64
- return false;
65
- }
66
- isVideo() {
67
- if (this.items && this.items[this.selectedIndex]) {
68
- return this.items[this.selectedIndex].type === InstagramCarouselItemType.VIDEO;
69
- }
70
- return false;
71
- }
72
- dotsDisplayed() {
73
- if (this.items && this.items[this.selectedIndex]) {
74
- return this.items.length > 1;
75
- }
76
- return false;
77
- }
78
- prev() {
79
- this.selectedIndex -= 1;
80
- this.currentImageChanged.emit(this.items[this.selectedIndex]);
81
- }
82
- next() {
83
- this.selectedIndex += 1;
84
- this.currentImageChanged.emit(this.items[this.selectedIndex]);
85
- }
86
- play(event, index) {
87
- if (!this.tinyMode) {
88
- const videoPlayer = this.videoPlayers[index];
89
- if (videoPlayer) {
90
- videoPlayer.paused ? this.videoPlay(index) : this.videoPause(index);
91
- }
92
- event.stopPropagation();
93
- }
94
- }
95
- move(instantaneous = false) {
96
- this.carouselOffset = -this.carousel.nativeElement.offsetWidth * this.selectedIndex;
97
- this.animationBuilder.build(animate(instantaneous ? '1ms' : '250ms ease-in', style({ transform: `translateX(${this.carouselOffset}px)` }))).create(this.carousel.nativeElement).play();
98
- }
99
- onMouseEntersVideo(event, index) {
100
- this.mouseOver = true;
101
- if (this.tinyMode) {
102
- this.videoPlay(index);
103
- }
104
- }
105
- onMouseLeavesVideo(event, index) {
106
- this.mouseOver = false;
107
- if (this.tinyMode) {
108
- this.videoPause(index);
109
- }
110
- }
111
- onResize(event) {
112
- this.move(true);
113
- }
114
- registerVideoPlayer(event, index) {
115
- this.videoPlayers[index] = event.target;
116
- event.target.muted = !this.soundEnabled;
117
- }
118
- videoPause(index) {
119
- const videoPlayer = this.videoPlayers[index];
120
- if (videoPlayer) {
121
- videoPlayer.pause();
122
- this.isPlaying = false;
123
- }
124
- }
125
- videoPlay(index) {
126
- const videoPlayer = this.videoPlayers[index];
127
- if (videoPlayer) {
128
- videoPlayer.play();
129
- this.isPlaying = true;
130
- }
131
- }
132
- switchSound() {
133
- this.soundEnabled = !this.soundEnabled;
134
- for (const player of this.videoPlayers) {
135
- player.muted = !this.soundEnabled;
136
- }
137
- }
138
- }
139
- /** @nocollapse */ /** @nocollapse */ ImageCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ImageCarouselComponent, deps: [{ token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Component });
140
- /** @nocollapse */ /** @nocollapse */ ImageCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ImageCarouselComponent, selector: "ap-image-carousel", inputs: { items: "items", dotsInside: "dotsInside", soundEnabled: "soundEnabled", supportGif: "supportGif", tinyMode: "tinyMode", tagOverlayShown: "tagOverlayShown" }, outputs: { currentImageChanged: "currentImageChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"items && items.length > 0 && items[0].url\">\n <div class=\"carousel-wrapper\"\n (mouseenter)=\"onMouseEntersVideo($event, selectedIndex)\"\n (mouseleave)=\"onMouseLeavesVideo($event, selectedIndex)\">\n <ul class=\"carousel-inner\" #carousel>\n <li *ngFor=\"let item of items; let i = index\" class=\"carousel-item\">\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.IMAGE && item.url\">\n <img apFrozenGif\n id=\"imagePreview\"\n [apFrozen]=\"!supportGif\"\n [default]=\"'assets/img/default.png'\"\n [src]=\"item.url\">\n <ap-users-tag *ngIf=\"item.userTags?.length\"\n [userTags]=\"item.userTags\"\n [tagOverlayShown]=\"tagOverlayShown\"\n ></ap-users-tag>\n </ng-template>\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.VIDEO && item.url\">\n <video [id]=\"'video-' + i\"\n [attr.poster]=\"item.thumbnailUrl\"\n [loop]=\"tinyMode\"\n [src]=\"item.url\"\n (click)=\"play($event, i)\"\n (ended)=\"isPlaying = false\"\n (loadstart)=\"registerVideoPlayer($event, i)\">\n </video>\n <svg class=\"play-button\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"play($event, i)\">\n <path *ngIf=\"!isPlaying\" d=\"M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28\"/>\n </svg>\n <mat-icon class=\"sound-button\"\n *ngIf=\"!tinyMode\"\n (click)=\"switchSound(); $event.stopPropagation();\">\n {{soundEnabled ? 'volume_up' : 'volume_off'}}\n </mat-icon>\n </ng-template>\n </li>\n </ul>\n\n <svg class=\"nav-button prev\"\n [ngClass]=\"{'disabled': !isPrevButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"prev(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n\n <svg class=\"nav-button next\"\n [ngClass]=\"{'disabled': !isNextButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"next(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n\t l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n </div>\n <div [ngClass]=\"{'inside': dotsInside}\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"dotsDisplayed()\"\n [items]=\"items\"\n [index]=\"selectedIndex\"\n (dotClick)=\"selectedIndex = $event\"></ap-dots-stepper>\n </div>\n</section>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}section{position:relative}section .carousel-wrapper{overflow:hidden;width:100%;padding-top:100%;position:relative}section .carousel-wrapper .carousel-inner{position:absolute;top:0;margin:0;padding:0;width:100%;height:100%;display:flex;list-style:none}section .carousel-wrapper .carousel-inner .carousel-item{position:relative;width:100%;flex-shrink:0;text-align:center}section .carousel-wrapper .carousel-inner .carousel-item img,section .carousel-wrapper .carousel-inner .carousel-item video{height:100%;width:100%;object-fit:cover;object-position:center}section .carousel-wrapper .carousel-inner .carousel-item .play-button{z-index:1000;position:absolute;top:0;right:0;bottom:0;left:0;width:32px;height:32px;transform:scale(2);margin:auto;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .carousel-inner .carousel-item .play-button path{fill:#fffc}section .carousel-wrapper .carousel-inner .carousel-item .sound-button{z-index:1000;position:absolute;right:8px;bottom:8px;color:#fff}section .carousel-wrapper .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .nav-button.tiny{width:20px;height:20px}section .carousel-wrapper .nav-button path{fill:#fffc}section .carousel-wrapper .nav-button.prev{left:12px;transform:rotate(180deg)}section .carousel-wrapper .nav-button.next{right:12px}section .carousel-wrapper .nav-button.disabled{display:none}section ::ng-deep div.inside ap-dots-stepper div.dots{bottom:0;width:100%}\n"], components: [{ type: i2.UsersTagComponent, selector: "ap-users-tag", inputs: ["userTags", "tagOverlayShown"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.DotsStepperComponent, selector: "ap-dots-stepper", inputs: ["disabled", "forwardAllowed", "index", "items", "size"], outputs: ["dotClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.FrozenGifDirective, selector: "img[apFrozenGif]", inputs: ["src", "apFrozen", "apGifEvents"] }, { type: i7.DefaultImageDirective, selector: "img[default]", inputs: ["src", "default"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ImageCarouselComponent, decorators: [{
142
- type: Component,
143
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-image-carousel', template: "<section *ngIf=\"items && items.length > 0 && items[0].url\">\n <div class=\"carousel-wrapper\"\n (mouseenter)=\"onMouseEntersVideo($event, selectedIndex)\"\n (mouseleave)=\"onMouseLeavesVideo($event, selectedIndex)\">\n <ul class=\"carousel-inner\" #carousel>\n <li *ngFor=\"let item of items; let i = index\" class=\"carousel-item\">\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.IMAGE && item.url\">\n <img apFrozenGif\n id=\"imagePreview\"\n [apFrozen]=\"!supportGif\"\n [default]=\"'assets/img/default.png'\"\n [src]=\"item.url\">\n <ap-users-tag *ngIf=\"item.userTags?.length\"\n [userTags]=\"item.userTags\"\n [tagOverlayShown]=\"tagOverlayShown\"\n ></ap-users-tag>\n </ng-template>\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.VIDEO && item.url\">\n <video [id]=\"'video-' + i\"\n [attr.poster]=\"item.thumbnailUrl\"\n [loop]=\"tinyMode\"\n [src]=\"item.url\"\n (click)=\"play($event, i)\"\n (ended)=\"isPlaying = false\"\n (loadstart)=\"registerVideoPlayer($event, i)\">\n </video>\n <svg class=\"play-button\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"play($event, i)\">\n <path *ngIf=\"!isPlaying\" d=\"M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28\"/>\n </svg>\n <mat-icon class=\"sound-button\"\n *ngIf=\"!tinyMode\"\n (click)=\"switchSound(); $event.stopPropagation();\">\n {{soundEnabled ? 'volume_up' : 'volume_off'}}\n </mat-icon>\n </ng-template>\n </li>\n </ul>\n\n <svg class=\"nav-button prev\"\n [ngClass]=\"{'disabled': !isPrevButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"prev(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n\n <svg class=\"nav-button next\"\n [ngClass]=\"{'disabled': !isNextButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"next(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n\t l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n </div>\n <div [ngClass]=\"{'inside': dotsInside}\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"dotsDisplayed()\"\n [items]=\"items\"\n [index]=\"selectedIndex\"\n (dotClick)=\"selectedIndex = $event\"></ap-dots-stepper>\n </div>\n</section>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}section{position:relative}section .carousel-wrapper{overflow:hidden;width:100%;padding-top:100%;position:relative}section .carousel-wrapper .carousel-inner{position:absolute;top:0;margin:0;padding:0;width:100%;height:100%;display:flex;list-style:none}section .carousel-wrapper .carousel-inner .carousel-item{position:relative;width:100%;flex-shrink:0;text-align:center}section .carousel-wrapper .carousel-inner .carousel-item img,section .carousel-wrapper .carousel-inner .carousel-item video{height:100%;width:100%;object-fit:cover;object-position:center}section .carousel-wrapper .carousel-inner .carousel-item .play-button{z-index:1000;position:absolute;top:0;right:0;bottom:0;left:0;width:32px;height:32px;transform:scale(2);margin:auto;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .carousel-inner .carousel-item .play-button path{fill:#fffc}section .carousel-wrapper .carousel-inner .carousel-item .sound-button{z-index:1000;position:absolute;right:8px;bottom:8px;color:#fff}section .carousel-wrapper .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .nav-button.tiny{width:20px;height:20px}section .carousel-wrapper .nav-button path{fill:#fffc}section .carousel-wrapper .nav-button.prev{left:12px;transform:rotate(180deg)}section .carousel-wrapper .nav-button.next{right:12px}section .carousel-wrapper .nav-button.disabled{display:none}section ::ng-deep div.inside ap-dots-stepper div.dots{bottom:0;width:100%}\n"] }]
144
- }], ctorParameters: function () { return [{ type: i1.AnimationBuilder }]; }, propDecorators: { carousel: [{
145
- type: ViewChild,
146
- args: ['carousel']
147
- }], items: [{
148
- type: Input
149
- }], dotsInside: [{
150
- type: Input
151
- }], soundEnabled: [{
152
- type: Input
153
- }], supportGif: [{
154
- type: Input
155
- }], tinyMode: [{
156
- type: Input
157
- }], tagOverlayShown: [{
158
- type: Input
159
- }], currentImageChanged: [{
160
- type: Output
161
- }], onResize: [{
162
- type: HostListener,
163
- args: ['window:resize', ['$event']]
164
- }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvaW1hZ2UtY2Fyb3VzZWwvaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvaW1hZ2UtY2Fyb3VzZWwvaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFvQixLQUFLLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBR3JFLE1BQU0sQ0FBTixJQUFZLHlCQUdYO0FBSEQsV0FBWSx5QkFBeUI7SUFDakMsNENBQWUsQ0FBQTtJQUNmLDRDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUhXLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFHcEM7QUFlRCxNQUFNLE9BQU8sc0JBQXNCO0lBcUIvQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5CL0MsOEJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFJcEQsVUFBSyxHQUE0QixFQUFFLENBQUM7UUFDcEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdEIsd0JBQW1CLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRXZHLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FB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QixzQkFBc0IsbWRDakNuQyw4bEhBcUVBOzJGRHBDYSxzQkFBc0I7a0JBTmxDLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxtQkFBbUI7dUdBUUUsUUFBUTtzQkFBdEMsU0FBUzt1QkFBQyxVQUFVO2dCQUVaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQTJHUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2FuaW1hdGUsIEFuaW1hdGlvbkJ1aWxkZXIsIHN0eWxlfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7SW5zdGFncmFtVXNlclRhZ30gZnJvbSBcIi4uL3VzZXJzLXRhZy91c2Vycy10YWcuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBlbnVtIEluc3RhZ3JhbUNhcm91c2VsSXRlbVR5cGUge1xuICAgIElNQUdFID0gJ3Bob3RvJyxcbiAgICBWSURFTyA9ICd2aWRlbydcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnN0YWdyYW1DYXJvdXNlbEl0ZW0ge1xuICAgIHR5cGU6IEluc3RhZ3JhbUNhcm91c2VsSXRlbVR5cGU7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgdGh1bWJuYWlsVXJsPzogc3RyaW5nO1xuICAgIHVzZXJUYWdzPzogSW5zdGFncmFtVXNlclRhZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLWltYWdlLWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VDYXJvdXNlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBwdWJsaWMgSW5zdGFncmFtQ2Fyb3VzZWxJdGVtVHlwZSA9IEluc3RhZ3JhbUNhcm91c2VsSXRlbVR5cGU7XG5cbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbCcpIHByaXZhdGUgY2Fyb3VzZWw6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBpdGVtczogSW5zdGFncmFtQ2Fyb3VzZWxJdGVtW10gPSBbXTtcbiAgICBASW5wdXQoKSBkb3RzSW5zaWRlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc291bmRFbmFibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc3VwcG9ydEdpZiA9IHRydWU7XG4gICAgQElucHV0KCkgdGlueU1vZGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB0YWdPdmVybGF5U2hvd24gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIGN1cnJlbnRJbWFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJbnN0YWdyYW1DYXJvdXNlbEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxJbnN0YWdyYW1DYXJvdXNlbEl0ZW0+KCk7XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZEluZGV4ID0gMDtcbiAgICBwdWJsaWMgY2Fyb3VzZWxPZmZzZXQgPSAwO1xuICAgIHB1YmxpYyBpc1BsYXlpbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBtb3VzZU92ZXI6IGJvb2xlYW47XG4gICAgcHVibGljIHZpZGVvUGxheWVyczogSFRNTFZpZGVvRWxlbWVudFtdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuaW1hdGlvbkJ1aWxkZXI6IEFuaW1hdGlvbkJ1aWxkZXIpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy52aWRlb1BhdXNlKHRoaXMuc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHZhbHVlID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPiB0aGlzLml0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5tb3ZlKCk7XG4gICAgICAgIGlmICh0aGlzLnRpbnlNb2RlICYmIHRoaXMubW91c2VPdmVyKSB7XG4gICAgICAgICAgICB0aGlzLnZpZGVvUGxheSh0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtcyAmJiBjaGFuZ2VzLml0ZW1zLnByZXZpb3VzVmFsdWU/Lmxlbmd0aCA+IGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbXNMZW5ndGg6IG51bWJlciA9IGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCA+IGl0ZW1zTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IGl0ZW1zTGVuZ3RoO1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNQcmV2QnV0dG9uRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJbmRleCA+IDA7XG4gICAgfVxuXG4gICAgaXNOZXh0QnV0dG9uRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtc1t0aGlzLnNlbGVjdGVkSW5kZXhdKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEluZGV4IDwgdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpc1ZpZGVvKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0udHlwZSA9PT0gSW5zdGFncmFtQ2Fyb3VzZWxJdGVtVHlwZS5WSURFTztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZG90c0Rpc3BsYXllZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtc1t0aGlzLnNlbGVjdGVkSW5kZXhdKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGggPiAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcmV2KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggLT0gMTtcbiAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VDaGFuZ2VkLmVtaXQodGhpcy5pdGVtc1t0aGlzLnNlbGVjdGVkSW5kZXhdKTtcbiAgICB9XG5cbiAgICBuZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggKz0gMTtcbiAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VDaGFuZ2VkLmVtaXQodGhpcy5pdGVtc1t0aGlzLnNlbGVjdGVkSW5kZXhdKTtcbiAgICB9XG5cbiAgICBwbGF5KGV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aW55TW9kZSkge1xuICAgICAgICAgICAgY29uc3QgdmlkZW9QbGF5ZXI6IEhUTUxWaWRlb0VsZW1lbnQgPSB0aGlzLnZpZGVvUGxheWVyc1tpbmRleF07XG4gICAgICAgICAgICBpZiAodmlkZW9QbGF5ZXIpIHtcbiAgICAgICAgICAgICAgICB2aWRlb1BsYXllci5wYXVzZWQgPyB0aGlzLnZpZGVvUGxheShpbmRleCkgOiB0aGlzLnZpZGVvUGF1c2UoaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3ZlKGluc3RhbnRhbmVvdXM6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcm91c2VsT2Zmc2V0ID0gLXRoaXMuY2Fyb3VzZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAqIHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgdGhpcy5hbmltYXRpb25CdWlsZGVyLmJ1aWxkKFxuICAgICAgICAgICAgYW5pbWF0ZShpbnN0YW50YW5lb3VzID8gJzFtcycgOiAnMjUwbXMgZWFzZS1pbicsIHN0eWxlKHt0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKCR7dGhpcy5jYXJvdXNlbE9mZnNldH1weClgfSkpXG4gICAgICAgICkuY3JlYXRlKHRoaXMuY2Fyb3VzZWwubmF0aXZlRWxlbWVudCkucGxheSgpO1xuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcnNWaWRlbyhldmVudCwgaW5kZXgpIHtcbiAgICAgICAgdGhpcy5tb3VzZU92ZXIgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy50aW55TW9kZSkge1xuICAgICAgICAgICAgdGhpcy52aWRlb1BsYXkoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlc1ZpZGVvKGV2ZW50LCBpbmRleCkge1xuICAgICAgICB0aGlzLm1vdXNlT3ZlciA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy50aW55TW9kZSkge1xuICAgICAgICAgICAgdGhpcy52aWRlb1BhdXNlKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uUmVzaXplKGV2ZW50KSB7XG4gICAgICAgIHRoaXMubW92ZSh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJWaWRlb1BsYXllcihldmVudCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnZpZGVvUGxheWVyc1tpbmRleF0gPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGV2ZW50LnRhcmdldC5tdXRlZCA9ICF0aGlzLnNvdW5kRW5hYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZpZGVvUGF1c2UoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCB2aWRlb1BsYXllcjogSFRNTFZpZGVvRWxlbWVudCA9IHRoaXMudmlkZW9QbGF5ZXJzW2luZGV4XTtcbiAgICAgICAgaWYgKHZpZGVvUGxheWVyKSB7XG4gICAgICAgICAgICB2aWRlb1BsYXllci5wYXVzZSgpO1xuICAgICAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmlkZW9QbGF5KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdmlkZW9QbGF5ZXI6IEhUTUxWaWRlb0VsZW1lbnQgPSB0aGlzLnZpZGVvUGxheWVyc1tpbmRleF07XG4gICAgICAgIGlmICh2aWRlb1BsYXllcikge1xuICAgICAgICAgICAgdmlkZW9QbGF5ZXIucGxheSgpO1xuICAgICAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN3aXRjaFNvdW5kKCkge1xuICAgICAgICB0aGlzLnNvdW5kRW5hYmxlZCA9ICF0aGlzLnNvdW5kRW5hYmxlZDtcbiAgICAgICAgZm9yIChjb25zdCBwbGF5ZXIgb2YgdGhpcy52aWRlb1BsYXllcnMpIHtcbiAgICAgICAgICAgIHBsYXllci5tdXRlZCA9ICF0aGlzLnNvdW5kRW5hYmxlZDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxzZWN0aW9uICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMCAmJiBpdGVtc1swXS51cmxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtd3JhcHBlclwiXG4gICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXJzVmlkZW8oJGV2ZW50LCBzZWxlY3RlZEluZGV4KVwiXG4gICAgICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmVzVmlkZW8oJGV2ZW50LCBzZWxlY3RlZEluZGV4KVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiICNjYXJvdXNlbD5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtLnR5cGUgPT09IEluc3RhZ3JhbUNhcm91c2VsSXRlbVR5cGUuSU1BR0UgJiYgaXRlbS51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBhcEZyb3plbkdpZlxuICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiaW1hZ2VQcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXBGcm96ZW5dPVwiIXN1cHBvcnRHaWZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0XT1cIidhc3NldHMvaW1nL2RlZmF1bHQucG5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICA8YXAtdXNlcnMtdGFnICpuZ0lmPVwiaXRlbS51c2VyVGFncz8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdXNlclRhZ3NdPVwiaXRlbS51c2VyVGFnc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhZ092ZXJsYXlTaG93bl09XCJ0YWdPdmVybGF5U2hvd25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9hcC11c2Vycy10YWc+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbS50eXBlID09PSBJbnN0YWdyYW1DYXJvdXNlbEl0ZW1UeXBlLlZJREVPICYmIGl0ZW0udXJsXCI+XG4gICAgICAgICAgICAgICAgICAgIDx2aWRlbyBbaWRdPVwiJ3ZpZGVvLScgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnBvc3Rlcl09XCJpdGVtLnRodW1ibmFpbFVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9vcF09XCJ0aW55TW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5KCRldmVudCwgaSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZGVkKT1cImlzUGxheWluZyA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChsb2Fkc3RhcnQpPVwicmVnaXN0ZXJWaWRlb1BsYXllcigkZXZlbnQsIGkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJwbGF5LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBsYXkoJGV2ZW50LCBpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggKm5nSWY9XCIhaXNQbGF5aW5nXCIgZD1cIk0xMSwxMCBMMTgsMTMuNzQgMTgsMjIuMjggMTEsMjYgTTE4LDEzLjc0IEwyNiwxOCAyNiwxOCAxOCwyMi4yOFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNvdW5kLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiF0aW55TW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3dpdGNoU291bmQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tzb3VuZEVuYWJsZWQgPyAndm9sdW1lX3VwJyA6ICd2b2x1bWVfb2ZmJ319XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG5cbiAgICAgICAgPHN2ZyBjbGFzcz1cIm5hdi1idXR0b24gcHJldlwiXG4gICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ICFpc1ByZXZCdXR0b25FbmFibGVkKCksICd0aW55JzogdGlueU1vZGV9XCJcbiAgICAgICAgICAgICAoY2xpY2spPVwicHJldigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQ1NSA0NTVcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjI3LjUsMEMxMDEuODU1LDAsMCwxMDEuODU1LDAsMjI3LjVTMTAxLjg1NSw0NTUsMjI3LjUsNDU1UzQ1NSwzNTMuMTQ1LDQ1NSwyMjcuNVMzNTMuMTQ1LDAsMjI3LjUsMHogTTE5OS40NzYsMzU1LjU4OVxuICAgICAgICAgICAgICAgICAgbC0yMS4yNDgtMjEuMTc4TDI4NC43OTEsMjI3LjVMMTc4LjIyOCwxMjAuNTg5bDIxLjI0OC0yMS4xNzhMMzI3LjE0OCwyMjcuNUwxOTkuNDc2LDM1NS41ODl6XCIvPlxuICAgICAgICA8L3N2Zz5cblxuICAgICAgICA8c3ZnIGNsYXNzPVwibmF2LWJ1dHRvbiBuZXh0XCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogIWlzTmV4dEJ1dHRvbkVuYWJsZWQoKSwgJ3RpbnknOiB0aW55TW9kZX1cIlxuICAgICAgICAgICAgIChjbGljayk9XCJuZXh0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNDU1IDQ1NVwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0yMjcuNSwwQzEwMS44NTUsMCwwLDEwMS44NTUsMCwyMjcuNVMxMDEuODU1LDQ1NSwyMjcuNSw0NTVTNDU1LDM1My4xNDUsNDU1LDIyNy41UzM1My4xNDUsMCwyMjcuNSwweiBNMTk5LjQ3NiwzNTUuNTg5XG5cdCAgICAgICAgICAgICAgbC0yMS4yNDgtMjEuMTc4TDI4NC43OTEsMjI3LjVMMTc4LjIyOCwxMjAuNTg5bDIxLjI0OC0yMS4xNzhMMzI3LjE0OCwyMjcuNUwxOTkuNDc2LDM1NS41ODl6XCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaW5zaWRlJzogZG90c0luc2lkZX1cIj5cbiAgICAgICAgPGFwLWRvdHMtc3RlcHBlclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgKm5nSWY9XCJkb3RzRGlzcGxheWVkKClcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgICAgICAgIFtpbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgICAgIChkb3RDbGljayk9XCJzZWxlY3RlZEluZGV4ID0gJGV2ZW50XCI+PC9hcC1kb3RzLXN0ZXBwZXI+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=