@pepperi-addons/ngx-lib 0.5.0-ng16.7 → 0.5.0-ng17.1
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/core/http/interceptors/index.d.ts +2 -2
- package/esm2022/address/address.component.mjs +6 -6
- package/esm2022/address/address.module.mjs +4 -4
- package/esm2022/attachment/attachment.component.mjs +5 -5
- package/esm2022/attachment/attachment.module.mjs +4 -4
- package/esm2022/bread-crumbs/bread-crumbs.component.mjs +6 -6
- package/esm2022/bread-crumbs/bread-crumbs.module.mjs +5 -5
- package/esm2022/button/button.component.mjs +5 -5
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/carousel/carousel-item.directive.mjs +6 -6
- package/esm2022/carousel/carousel.component.mjs +6 -6
- package/esm2022/carousel/carousel.module.mjs +4 -4
- package/esm2022/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/chips/chips.component.mjs +6 -6
- package/esm2022/chips/chips.module.mjs +5 -5
- package/esm2022/chips/chips.service.mjs +4 -4
- package/esm2022/color/color-picker.component.mjs +6 -6
- package/esm2022/color/color.component.mjs +5 -5
- package/esm2022/color/color.module.mjs +5 -5
- package/esm2022/core/clipboard/clipboard.directive.mjs +3 -3
- package/esm2022/core/clipboard/clipboard.service.mjs +3 -3
- package/esm2022/core/common/directives/auto-width.directive.mjs +5 -5
- package/esm2022/core/common/directives/base-destroyer.directive.mjs +4 -4
- package/esm2022/core/common/directives/button-blur.directive.mjs +5 -5
- package/esm2022/core/common/directives/button-loader.directive.mjs +6 -6
- package/esm2022/core/common/directives/data-qa.directive.mjs +5 -5
- package/esm2022/core/common/directives/div-loader.directive.mjs +6 -6
- package/esm2022/core/common/directives/menu-blur.directive.mjs +5 -5
- package/esm2022/core/common/directives/prevent-multi-click.directive.mjs +3 -3
- package/esm2022/core/common/directives/print.directive.mjs +3 -3
- package/esm2022/core/common/pipes/common-pipes.mjs +33 -33
- package/esm2022/core/common/pipes/date-ago.pipe.mjs +4 -4
- package/esm2022/core/common/services/addon.service.mjs +5 -5
- package/esm2022/core/common/services/color.service.mjs +3 -3
- package/esm2022/core/common/services/cookie.service.mjs +5 -5
- package/esm2022/core/common/services/data-convertor.service.mjs +3 -3
- package/esm2022/core/common/services/file.service.mjs +4 -4
- package/esm2022/core/common/services/jwt-helper.service.mjs +3 -3
- package/esm2022/core/common/services/session.service.mjs +4 -4
- package/esm2022/core/common/services/translate.service.mjs +4 -4
- package/esm2022/core/common/services/utilities.service.mjs +5 -5
- package/esm2022/core/common/services/validator.service.mjs +5 -5
- package/esm2022/core/common/services/window-scrolling.service.mjs +4 -4
- package/esm2022/core/customization/customization.service.mjs +4 -4
- package/esm2022/core/http/interceptors/error.interceptor.mjs +3 -3
- package/esm2022/core/http/interceptors/loader.interceptor.mjs +4 -4
- package/esm2022/core/http/interceptors/profiler.interceptor.mjs +3 -3
- package/esm2022/core/http/services/http.service.mjs +4 -4
- package/esm2022/core/http/services/loader.service.mjs +4 -4
- package/esm2022/core/layout/layout.service.mjs +5 -5
- package/esm2022/core/layout/rtl.directive.mjs +8 -8
- package/esm2022/core/portal/attach.directive.mjs +5 -5
- package/esm2022/core/portal/portal.service.mjs +4 -4
- package/esm2022/core/portal/target.directive.mjs +5 -5
- package/esm2022/core/scroll-to/scroll-to.service.mjs +3 -3
- package/esm2022/date/date.component.mjs +6 -6
- package/esm2022/date/date.model.mjs +10 -10
- package/esm2022/date/date.module.mjs +5 -5
- package/esm2022/dialog/default-dialog.component.mjs +6 -6
- package/esm2022/dialog/dialog.component.mjs +5 -5
- package/esm2022/dialog/dialog.module.mjs +5 -5
- package/esm2022/dialog/dialog.service.mjs +4 -4
- package/esm2022/draggable-items/draggable-item/draggable-item.component.mjs +5 -5
- package/esm2022/draggable-items/draggable-items.component.mjs +5 -5
- package/esm2022/draggable-items/draggable-items.module.mjs +5 -5
- package/esm2022/field-title/field-title.component.mjs +4 -4
- package/esm2022/field-title/field-title.module.mjs +5 -5
- package/esm2022/files-uploader/files-uploader.component.mjs +6 -6
- package/esm2022/files-uploader/files-uploader.module.mjs +5 -5
- package/esm2022/form/field-generator.component.mjs +4 -4
- package/esm2022/form/form.component.mjs +5 -5
- package/esm2022/form/form.module.mjs +5 -5
- package/esm2022/form/indicators.component.mjs +4 -4
- package/esm2022/form/internal-button.component.mjs +5 -5
- package/esm2022/form/internal-carusel.component.mjs +5 -5
- package/esm2022/form/internal-carusel.service.mjs +4 -4
- package/esm2022/form/internal-field-generator.component.mjs +4 -4
- package/esm2022/form/internal-form.component.mjs +5 -5
- package/esm2022/form/internal-list.component.mjs +5 -5
- package/esm2022/form/internal-menu.component.mjs +4 -4
- package/esm2022/form/internal-page.component.mjs +5 -5
- package/esm2022/form/internal-page.service.mjs +4 -4
- package/esm2022/group-buttons/group-buttons.component.mjs +5 -5
- package/esm2022/group-buttons/group-buttons.module.mjs +5 -5
- package/esm2022/icon/icon-registry.service.mjs +3 -3
- package/esm2022/icon/icon.component.mjs +5 -5
- package/esm2022/icon/icon.module.mjs +4 -4
- package/esm2022/icon/icon.service.mjs +5 -5
- package/esm2022/image/image.component.mjs +5 -5
- package/esm2022/image/image.module.mjs +5 -5
- package/esm2022/image/image.service.mjs +4 -4
- package/esm2022/images-filmstrip/images-filmstrip.component.mjs +6 -6
- package/esm2022/images-filmstrip/images-filmstrip.module.mjs +5 -5
- package/esm2022/link/link.component.mjs +5 -5
- package/esm2022/link/link.module.mjs +5 -5
- package/esm2022/link/link.pipes.mjs +3 -3
- package/esm2022/list/list-actions.component.mjs +5 -5
- package/esm2022/list/list-carousel.component.mjs +6 -6
- package/esm2022/list/list-chooser.component.mjs +5 -5
- package/esm2022/list/list-pager.component.mjs +7 -7
- package/esm2022/list/list-sorting.component.mjs +5 -5
- package/esm2022/list/list-total.component.mjs +5 -5
- package/esm2022/list/list-views.component.mjs +5 -5
- package/esm2022/list/list.component.mjs +5 -5
- package/esm2022/list/list.module.mjs +5 -5
- package/esm2022/list/list.pipes.mjs +6 -6
- package/esm2022/list/virtual-scroller.mjs +10 -10
- package/esm2022/menu/menu-item.component.mjs +5 -5
- package/esm2022/menu/menu.component.mjs +7 -7
- package/esm2022/menu/menu.module.mjs +5 -5
- package/esm2022/ngx-lib.module.mjs +4 -4
- package/esm2022/page-layout/page-layout.component.mjs +5 -5
- package/esm2022/page-layout/page-layout.module.mjs +4 -4
- package/esm2022/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +5 -5
- package/esm2022/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +5 -5
- package/esm2022/profile-data-views-list/profile-data-views-list.component.mjs +5 -5
- package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +5 -5
- package/esm2022/quantity-selector/quantity-selector-validation.directive.mjs +5 -5
- package/esm2022/quantity-selector/quantity-selector.component.mjs +7 -7
- package/esm2022/quantity-selector/quantity-selector.module.mjs +5 -5
- package/esm2022/quantity-selector/quantity-selector.pipes.mjs +3 -3
- package/esm2022/query-builder/common/services/output-query.service.mjs +4 -4
- package/esm2022/query-builder/common/services/query-structure.service.mjs +4 -4
- package/esm2022/query-builder/common/services/type-convertor.service.mjs +4 -4
- package/esm2022/query-builder/query-builder-item/query-builder-item.component.mjs +5 -5
- package/esm2022/query-builder/query-builder-section/query-builder-section.component.mjs +5 -5
- package/esm2022/query-builder/query-builder.component.mjs +5 -5
- package/esm2022/query-builder/query-builder.module.mjs +5 -5
- package/esm2022/query-builder/query-builder.service.mjs +4 -4
- package/esm2022/remote-loader/addon-block-loader.component.mjs +5 -5
- package/esm2022/remote-loader/addon-block-loader.service.mjs +4 -4
- package/esm2022/remote-loader/remote-loader-element.component.mjs +6 -6
- package/esm2022/remote-loader/remote-loader.component.mjs +7 -9
- package/esm2022/remote-loader/remote-loader.module.mjs +4 -4
- package/esm2022/remote-loader/remote-loader.service.mjs +4 -4
- package/esm2022/rich-html-textarea/rich-html-textarea.component.mjs +5 -5
- package/esm2022/rich-html-textarea/rich-html-textarea.module.mjs +5 -5
- package/esm2022/search/search.component.mjs +8 -8
- package/esm2022/search/search.module.mjs +5 -5
- package/esm2022/select/select.component.mjs +5 -5
- package/esm2022/select/select.module.mjs +5 -5
- package/esm2022/select-panel/select-panel.component.mjs +5 -5
- package/esm2022/select-panel/select-panel.module.mjs +4 -4
- package/esm2022/separator/separator.component.mjs +5 -5
- package/esm2022/separator/separator.module.mjs +4 -4
- package/esm2022/side-bar/side-bar.component.mjs +7 -7
- package/esm2022/side-bar/side-bar.module.mjs +5 -5
- package/esm2022/signature/signature-dialog.component.mjs +6 -6
- package/esm2022/signature/signature.component.mjs +5 -5
- package/esm2022/signature/signature.module.mjs +5 -5
- package/esm2022/size-detector/size-detector.component.mjs +5 -5
- package/esm2022/size-detector/size-detector.module.mjs +4 -4
- package/esm2022/skeleton-loader/skeleton-loader.component.mjs +6 -6
- package/esm2022/skeleton-loader/skeleton-loader.module.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +5 -5
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/smart-filters/boolean-filter/boolean-filter.component.mjs +4 -4
- package/esm2022/smart-filters/common/filter-actions.component.mjs +4 -4
- package/esm2022/smart-filters/common/model/base-filter-component.mjs +5 -5
- package/esm2022/smart-filters/date-filter/date-filter.component.mjs +4 -4
- package/esm2022/smart-filters/multi-select-filter/multi-select-filter.component.mjs +4 -4
- package/esm2022/smart-filters/number-filter/number-filter.component.mjs +4 -4
- package/esm2022/smart-filters/smart-filters.component.mjs +5 -5
- package/esm2022/smart-filters/smart-filters.module.mjs +5 -5
- package/esm2022/smart-filters/text-filter/text-filter.component.mjs +4 -4
- package/esm2022/snack-bar/default-snack-bar.component.mjs +6 -6
- package/esm2022/snack-bar/snack-bar.component.mjs +5 -5
- package/esm2022/snack-bar/snack-bar.module.mjs +5 -5
- package/esm2022/snack-bar/snack-bar.service.mjs +4 -4
- package/esm2022/textarea/textarea.component.mjs +5 -5
- package/esm2022/textarea/textarea.module.mjs +5 -5
- package/esm2022/textbox/textbox-validation.directive.mjs +5 -5
- package/esm2022/textbox/textbox.component.mjs +5 -5
- package/esm2022/textbox/textbox.module.mjs +5 -5
- package/esm2022/textbox-icon/textbox-icon.component.mjs +4 -4
- package/esm2022/textbox-icon/textbox-icon.module.mjs +5 -5
- package/esm2022/top-bar/top-bar.component.mjs +5 -5
- package/esm2022/top-bar/top-bar.module.mjs +5 -5
- package/fesm2022/pepperi-addons-ngx-lib-address.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-attachment.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-bread-crumbs.mjs +11 -11
- package/fesm2022/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-button.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-carousel.mjs +15 -15
- package/fesm2022/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +15 -15
- package/fesm2022/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-color.mjs +16 -16
- package/fesm2022/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-date.mjs +21 -21
- package/fesm2022/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-dialog.mjs +19 -19
- package/fesm2022/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs +14 -14
- package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs +11 -11
- package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-form.mjs +50 -50
- package/fesm2022/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-group-buttons.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-icon.mjs +17 -17
- package/fesm2022/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-image.mjs +14 -14
- package/fesm2022/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs +11 -11
- package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-link.mjs +13 -13
- package/fesm2022/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-list.mjs +47 -47
- package/fesm2022/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-menu.mjs +17 -17
- package/fesm2022/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-page-layout.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs +18 -18
- package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs +20 -20
- package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-query-builder.mjs +34 -34
- package/fesm2022/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-remote-loader.mjs +28 -30
- package/fesm2022/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-rich-html-textarea.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-search.mjs +14 -14
- package/fesm2022/pepperi-addons-ngx-lib-search.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-select-panel.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-select.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-separator.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-side-bar.mjs +12 -12
- package/fesm2022/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-signature.mjs +15 -15
- package/fesm2022/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-slider.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-smart-filters.mjs +32 -32
- package/fesm2022/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-snack-bar.mjs +19 -19
- package/fesm2022/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-textarea.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-textbox-icon.mjs +9 -9
- package/fesm2022/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs +14 -14
- package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-top-bar.mjs +10 -10
- package/fesm2022/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib.mjs +178 -178
- package/fesm2022/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/package.json +27 -27
- package/src/core/style/base/borderRadius.component.ts +2 -4
- package/src/core/style/base/breakpoints.component.ts +2 -4
- package/src/core/style/base/colors.component.ts +2 -4
- package/src/core/style/base/shadows.component.ts +2 -4
- package/src/core/style/base/spacing.component.ts +2 -4
- package/src/core/style/base/states.component.ts +2 -4
- package/src/core/style/base/typography.component.ts +2 -4
- package/src/core/style/base/zIndex.component.ts +2 -4
|
@@ -74,8 +74,8 @@ export class PepFormModule {
|
|
|
74
74
|
pepIconIndicatorDotPlaceholder,
|
|
75
75
|
]);
|
|
76
76
|
}
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
78
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFormModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
78
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PepFormModule, declarations: [PepFormComponent,
|
|
79
79
|
PepInternalFormComponent,
|
|
80
80
|
PepFieldGeneratorComponent,
|
|
81
81
|
PepInternalFieldGeneratorComponent,
|
|
@@ -118,7 +118,7 @@ export class PepFormModule {
|
|
|
118
118
|
PepTextboxModule,
|
|
119
119
|
PepLinkModule, PepFieldTitleModule,
|
|
120
120
|
PepGroupButtonsModule], exports: [PepFormComponent] });
|
|
121
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
121
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFormModule, providers: [
|
|
122
122
|
FormBuilder
|
|
123
123
|
], imports: [CommonModule,
|
|
124
124
|
ReactiveFormsModule,
|
|
@@ -141,7 +141,7 @@ export class PepFormModule {
|
|
|
141
141
|
PepFieldTitleModule,
|
|
142
142
|
PepGroupButtonsModule] });
|
|
143
143
|
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFormModule, decorators: [{
|
|
145
145
|
type: NgModule,
|
|
146
146
|
args: [{
|
|
147
147
|
imports: [
|
|
@@ -183,5 +183,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
183
183
|
FormBuilder
|
|
184
184
|
]
|
|
185
185
|
}]
|
|
186
|
-
}], ctorParameters:
|
|
186
|
+
}], ctorParameters: () => [{ type: i1.PepIconRegistry }] });
|
|
187
187
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFDSCxhQUFhLEVBRWIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLDhCQUE4QixHQUNqQyxNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxv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LGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRTt3QkFDVixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQixrQ0FBa0M7d0JBQ2xDLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QiwyQkFBMkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxXQUFXO3FCQUNkO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRHcmlkTGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhclNpZ25hdHVyZVBhZE1vZHVsZSB9IGZyb20gJ0BhbG1vdGhhZmFyL2FuZ3VsYXItc2lnbmF0dXJlLXBhZCc7XG5cbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7XG4gICAgUGVwSWNvbk1vZHVsZSxcbiAgICBQZXBJY29uUmVnaXN0cnksXG4gICAgcGVwSWNvblN5c3RlbUVkaXQsXG4gICAgcGVwSWNvblN5c3RlbU1lbnUsXG4gICAgcGVwSWNvbk51bWJlclBsdXMsXG4gICAgcGVwSWNvblN5c3RlbUJpbixcbiAgICBwZXBJY29uSW5kaWNhdG9yRG90UGxhY2Vob2xkZXIsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuXG5pbXBvcnQgeyBQZXBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuXG5pbXBvcnQgeyBQZXBBZGRyZXNzTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYWRkcmVzcyc7XG5pbXBvcnQgeyBQZXBBdHRhY2htZW50TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYXR0YWNobWVudCc7XG5pbXBvcnQgeyBQZXBCdXR0b25Nb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgUGVwQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9jYXJvdXNlbCc7XG5pbXBvcnQgeyBQZXBDaGVja2JveE1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2NoZWNrYm94JztcbmltcG9ydCB7IFBlcERhdGVNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kYXRlJztcbmltcG9ydCB7IFBlcEltYWdlTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaW1hZ2UnO1xuaW1wb3J0IHsgUGVwSW1hZ2VzRmlsbXN0cmlwTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaW1hZ2VzLWZpbG1zdHJpcCc7XG5pbXBvcnQgeyBQZXBRdWFudGl0eVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvcXVhbnRpdHktc2VsZWN0b3InO1xuaW1wb3J0IHsgUGVwUmljaEh0bWxUZXh0YXJlYU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3JpY2gtaHRtbC10ZXh0YXJlYSc7XG5pbXBvcnQgeyBQZXBTZWxlY3RNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zZWxlY3QnO1xuaW1wb3J0IHsgUGVwU2VsZWN0UGFuZWxNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zZWxlY3QtcGFuZWwnO1xuaW1wb3J0IHsgUGVwU2VwYXJhdG9yTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2VwYXJhdG9yJztcbmltcG9ydCB7IFBlcFNpZ25hdHVyZU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NpZ25hdHVyZSc7XG5pbXBvcnQgeyBQZXBUZXh0YXJlYU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3RleHRhcmVhJztcbmltcG9ydCB7IFBlcFRleHRib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi90ZXh0Ym94JztcbmltcG9ydCB7IFBlcExpbmtNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9saW5rJztcbmltcG9ydCB7IFBlcEZpZWxkVGl0bGVNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9maWVsZC10aXRsZSc7XG5pbXBvcnQgeyBQZXBHcm91cEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9ncm91cC1idXR0b25zJztcblxuY29uc3QgcGVwQ29tcG9uZW50c01vZHVsZXMgPSBbXG4gICAgUGVwQWRkcmVzc01vZHVsZSxcbiAgICBQZXBBdHRhY2htZW50TW9kdWxlLFxuICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICBQZXBDYXJvdXNlbE1vZHVsZSxcbiAgICBQZXBDaGVja2JveE1vZHVsZSxcbiAgICBQZXBEYXRlTW9kdWxlLFxuICAgIFBlcEltYWdlTW9kdWxlLFxuICAgIFBlcEltYWdlc0ZpbG1zdHJpcE1vZHVsZSxcbiAgICBQZXBRdWFudGl0eVNlbGVjdG9yTW9kdWxlLFxuICAgIFBlcFJpY2hIdG1sVGV4dGFyZWFNb2R1bGUsXG4gICAgUGVwU2VsZWN0TW9kdWxlLFxuICAgIFBlcFNlbGVjdFBhbmVsTW9kdWxlLFxuICAgIFBlcFNlcGFyYXRvck1vZHVsZSxcbiAgICBQZXBTaWduYXR1cmVNb2R1bGUsXG4gICAgUGVwVGV4dGFyZWFNb2R1bGUsXG4gICAgUGVwVGV4dGJveE1vZHVsZSxcbiAgICBQZXBMaW5rTW9kdWxlXG5dO1xuXG5pbXBvcnQgeyBQZXBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBJbnRlcm5hbEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2ludGVybmFsLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFBlcEZpZWxkR2VuZXJhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC1nZW5lcmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcEludGVybmFsRmllbGRHZW5lcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFsLWZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwSW5kaWNhdG9yc0NvbXBvbmVudCB9IGZyb20gJy4vaW5kaWNhdG9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwSW50ZXJuYWxCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2ludGVybmFsLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwSW50ZXJuYWxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcm5hbC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBJbnRlcm5hbE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFsLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcEludGVybmFsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwSW50ZXJuYWxDYXJ1c2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcm5hbC1jYXJ1c2VsLmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gTWF0ZXJpYWwgbW9kdWxlcyxcbiAgICAgICAgTWF0Q29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0R3JpZExpc3RNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIC8vIFRyYW5zbGF0aW9uIG1vZHVsZVxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIC8vIEV4dGVybmFsIG1vZHVsZXNcbiAgICAgICAgQW5ndWxhclNpZ25hdHVyZVBhZE1vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgICAgICBQZXBJY29uTW9kdWxlLFxuICAgICAgICBwZXBDb21wb25lbnRzTW9kdWxlcyxcbiAgICAgICAgUGVwRmllbGRUaXRsZU1vZHVsZSxcbiAgICAgICAgUGVwR3JvdXBCdXR0b25zTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1BlcEZvcm1Db21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBQZXBGb3JtQ29tcG9uZW50LFxuICAgICAgICBQZXBJbnRlcm5hbEZvcm1Db21wb25lbnQsXG4gICAgICAgIFBlcEZpZWxkR2VuZXJhdG9yQ29tcG9uZW50LFxuICAgICAgICBQZXBJbnRlcm5hbEZpZWxkR2VuZXJhdG9yQ29tcG9uZW50LFxuICAgICAgICBQZXBJbmRpY2F0b3JzQ29tcG9uZW50LFxuICAgICAgICBQZXBJbnRlcm5hbEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgUGVwSW50ZXJuYWxMaXN0Q29tcG9uZW50LFxuICAgICAgICBQZXBJbnRlcm5hbE1lbnVDb21wb25lbnQsXG4gICAgICAgIFBlcEludGVybmFsUGFnZUNvbXBvbmVudCxcbiAgICAgICAgUGVwSW50ZXJuYWxDYXJ1c2VsQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRm9ybUJ1aWxkZXJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBlcEZvcm1Nb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5wZXBJY29uUmVnaXN0cnkucmVnaXN0ZXJJY29ucyhbXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtRWRpdCxcbiAgICAgICAgICAgIHBlcEljb25TeXN0ZW1NZW51LFxuICAgICAgICAgICAgcGVwSWNvbk51bWJlclBsdXMsXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtQmluLFxuICAgICAgICAgICAgcGVwSWNvbkluZGljYXRvckRvdFBsYWNlaG9sZGVyLFxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,10 +7,10 @@ export class PepIndicatorsComponent {
|
|
|
7
7
|
value;
|
|
8
8
|
controlType = 'indicators';
|
|
9
9
|
layoutType = 'table';
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepIndicatorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PepIndicatorsComponent, selector: "pep-indicators", inputs: { key: "key", value: "value", layoutType: "layoutType" }, ngImport: i0, template: "<div class=\"indicators-container\" [ngClass]=\"{ 'is-inside-table': layoutType === 'table' }\">\n <ng-container *ngFor=\"let value of value?.split(';')\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"key != 'ItemIndicatorsWithoutCampaign' && value?.split(';').length < 4\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\"></pep-icon>\n </ng-container>\n</div>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.indicators-container{height:2.5rem}.indicators-container pep-icon{height:1rem;width:1rem;margin:.05rem}.indicators-container.is-inside-table{height:1rem;display:flex;justify-content:center;align-items:center}\n", ".indicators-container .svg-icon{fill:hsla(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%),.5)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepIndicatorsComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'pep-indicators', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"indicators-container\" [ngClass]=\"{ 'is-inside-table': layoutType === 'table' }\">\n <ng-container *ngFor=\"let value of value?.split(';')\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"key != 'ItemIndicatorsWithoutCampaign' && value?.split(';').length < 4\">\n <pep-icon name=\"indicator_dot_placeholder\" class=\"pull-left flip\"></pep-icon>\n </ng-container>\n</div>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.indicators-container{height:2.5rem}.indicators-container pep-icon{height:1rem;width:1rem;margin:.05rem}.indicators-container.is-inside-table{height:1rem;display:flex;justify-content:center;align-items:center}\n", ".indicators-container .svg-icon{fill:hsla(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%),.5)}\n"] }]
|
|
16
16
|
}], propDecorators: { key: [{
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
20
20
|
}], layoutType: [{
|
|
21
21
|
type: Input
|
|
22
22
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWNhdG9ycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW5kaWNhdG9ycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW5kaWNhdG9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU8xRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ3RCLEdBQUcsQ0FBUztJQUNaLEtBQUssQ0FBUztJQUV2QixXQUFXLEdBQUcsWUFBWSxDQUFDO0lBRWxCLFVBQVUsR0FBa0IsT0FBTyxDQUFDO3dHQU5wQyxzQkFBc0I7NEZBQXRCLHNCQUFzQix3SENQbkMsOGZBT007OzRGREFPLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFBWSxnQkFBZ0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBRXRDLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXBMYXlvdXRUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtzZWxlY3RvcjogJ3BlcC1pbmRpY2F0b3JzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5kaWNhdG9ycy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5kaWNhdG9ycy5jb21wb25lbnQuc2NzcycsICcuL2luZGljYXRvcnMuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaH0pXG5leHBvcnQgY2xhc3MgUGVwSW5kaWNhdG9yc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkga2V5OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcblxuICAgIGNvbnRyb2xUeXBlID0gJ2luZGljYXRvcnMnO1xuXG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICd0YWJsZSc7XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5kaWNhdG9ycy1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnNpZGUtdGFibGUnOiBsYXlvdXRUeXBlID09PSAndGFibGUnIH1cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB2YWx1ZT8uc3BsaXQoJzsnKVwiPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cImluZGljYXRvcl9kb3RfcGxhY2Vob2xkZXJcIiBjbGFzcz1cInB1bGwtbGVmdCBmbGlwXCIgW2ZpbGxdPVwidmFsdWVcIj48L3BlcC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJrZXkgIT0gJ0l0ZW1JbmRpY2F0b3JzV2l0aG91dENhbXBhaWduJyAmJiB2YWx1ZT8uc3BsaXQoJzsnKS5sZW5ndGggPCA0XCI+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwiaW5kaWNhdG9yX2RvdF9wbGFjZWhvbGRlclwiIGNsYXNzPVwicHVsbC1sZWZ0IGZsaXBcIj48L3BlcC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
@@ -144,13 +144,13 @@ export class PepInternalButtonComponent {
|
|
|
144
144
|
this.value = '';
|
|
145
145
|
this.valueChange.emit(this.value);
|
|
146
146
|
}
|
|
147
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
148
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: { key: "key", value: "value", formattedValue: "formattedValue", label: "label", referenceObjectInternalType: "referenceObjectInternalType", type: "type", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", xAlignment: "xAlignment", rowSpan: "rowSpan", visible: "visible", form: "form", showTitle: "showTitle", layoutType: "layoutType" }, outputs: { elementClick: "elementClick", valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'reference'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <div class=\"pep-button-container reference-button\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"createNewReference; then newBlock; else existingBlock\"></ng-container>\n <ng-template #newBlock>\n <button mat-button [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-button md regular\"\n (click)=\"onButtonClicked($event)\" [ngClass]=\"{\n disabled: disabled,\n 'pull-left': xAlignment == 'left',\n 'pull-right': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <span class=\"ellipsis pull-left flip button-title-with-icon\">{{ 'ACTIONS.CREATE_NEW' | translate\n }}</span>\n <mat-icon class=\"pull-right flip\" pepRtlClass>\n <pep-icon name=\"number_plus\" (click)=\"onButtonClicked($event)\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #existingBlock>\n <pep-group-buttons [buttons]=\"referenceButtons\" styleType=\"regular\" viewType=\"split\">\n </pep-group-buttons>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'listofobjects'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'button'\">\n <ng-container [ngSwitch]=\"key\">\n <ng-container *ngSwitchCase=\"'ObjectMenu'\">\n <span (click)=\"onButtonClicked($event)\" title=\"{{ key }}\">\n <mat-icon>\n <pep-icon *ngIf=\"key == 'ObjectMenu'\" name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Agents' || 'ContactPersons' || 'Buyers'\">\n <ng-container *ngIf=\"layoutType === 'table'; then tableBlock; else nonTableBlock\">\n </ng-container>\n <ng-template #nonTableBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #tableBlock>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-report-input readonly body-sm\">{{\n formattedValue }}</span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"layoutType === 'form'; then buttonBlock; else linkBlock\">\n </ng-container>\n\n <ng-template #buttonBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: false}\"></ng-container>\n </ng-template>\n <ng-template #linkBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #buttonTemplate let-internal=\"internal\">\n <div class=\"pep-button-container\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n\n <ng-container *ngIf=\"internal; then internalButtonTemplate; else regularButtonTemplate\"></ng-container>\n <ng-template #regularButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"onButtonClicked($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n {{ formattedValue }}\n </button>\n </ng-template>\n\n <ng-template #internalButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"openReferenceObjectInternal($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n <ng-container *ngIf=\"formattedValue == '0' || formattedValue == ''; then newBlock; else existingBlock\">\n </ng-container>\n <ng-template #newBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ 'LIST.SELECT' | translate }} </span>\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #existingBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ formattedValue }} {{ 'LIST.SELECTED' |\n translate\n }} </span>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n </button>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #linkTemplate>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a href=\"{{ value }}\" (mousedown)=\"hrefFunction($event)\" class=\"color-link\">\n <span *ngIf=\"layoutType === 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\"\n class=\"body-sm pep-report-input readonly\">\n {{ formattedValue }}\n </span>\n <span *ngIf=\"layoutType !== 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm pep-card-input\"\n style=\"display: block;\">\n {{ formattedValue }}\n </span>\n </a>\n </ng-template>\n <ng-template #emptyBlock>\n <span> </span>\n </ng-template>\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button-container,.pep-button-container{height:fit-content}.pepperi-button-container .center-alignment,.pep-button-container .center-alignment{position:absolute;left:50%;transform:translate(-50%)}.pepperi-button-container.reference-button ::ng-deep .split-buttons,.pepperi-button-container.reference-button .split-buttons,.pep-button-container.reference-button ::ng-deep .split-buttons,.pep-button-container.reference-button .split-buttons{float:left}.pepperi-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pepperi-button-container.reference-button .split-buttons button:last-of-type,.pep-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pep-button-container.reference-button .split-buttons button:last-of-type{width:1.5rem;padding:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepRtlClassDirective, selector: "[pepRtlClass]" }, { kind: "component", type: i6.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType", "multiLine"] }, { kind: "component", type: i8.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
147
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalButtonComponent, deps: [{ token: i1.PepCustomizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PepInternalButtonComponent, selector: "pep-internal-button", inputs: { key: "key", value: "value", formattedValue: "formattedValue", label: "label", referenceObjectInternalType: "referenceObjectInternalType", type: "type", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", xAlignment: "xAlignment", rowSpan: "rowSpan", visible: "visible", form: "form", showTitle: "showTitle", layoutType: "layoutType" }, outputs: { elementClick: "elementClick", valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'reference'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <div class=\"pep-button-container reference-button\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"createNewReference; then newBlock; else existingBlock\"></ng-container>\n <ng-template #newBlock>\n <button mat-button [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-button md regular\"\n (click)=\"onButtonClicked($event)\" [ngClass]=\"{\n disabled: disabled,\n 'pull-left': xAlignment == 'left',\n 'pull-right': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <span class=\"ellipsis pull-left flip button-title-with-icon\">{{ 'ACTIONS.CREATE_NEW' | translate\n }}</span>\n <mat-icon class=\"pull-right flip\" pepRtlClass>\n <pep-icon name=\"number_plus\" (click)=\"onButtonClicked($event)\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #existingBlock>\n <pep-group-buttons [buttons]=\"referenceButtons\" styleType=\"regular\" viewType=\"split\">\n </pep-group-buttons>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'listofobjects'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'button'\">\n <ng-container [ngSwitch]=\"key\">\n <ng-container *ngSwitchCase=\"'ObjectMenu'\">\n <span (click)=\"onButtonClicked($event)\" title=\"{{ key }}\">\n <mat-icon>\n <pep-icon *ngIf=\"key == 'ObjectMenu'\" name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Agents' || 'ContactPersons' || 'Buyers'\">\n <ng-container *ngIf=\"layoutType === 'table'; then tableBlock; else nonTableBlock\">\n </ng-container>\n <ng-template #nonTableBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #tableBlock>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-report-input readonly body-sm\">{{\n formattedValue }}</span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"layoutType === 'form'; then buttonBlock; else linkBlock\">\n </ng-container>\n\n <ng-template #buttonBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: false}\"></ng-container>\n </ng-template>\n <ng-template #linkBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #buttonTemplate let-internal=\"internal\">\n <div class=\"pep-button-container\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n\n <ng-container *ngIf=\"internal; then internalButtonTemplate; else regularButtonTemplate\"></ng-container>\n <ng-template #regularButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"onButtonClicked($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n {{ formattedValue }}\n </button>\n </ng-template>\n\n <ng-template #internalButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"openReferenceObjectInternal($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n <ng-container *ngIf=\"formattedValue == '0' || formattedValue == ''; then newBlock; else existingBlock\">\n </ng-container>\n <ng-template #newBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ 'LIST.SELECT' | translate }} </span>\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #existingBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ formattedValue }} {{ 'LIST.SELECTED' |\n translate\n }} </span>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n </button>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #linkTemplate>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a href=\"{{ value }}\" (mousedown)=\"hrefFunction($event)\" class=\"color-link\">\n <span *ngIf=\"layoutType === 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\"\n class=\"body-sm pep-report-input readonly\">\n {{ formattedValue }}\n </span>\n <span *ngIf=\"layoutType !== 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm pep-card-input\"\n style=\"display: block;\">\n {{ formattedValue }}\n </span>\n </a>\n </ng-template>\n <ng-template #emptyBlock>\n <span> </span>\n </ng-template>\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button-container,.pep-button-container{height:fit-content}.pepperi-button-container .center-alignment,.pep-button-container .center-alignment{position:absolute;left:50%;transform:translate(-50%)}.pepperi-button-container.reference-button ::ng-deep .split-buttons,.pepperi-button-container.reference-button .split-buttons,.pep-button-container.reference-button ::ng-deep .split-buttons,.pep-button-container.reference-button .split-buttons{float:left}.pepperi-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pepperi-button-container.reference-button .split-buttons button:last-of-type,.pep-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pep-button-container.reference-button .split-buttons button:last-of-type{width:1.5rem;padding:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepRtlClassDirective, selector: "[pepRtlClass]" }, { kind: "component", type: i6.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType", "multiLine"] }, { kind: "component", type: i8.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalButtonComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{ selector: 'pep-internal-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'reference'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <div class=\"pep-button-container reference-button\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"createNewReference; then newBlock; else existingBlock\"></ng-container>\n <ng-template #newBlock>\n <button mat-button [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-button md regular\"\n (click)=\"onButtonClicked($event)\" [ngClass]=\"{\n disabled: disabled,\n 'pull-left': xAlignment == 'left',\n 'pull-right': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <span class=\"ellipsis pull-left flip button-title-with-icon\">{{ 'ACTIONS.CREATE_NEW' | translate\n }}</span>\n <mat-icon class=\"pull-right flip\" pepRtlClass>\n <pep-icon name=\"number_plus\" (click)=\"onButtonClicked($event)\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #existingBlock>\n <pep-group-buttons [buttons]=\"referenceButtons\" styleType=\"regular\" viewType=\"split\">\n </pep-group-buttons>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'listofobjects'\">\n <ng-container *ngIf=\"layoutType === 'form'; then formBlock; else notFormBlock\"></ng-container>\n <ng-template #formBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #notFormBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'button'\">\n <ng-container [ngSwitch]=\"key\">\n <ng-container *ngSwitchCase=\"'ObjectMenu'\">\n <span (click)=\"onButtonClicked($event)\" title=\"{{ key }}\">\n <mat-icon>\n <pep-icon *ngIf=\"key == 'ObjectMenu'\" name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Agents' || 'ContactPersons' || 'Buyers'\">\n <ng-container *ngIf=\"layoutType === 'table'; then tableBlock; else nonTableBlock\">\n </ng-container>\n <ng-template #nonTableBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: true}\"></ng-container>\n </ng-template>\n <ng-template #tableBlock>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"pep-report-input readonly body-sm\">{{\n formattedValue }}</span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"layoutType === 'form'; then buttonBlock; else linkBlock\">\n </ng-container>\n\n <ng-template #buttonBlock>\n <ng-container *ngTemplateOutlet=\"buttonTemplate; context: {internal: false}\"></ng-container>\n </ng-template>\n <ng-template #linkBlock>\n <ng-container *ngTemplateOutlet=\"linkTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #buttonTemplate let-internal=\"internal\">\n <div class=\"pep-button-container\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n\n <ng-container *ngIf=\"internal; then internalButtonTemplate; else regularButtonTemplate\"></ng-container>\n <ng-template #regularButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"onButtonClicked($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n {{ formattedValue }}\n </button>\n </ng-template>\n\n <ng-template #internalButtonTemplate>\n <button [id]=\"key\" title=\"{{ formattedValue }}\" mat-button class=\"pep-button md regular\"\n dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\" (click)=\"openReferenceObjectInternal($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"{disabled: disabled, 'pull-left': xAlignment == 'left', 'pull-right': xAlignment == 'right', 'center-alignment': xAlignment == 'center'}\">\n <ng-container *ngIf=\"formattedValue == '0' || formattedValue == ''; then newBlock; else existingBlock\">\n </ng-container>\n <ng-template #newBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ 'LIST.SELECT' | translate }} </span>\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n <ng-template #existingBlock>\n <span class=\"pull-left flip button-title-with-icon\">{{ formattedValue }} {{ 'LIST.SELECTED' |\n translate\n }} </span>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </ng-template>\n </button>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #linkTemplate>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <a href=\"{{ value }}\" (mousedown)=\"hrefFunction($event)\" class=\"color-link\">\n <span *ngIf=\"layoutType === 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\"\n class=\"body-sm pep-report-input readonly\">\n {{ formattedValue }}\n </span>\n <span *ngIf=\"layoutType !== 'table'\" [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm pep-card-input\"\n style=\"display: block;\">\n {{ formattedValue }}\n </span>\n </a>\n </ng-template>\n <ng-template #emptyBlock>\n <span> </span>\n </ng-template>\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button-container,.pep-button-container{height:fit-content}.pepperi-button-container .center-alignment,.pep-button-container .center-alignment{position:absolute;left:50%;transform:translate(-50%)}.pepperi-button-container.reference-button ::ng-deep .split-buttons,.pepperi-button-container.reference-button .split-buttons,.pep-button-container.reference-button ::ng-deep .split-buttons,.pep-button-container.reference-button .split-buttons{float:left}.pepperi-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pepperi-button-container.reference-button .split-buttons button:last-of-type,.pep-button-container.reference-button ::ng-deep .split-buttons button:last-of-type,.pep-button-container.reference-button .split-buttons button:last-of-type{width:1.5rem;padding:0}\n"] }]
|
|
153
|
-
}], ctorParameters:
|
|
153
|
+
}], ctorParameters: () => [{ type: i1.PepCustomizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { key: [{
|
|
154
154
|
type: Input
|
|
155
155
|
}], value: [{
|
|
156
156
|
type: Input
|
|
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
185
185
|
}], valueChange: [{
|
|
186
186
|
type: Output
|
|
187
187
|
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvZm9ybS9pbnRlcm5hbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9mb3JtL2ludGVybmFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixHQUkxQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBSUgsNEJBQTRCLEdBSS9CLE1BQU0seUJBQXlCLENBQUM7QUFLakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTywwQkFBMEI7SUE4RHZCO0lBQ0E7SUFDQTtJQTlESCxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ1QsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLDJCQUEyQixDQUFNO0lBQ2pDLElBQUksR0FBK0IsUUFBUSxDQUFDO0lBQzVDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFVBQVUsR0FBMkIsNEJBQTRCLENBQUM7SUFDbEUsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUViLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDeEIsSUFDSSxPQUFPLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDckIsSUFBSSxDQUFDLE9BQU8sQ0FB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OE9BaUpjOzs0RkQvR0QsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOytKQUl0QyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBSUYsT0FBTztzQkFEVixLQUFLO2dCQXFCRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsTUFBTTtnQkFHUCxXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgUmVuZGVyZXIyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICBQZXBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXG4gICAgSVBlcEZpZWxkQ2xpY2tFdmVudCxcbiAgICBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkVHlwZSxcbiAgICBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIFBlcEJ1dHRvbixcbiAgICBJUGVwQnV0dG9uQ2xpY2tFdmVudCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IHBlcEljb25TeXN0ZW1CaW4gfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtaW50ZXJuYWwtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnRlcm5hbC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxCdXR0b25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIEBJbnB1dCgpIHZhbHVlID0gJyc7XG4gICAgQElucHV0KCkgZm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZTogYW55O1xuICAgIEBJbnB1dCgpIHR5cGU6IFBlcEludGVybmFsQnV0dG9uRmllbGRUeXBlID0gJ2J1dHRvbic7XG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdidXR0b24nO1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbnVsbDtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGxheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8vIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBjcmVhdGVOZXdSZWZlcmVuY2UgPSBmYWxzZTtcbiAgICByZWZlcmVuY2VCdXR0b25zOiBBcnJheTxQZXBCdXR0b24+ID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdhY3Rpb24nLFxuICAgICAgICAgICAgY2FsbGJhY2s6IChhY3Rpb246IElQZXBCdXR0b25DbGlja0V2ZW50KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMub25CdXR0b25DbGlja2VkKGFjdGlvbi5ldmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2RlbGV0ZScsXG4gICAgICAgICAgICBjYWxsYmFjazogKGFjdGlvbjogSVBlcEJ1dHRvbkNsaWNrRXZlbnQpID0+IHRoaXMucmVtb3ZlKCksXG4gICAgICAgICAgICBjbGFzc05hbWVzOiAnY2F1dGlvbicsXG4gICAgICAgICAgICBpY29uTmFtZTogcGVwSWNvblN5c3RlbUJpbi5uYW1lLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgIC8vICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xuICAgICAgICAvLyAgICAgLy8gdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHRoaXMua2V5LCB0aGlzLnZhbHVlLCB0aGlzLm1hbmRhdG9yeSwgdGhpcy5yZWFkb25seSwgdGhpcy5kaXNhYmxlZCk7XG4gICAgICAgIC8vICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkKHtcbiAgICAgICAgLy8gICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAvLyAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAvLyAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXG4gICAgICAgIC8vICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgIC8vICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gICAgIHRoaXMuZm9ybSA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEZyb21Hcm91cChwZXBGaWVsZCk7XG5cbiAgICAgICAgLy8gICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlIHx8IHRoaXMudmFsdWU7XG4gICAgICAgIC8vICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAvLyAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAvLyAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgLy8gICAgICk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTmV3UmVmZXJlbmNlID0gdGhpcy52YWx1ZS5sZW5ndGggPT09IDA7XG4gICAgICAgICAgICB0aGlzLnJlZmVyZW5jZUJ1dHRvbnNbMF0udmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgLy8gZ3JvdXBCdXR0b25DbGlja2VkKGFjdGlvbjogSVBlcEJ1dHRvbkNsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAvLyAgICAgaWYgKGFjdGlvbi5zb3VyY2Uua2V5ID09PSAnYWN0aW9uJykge1xuICAgIC8vICAgICAgICAgdGhpcy5vbkJ1dHRvbkNsaWNrZWQoYWN0aW9uLmV2ZW50KTtcbiAgICAvLyAgICAgfSBlbHNlIGlmIChhY3Rpb24uc291cmNlLmtleSA9PT0gJ2RlbGV0ZScpIHtcbiAgICAvLyAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cbiAgICBvbkJ1dHRvbkNsaWNrZWQoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQXJyID0gdGhpcy52YWx1ZS5zcGxpdCgnLycpO1xuXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZUFyclt2YWx1ZUFyci5sZW5ndGggLSAxXSwgLy8gLnJlcGxhY2UoL1teYS16QS1aMC05IF0vZywgJycpLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxuICAgICAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICAgICAgICAgIG90aGVyRGF0YTogdGhpcy5yZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdidXR0b24nICYmIHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoe1xuICAgICAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsIC8vIHNob3VsZCBjb250YWluIHRoZSBwcm9ncmFtIG5hbWVcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaHJlZkZ1bmN0aW9uKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gMSAvKnx8IGV2ZW50LndoaWNoID09PSAyKi8pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25DbGlja2VkKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5SZWZlcmVuY2VPYmplY3RJbnRlcm5hbChldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxuICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXG4gICAgICAgICAgICBvdGhlckRhdGE6IHRoaXMucmVmZXJlbmNlT2JqZWN0SW50ZXJuYWxUeXBlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmVmZXJlbmNlJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ2Zvcm0nOyB0aGVuIGZvcm1CbG9jazsgZWxzZSBub3RGb3JtQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtQmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLWJ1dHRvbi1jb250YWluZXIgcmVmZXJlbmNlLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxwZXAtZmllbGQtdGl0bGUgW2xhYmVsXT1cImxhYmVsXCIgW21hbmRhdG9yeV09XCJtYW5kYXRvcnlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbeEFsaWdubWVudF09XCJ4QWxpZ25tZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8L3BlcC1maWVsZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3JlYXRlTmV3UmVmZXJlbmNlOyB0aGVuIG5ld0Jsb2NrOyBlbHNlIGV4aXN0aW5nQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25ld0Jsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW2lkXT1cImtleVwiIHRpdGxlPVwie3sgZm9ybWF0dGVkVmFsdWUgfX1cIiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CdXR0b25DbGlja2VkKCRldmVudClcIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwdWxsLWxlZnQnOiB4QWxpZ25tZW50ID09ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHVsbC1yaWdodCc6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2VudGVyLWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ2NlbnRlcidcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXMgcHVsbC1sZWZ0IGZsaXAgYnV0dG9uLXRpdGxlLXdpdGgtaWNvblwiPnt7ICdBQ1RJT05TLkNSRUFURV9ORVcnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwdWxsLXJpZ2h0IGZsaXBcIiBwZXBSdGxDbGFzcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cIm51bWJlcl9wbHVzXCIgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNleGlzdGluZ0Jsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLWdyb3VwLWJ1dHRvbnMgW2J1dHRvbnNdPVwicmVmZXJlbmNlQnV0dG9uc1wiIHN0eWxlVHlwZT1cInJlZ3VsYXJcIiB2aWV3VHlwZT1cInNwbGl0XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLWdyb3VwLWJ1dHRvbnM+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdEZvcm1CbG9jaz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaXN0b2ZvYmplY3RzJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ2Zvcm0nOyB0aGVuIGZvcm1CbG9jazsgZWxzZSBub3RGb3JtQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtQmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGU7IGNvbnRleHQ6IHtpbnRlcm5hbDogdHJ1ZX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub3RGb3JtQmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJrZXlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidPYmplY3RNZW51J1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiIHRpdGxlPVwie3sga2V5IH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiAqbmdJZj1cImtleSA9PSAnT2JqZWN0TWVudSdcIiBuYW1lPVwic3lzdGVtX21lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidBZ2VudHMnIHx8ICdDb250YWN0UGVyc29ucycgfHwgJ0J1eWVycydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ3RhYmxlJzsgdGhlbiB0YWJsZUJsb2NrOyBlbHNlIG5vblRhYmxlQmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vblRhYmxlQmxvY2s+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZTsgY29udGV4dDoge2ludGVybmFsOiB0cnVlfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwia2V5XCIgdGl0bGU9XCJ7eyBmb3JtYXR0ZWRWYWx1ZSB9fVwiIGNsYXNzPVwicGVwLXJlcG9ydC1pbnB1dCByZWFkb25seSBib2R5LXNtXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnZm9ybSc7IHRoZW4gYnV0dG9uQmxvY2s7IGVsc2UgbGlua0Jsb2NrXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2J1dHRvbkJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGU7IGNvbnRleHQ6IHtpbnRlcm5hbDogZmFsc2V9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xpbmtCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNidXR0b25UZW1wbGF0ZSBsZXQtaW50ZXJuYWw9XCJpbnRlcm5hbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwZXAtYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8cGVwLWZpZWxkLXRpdGxlIFtsYWJlbF09XCJsYWJlbFwiIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3hBbGlnbm1lbnRdPVwieEFsaWdubWVudFwiXG4gICAgICAgICAgICBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiPlxuICAgICAgICA8L3BlcC1maWVsZC10aXRsZT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW50ZXJuYWw7IHRoZW4gaW50ZXJuYWxCdXR0b25UZW1wbGF0ZTsgZWxzZSByZWd1bGFyQnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZWd1bGFyQnV0dG9uVGVtcGxhdGU+XG4gICAgICAgICAgICA8YnV0dG9uIFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCIgbWF0LWJ1dHRvbiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiXG4gICAgICAgICAgICAgICAgZGlyPVwie3sgeEFsaWdubWVudCA9PSAncmlnaHQnID8gJ3J0bCcgOiAnbHRyJyB9fVwiIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGRpc2FibGVkLCAncHVsbC1sZWZ0JzogeEFsaWdubWVudCA9PSAnbGVmdCcsICdwdWxsLXJpZ2h0JzogeEFsaWdubWVudCA9PSAncmlnaHQnLCAnY2VudGVyLWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ2NlbnRlcid9XCI+XG4gICAgICAgICAgICAgICAge3sgZm9ybWF0dGVkVmFsdWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaW50ZXJuYWxCdXR0b25UZW1wbGF0ZT5cbiAgICAgICAgICAgIDxidXR0b24gW2lkXT1cImtleVwiIHRpdGxlPVwie3sgZm9ybWF0dGVkVmFsdWUgfX1cIiBtYXQtYnV0dG9uIGNsYXNzPVwicGVwLWJ1dHRvbiBtZCByZWd1bGFyXCJcbiAgICAgICAgICAgICAgICBkaXI9XCJ7eyB4QWxpZ25tZW50ID09ICdyaWdodCcgPyAncnRsJyA6ICdsdHInIH19XCIgKGNsaWNrKT1cIm9wZW5SZWZlcmVuY2VPYmplY3RJbnRlcm5hbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntkaXNhYmxlZDogZGlzYWJsZWQsICdwdWxsLWxlZnQnOiB4QWxpZ25tZW50ID09ICdsZWZ0JywgJ3B1bGwtcmlnaHQnOiB4QWxpZ25tZW50ID09ICdyaWdodCcsICdjZW50ZXItYWxpZ25tZW50JzogeEFsaWdubWVudCA9PSAnY2VudGVyJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybWF0dGVkVmFsdWUgPT0gJzAnIHx8IGZvcm1hdHRlZFZhbHVlID09ICcnOyB0aGVuIG5ld0Jsb2NrOyBlbHNlIGV4aXN0aW5nQmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25ld0Jsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInB1bGwtbGVmdCBmbGlwIGJ1dHRvbi10aXRsZS13aXRoLWljb25cIj57eyAnTElTVC5TRUxFQ1QnIHwgdHJhbnNsYXRlIH19Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cIm51bWJlcl9wbHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNleGlzdGluZ0Jsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInB1bGwtbGVmdCBmbGlwIGJ1dHRvbi10aXRsZS13aXRoLWljb25cIj57eyBmb3JtYXR0ZWRWYWx1ZSB9fSZuYnNwO3t7ICdMSVNULlNFTEVDVEVEJyB8XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9lZGl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlua1RlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtYXR0ZWRWYWx1ZT8ubGVuZ3RoID4gMDsgdGhlbiBub3RFbXB0eUJsb2NrOyBlbHNlIGVtcHR5QmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI25vdEVtcHR5QmxvY2s+XG4gICAgICAgIDxhIGhyZWY9XCJ7eyB2YWx1ZSB9fVwiIChtb3VzZWRvd24pPVwiaHJlZkZ1bmN0aW9uKCRldmVudClcIiBjbGFzcz1cImNvbG9yLWxpbmtcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ3RhYmxlJ1wiIFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJvZHktc20gcGVwLXJlcG9ydC1pbnB1dCByZWFkb25seVwiPlxuICAgICAgICAgICAgICAgIHt7IGZvcm1hdHRlZFZhbHVlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxheW91dFR5cGUgIT09ICd0YWJsZSdcIiBbaWRdPVwia2V5XCIgdGl0bGU9XCJ7eyBmb3JtYXR0ZWRWYWx1ZSB9fVwiIGNsYXNzPVwiYm9keS1zbSBwZXAtY2FyZC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIj5cbiAgICAgICAgICAgICAgICB7eyBmb3JtYXR0ZWRWYWx1ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5QmxvY2s+XG4gICAgICAgIDxzcGFuPiZuYnNwOzwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvZm9ybS9pbnRlcm5hbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9mb3JtL2ludGVybmFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixHQUkxQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBSUgsNEJBQTRCLEdBSS9CLE1BQU0seUJBQXlCLENBQUM7QUFLakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUE4RHZCO0lBQ0E7SUFDQTtJQTlESCxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ1QsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLDJCQUEyQixDQUFNO0lBQ2pDLElBQUksR0FBK0IsUUFBUSxDQUFDO0lBQzVDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFVBQVUsR0FBMkIsNEJBQTRCLENBQUM7SUFDbEUsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUViLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDeEIsSUFDSSxPQUFPLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDckIsSUFBSSxDQUFDLE9BQU8sQ0FB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OE9BaUpjOzs0RkRqSEQsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUFZLHFCQUFxQixtQkFHdEIsdUJBQXVCLENBQUMsTUFBTTs2SUFHdEMsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUlGLE9BQU87c0JBRFYsS0FBSztnQkFxQkcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHTixZQUFZO3NCQURYLE1BQU07Z0JBR1AsV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFJlbmRlcmVyMixcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIElQZXBGaWVsZENsaWNrRXZlbnQsXG4gICAgUGVwSW50ZXJuYWxCdXR0b25GaWVsZFR5cGUsXG4gICAgUGVwSW50ZXJuYWxCdXR0b25GaWVsZCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHtcbiAgICBQZXBCdXR0b24sXG4gICAgSVBlcEJ1dHRvbkNsaWNrRXZlbnQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBwZXBJY29uU3lzdGVtQmluIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5cbkBDb21wb25lbnQoe3NlbGVjdG9yOiAncGVwLWludGVybmFsLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KVxuZXhwb3J0IGNsYXNzIFBlcEludGVybmFsQnV0dG9uQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpIGZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSByZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGU6IGFueTtcbiAgICBASW5wdXQoKSB0eXBlOiBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkVHlwZSA9ICdidXR0b24nO1xuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB4QWxpZ25tZW50OiBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcbiAgICBASW5wdXQoKSByb3dTcGFuID0gMTtcblxuICAgIHByaXZhdGUgX3Zpc2libGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuXG4gICAgY29udHJvbFR5cGUgPSAnYnV0dG9uJztcblxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZWxlbWVudENsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvLyBzdGFuZEFsb25lID0gZmFsc2U7XG4gICAgY3JlYXRlTmV3UmVmZXJlbmNlID0gZmFsc2U7XG4gICAgcmVmZXJlbmNlQnV0dG9uczogQXJyYXk8UGVwQnV0dG9uPiA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgICAgICAgIGNhbGxiYWNrOiAoYWN0aW9uOiBJUGVwQnV0dG9uQ2xpY2tFdmVudCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xpY2tlZChhY3Rpb24uZXZlbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdkZWxldGUnLFxuICAgICAgICAgICAgY2FsbGJhY2s6IChhY3Rpb246IElQZXBCdXR0b25DbGlja0V2ZW50KSA9PiB0aGlzLnJlbW92ZSgpLFxuICAgICAgICAgICAgY2xhc3NOYW1lczogJ2NhdXRpb24nLFxuICAgICAgICAgICAgaWNvbk5hbWU6IHBlcEljb25TeXN0ZW1CaW4ubmFtZSxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZlxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAvLyAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgLy8gICAgIC8vIHRoaXMuZm9ybSA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEZyb21Hcm91cCh0aGlzLmtleSwgdGhpcy52YWx1ZSwgdGhpcy5tYW5kYXRvcnksIHRoaXMucmVhZG9ubHksIHRoaXMuZGlzYWJsZWQpO1xuICAgICAgICAvLyAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwSW50ZXJuYWxCdXR0b25GaWVsZCh7XG4gICAgICAgIC8vICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgLy8gICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgLy8gICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAvLyAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAvLyAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgIC8vICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuXG4gICAgICAgIC8vICAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZSB8fCB0aGlzLnZhbHVlO1xuICAgICAgICAvLyAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgLy8gICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9DTEFTU19OQU1FXG4gICAgICAgIC8vICAgICApO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZU5ld1JlZmVyZW5jZSA9IHRoaXMudmFsdWUubGVuZ3RoID09PSAwO1xuICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2VCdXR0b25zWzBdLnZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIC8vIGdyb3VwQnV0dG9uQ2xpY2tlZChhY3Rpb246IElQZXBCdXR0b25DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgLy8gICAgIGlmIChhY3Rpb24uc291cmNlLmtleSA9PT0gJ2FjdGlvbicpIHtcbiAgICAvLyAgICAgICAgIHRoaXMub25CdXR0b25DbGlja2VkKGFjdGlvbi5ldmVudCk7XG4gICAgLy8gICAgIH0gZWxzZSBpZiAoYWN0aW9uLnNvdXJjZS5rZXkgPT09ICdkZWxldGUnKSB7XG4gICAgLy8gICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG4gICAgb25CdXR0b25DbGlja2VkKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFyciA9IHRoaXMudmFsdWUuc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWVBcnJbdmFsdWVBcnIubGVuZ3RoIC0gMV0sIC8vIC5yZXBsYWNlKC9bXmEtekEtWjAtOSBdL2csICcnKSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcbiAgICAgICAgICAgICAgICBvdGhlckRhdGE6IHRoaXMucmVmZXJlbmNlT2JqZWN0SW50ZXJuYWxUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnYnV0dG9uJyAmJiB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLCAvLyBzaG91bGQgY29udGFpbiB0aGUgcHJvZ3JhbSBuYW1lXG4gICAgICAgICAgICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXG4gICAgICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoe1xuICAgICAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXG4gICAgICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhyZWZGdW5jdGlvbihldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IDEgLyp8fCBldmVudC53aGljaCA9PT0gMiovKSB7XG4gICAgICAgICAgICB0aGlzLm9uQnV0dG9uQ2xpY2tlZChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuUmVmZXJlbmNlT2JqZWN0SW50ZXJuYWwoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICAgICAgb3RoZXJEYXRhOiB0aGlzLnJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JlZmVyZW5jZSdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJzsgdGhlbiBmb3JtQmxvY2s7IGVsc2Ugbm90Rm9ybUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9ybUJsb2NrPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1idXR0b24tY29udGFpbmVyIHJlZmVyZW5jZS1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8cGVwLWZpZWxkLXRpdGxlIFtsYWJlbF09XCJsYWJlbFwiIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3hBbGlnbm1lbnRdPVwieEFsaWdubWVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCI+XG4gICAgICAgICAgICAgICAgPC9wZXAtZmllbGQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNyZWF0ZU5ld1JlZmVyZW5jZTsgdGhlbiBuZXdCbG9jazsgZWxzZSBleGlzdGluZ0Jsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNuZXdCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCIgY2xhc3M9XCJwZXAtYnV0dG9uIG1kIHJlZ3VsYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2tlZCgkZXZlbnQpXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHVsbC1sZWZ0JzogeEFsaWdubWVudCA9PSAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1bGwtcmlnaHQnOiB4QWxpZ25tZW50ID09ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NlbnRlci1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdjZW50ZXInXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzIHB1bGwtbGVmdCBmbGlwIGJ1dHRvbi10aXRsZS13aXRoLWljb25cIj57eyAnQUNUSU9OUy5DUkVBVEVfTkVXJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwicHVsbC1yaWdodCBmbGlwXCIgcGVwUnRsQ2xhc3M+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJudW1iZXJfcGx1c1wiIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZXhpc3RpbmdCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1ncm91cC1idXR0b25zIFtidXR0b25zXT1cInJlZmVyZW5jZUJ1dHRvbnNcIiBzdHlsZVR5cGU9XCJyZWd1bGFyXCIgdmlld1R5cGU9XCJzcGxpdFwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1ncm91cC1idXR0b25zPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub3RGb3JtQmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbGlzdG9mb2JqZWN0cydcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJzsgdGhlbiBmb3JtQmxvY2s7IGVsc2Ugbm90Rm9ybUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9ybUJsb2NrPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlOyBjb250ZXh0OiB7aW50ZXJuYWw6IHRydWV9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90Rm9ybUJsb2NrPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwia2V5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT2JqZWN0TWVudSdcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwib25CdXR0b25DbGlja2VkKCRldmVudClcIiB0aXRsZT1cInt7IGtleSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gKm5nSWY9XCJrZXkgPT0gJ09iamVjdE1lbnUnXCIgbmFtZT1cInN5c3RlbV9tZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQWdlbnRzJyB8fCAnQ29udGFjdFBlcnNvbnMnIHx8ICdCdXllcnMnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICd0YWJsZSc7IHRoZW4gdGFibGVCbG9jazsgZWxzZSBub25UYWJsZUJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub25UYWJsZUJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGU7IGNvbnRleHQ6IHtpbnRlcm5hbDogdHJ1ZX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGFibGVCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lkXT1cImtleVwiIHRpdGxlPVwie3sgZm9ybWF0dGVkVmFsdWUgfX1cIiBjbGFzcz1cInBlcC1yZXBvcnQtaW5wdXQgcmVhZG9ubHkgYm9keS1zbVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ2Zvcm0nOyB0aGVuIGJ1dHRvbkJsb2NrOyBlbHNlIGxpbmtCbG9ja1wiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNidXR0b25CbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlOyBjb250ZXh0OiB7aW50ZXJuYWw6IGZhbHNlfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaW5rQmxvY2s+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGUgbGV0LWludGVybmFsPVwiaW50ZXJuYWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGVwLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPHBlcC1maWVsZC10aXRsZSBbbGFiZWxdPVwibGFiZWxcIiBbbWFuZGF0b3J5XT1cIm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt4QWxpZ25tZW50XT1cInhBbGlnbm1lbnRcIlxuICAgICAgICAgICAgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIj5cbiAgICAgICAgPC9wZXAtZmllbGQtdGl0bGU+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVybmFsOyB0aGVuIGludGVybmFsQnV0dG9uVGVtcGxhdGU7IGVsc2UgcmVndWxhckJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVndWxhckJ1dHRvblRlbXBsYXRlPlxuICAgICAgICAgICAgPGJ1dHRvbiBbaWRdPVwia2V5XCIgdGl0bGU9XCJ7eyBmb3JtYXR0ZWRWYWx1ZSB9fVwiIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIG1kIHJlZ3VsYXJcIlxuICAgICAgICAgICAgICAgIGRpcj1cInt7IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyA/ICdydGwnIDogJ2x0cicgfX1cIiAoY2xpY2spPVwib25CdXR0b25DbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBkaXNhYmxlZCwgJ3B1bGwtbGVmdCc6IHhBbGlnbm1lbnQgPT0gJ2xlZnQnLCAncHVsbC1yaWdodCc6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JywgJ2NlbnRlci1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdjZW50ZXInfVwiPlxuICAgICAgICAgICAgICAgIHt7IGZvcm1hdHRlZFZhbHVlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2ludGVybmFsQnV0dG9uVGVtcGxhdGU+XG4gICAgICAgICAgICA8YnV0dG9uIFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCIgbWF0LWJ1dHRvbiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiXG4gICAgICAgICAgICAgICAgZGlyPVwie3sgeEFsaWdubWVudCA9PSAncmlnaHQnID8gJ3J0bCcgOiAnbHRyJyB9fVwiIChjbGljayk9XCJvcGVuUmVmZXJlbmNlT2JqZWN0SW50ZXJuYWwoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGRpc2FibGVkLCAncHVsbC1sZWZ0JzogeEFsaWdubWVudCA9PSAnbGVmdCcsICdwdWxsLXJpZ2h0JzogeEFsaWdubWVudCA9PSAncmlnaHQnLCAnY2VudGVyLWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ2NlbnRlcid9XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdHRlZFZhbHVlID09ICcwJyB8fCBmb3JtYXR0ZWRWYWx1ZSA9PSAnJzsgdGhlbiBuZXdCbG9jazsgZWxzZSBleGlzdGluZ0Jsb2NrXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNuZXdCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWxsLWxlZnQgZmxpcCBidXR0b24tdGl0bGUtd2l0aC1pY29uXCI+e3sgJ0xJU1QuU0VMRUNUJyB8IHRyYW5zbGF0ZSB9fSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJudW1iZXJfcGx1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZXhpc3RpbmdCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWxsLWxlZnQgZmxpcCBidXR0b24tdGl0bGUtd2l0aC1pY29uXCI+e3sgZm9ybWF0dGVkVmFsdWUgfX0mbmJzcDt7eyAnTElTVC5TRUxFQ1RFRCcgfFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICB9fSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fZWRpdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpbmtUZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybWF0dGVkVmFsdWU/Lmxlbmd0aCA+IDA7IHRoZW4gbm90RW1wdHlCbG9jazsgZWxzZSBlbXB0eUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNub3RFbXB0eUJsb2NrPlxuICAgICAgICA8YSBocmVmPVwie3sgdmFsdWUgfX1cIiAobW91c2Vkb3duKT1cImhyZWZGdW5jdGlvbigkZXZlbnQpXCIgY2xhc3M9XCJjb2xvci1saW5rXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxheW91dFR5cGUgPT09ICd0YWJsZSdcIiBbaWRdPVwia2V5XCIgdGl0bGU9XCJ7eyBmb3JtYXR0ZWRWYWx1ZSB9fVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJib2R5LXNtIHBlcC1yZXBvcnQtaW5wdXQgcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyBmb3JtYXR0ZWRWYWx1ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsYXlvdXRUeXBlICE9PSAndGFibGUnXCIgW2lkXT1cImtleVwiIHRpdGxlPVwie3sgZm9ybWF0dGVkVmFsdWUgfX1cIiBjbGFzcz1cImJvZHktc20gcGVwLWNhcmQtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+XG4gICAgICAgICAgICAgICAge3sgZm9ybWF0dGVkVmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eUJsb2NrPlxuICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -105,13 +105,13 @@ export class PepInternalCaruselComponent {
|
|
|
105
105
|
this.prevDisabled = event === 0;
|
|
106
106
|
// this.nextDisabled = event === this.items.length - 1;
|
|
107
107
|
}
|
|
108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
108
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalCaruselComponent, deps: [{ token: i1.PepLayoutService }, { token: i2.PepInternalCaruselService }], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PepInternalCaruselComponent, selector: "pep-internal-carusel", inputs: { field: "field", layoutType: "layoutType" }, outputs: { internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick" }, providers: [PepInternalCaruselService], viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true, read: PepCarouselComponent }], ngImport: i0, template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"prevDisabled\" (click)=\"moveLeft()\" class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\" (indexChanged)=\"onIndexChanged($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-internal-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\" class=\"card-view \"\n (valueChange)=\"onCustomizeObjectChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\">\n </pep-internal-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"nextDisabled\" (click)=\"moveRight()\" class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>", styles: [".carousel-container{position:relative;margin:0;display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep .carousel-content .card-view{padding:var(--pep-spacing-sm, .5rem) 0!important}.carousel-container ::ng-deep .carousel-content .card-view:first-child{padding-inline-start:var(--pep-spacing-sm, .5rem)!important}.carousel-container ::ng-deep .carousel-content .card-view:last-child{padding-inline-end:var(--pep-spacing-sm, .5rem)!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.PepCarouselComponent, selector: "pep-carousel", inputs: ["scrollbarHidden", "disabled", "xDisabled", "yDisabled", "xWheelEnabled", "dragDisabled", "snapDisabled", "snapOffset", "snapDuration"], outputs: ["dsInitialized", "indexChanged", "reachesLeftBound", "reachesRightBound", "snapAnimationFinished", "dragStart", "dragEnd"] }, { kind: "directive", type: i5.PepCarouselItemDirective, selector: "[pepCarouselItem]", inputs: ["dragDisabled"] }, { kind: "component", type: i6.PepInternalFormComponent, selector: "pep-internal-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
110
110
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalCaruselComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
113
|
args: [{ selector: 'pep-internal-carusel', providers: [PepInternalCaruselService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"prevDisabled\" (click)=\"moveLeft()\" class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\" (indexChanged)=\"onIndexChanged($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-internal-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\" class=\"card-view \"\n (valueChange)=\"onCustomizeObjectChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\">\n </pep-internal-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"screenSize <= PepScreenSizeType.SM\" [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\"\n [disabled]=\"nextDisabled\" (click)=\"moveRight()\" class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>", styles: [".carousel-container{position:relative;margin:0;display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep .carousel-content .card-view{padding:var(--pep-spacing-sm, .5rem) 0!important}.carousel-container ::ng-deep .carousel-content .card-view:first-child{padding-inline-start:var(--pep-spacing-sm, .5rem)!important}.carousel-container ::ng-deep .carousel-content .card-view:last-child{padding-inline-end:var(--pep-spacing-sm, .5rem)!important}\n"] }]
|
|
114
|
-
}], ctorParameters:
|
|
114
|
+
}], ctorParameters: () => [{ type: i1.PepLayoutService }, { type: i2.PepInternalCaruselService }], propDecorators: { carousel: [{
|
|
115
115
|
type: ViewChild,
|
|
116
116
|
args: ['carousel', { read: PepCarouselComponent }]
|
|
117
117
|
}], field: [{
|
|
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
123
123
|
}], internalFormFieldClick: [{
|
|
124
124
|
type: Output
|
|
125
125
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLHVCQUF1QixFQUV2QixTQUFTLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkUsT0FBTyxFQU9ILGlCQUFpQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQVN4RSxNQUFNLE9BQU8sMkJBQTJCO0lBOEN4QjtJQUNBO0lBN0NaLFFBQVEsQ0FBdUI7SUFFdkIsTUFBTSxDQUFNO0lBQ3BCLElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQWlDLENBQUM7UUFFNUQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxD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QixNQUFNO2dCQUdQLHNCQUFzQjtzQkFEckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBFbGVtZW50UmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBBZnRlclZpZXdJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEludGVybmFsQ2FydXNlbFNlcnZpY2UgfSBmcm9tICcuL2ludGVybmFsLWNhcnVzZWwuc2VydmljZSc7XG5cbmltcG9ydCB7XG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBVSUNvbnRyb2wsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgT2JqZWN0c0RhdGFSb3csXG4gICAgUGVwSW50ZXJuYWxDYXJ1c2VsRmllbGQsXG4gICAgUGVwTGF5b3V0U2VydmljZSxcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHtcbiAgICBJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudCxcbiAgICBJUGVwRm9ybUZpZWxkVmFsdWVDaGFuZ2VFdmVudCxcbn0gZnJvbSAnLi9mb3JtLm1vZGVsJztcbmltcG9ydCB7IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9xdWFudGl0eS1zZWxlY3Rvcic7XG5pbXBvcnQgeyBQZXBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2Nhcm91c2VsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtaW50ZXJuYWwtY2FydXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLWNhcnVzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ludGVybmFsLWNhcnVzZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtQZXBJbnRlcm5hbENhcnVzZWxTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxDYXJ1c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbCcsIHsgcmVhZDogUGVwQ2Fyb3VzZWxDb21wb25lbnQgfSlcbiAgICBjYXJvdXNlbDogUGVwQ2Fyb3VzZWxDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIF9maWVsZDogYW55O1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZpZWxkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZmllbGQgPSB2YWx1ZTtcbiAgICAgICAgY29uc3QgY2FydXNlbEZpZWxkID0gdGhpcy5fZmllbGQgYXMgUGVwSW50ZXJuYWxDYXJ1c2VsRmllbGQ7XG5cbiAgICAgICAgaWYgKGNhcnVzZWxGaWVsZCAmJiBjYXJ1c2VsRmllbGQucGFnZUluZm8pIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0ID0gY2FydXNlbEZpZWxkLnBhZ2VJbmZvLlVJQ29udHJvbDtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSBjYXJ1c2VsRmllbGQucGFnZUluZm8uUm93cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZmllbGQoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBpbnRlcm5hbEZvcm1GaWVsZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBpbnRlcm5hbEZvcm1GaWVsZENsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcEZvcm1GaWVsZENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudD4oKTtcblxuICAgIHByaXZhdGUgX2l0ZW1zOiBBcnJheTxhbnk+ID0gbnVsbDtcbiAgICBzZXQgaXRlbXModmFsdWU6IEFycmF5PGFueT4pIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcbiAgICAgICAgLy8gdGhpcy5tb3ZlVG8oMCk7XG4gICAgfVxuICAgIGdldCBpdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICAgIH1cblxuICAgIGxheW91dDogYW55ID0gbnVsbDtcbiAgICBkdXJhdGlvbiA9IDI1MDtcblxuICAgIHByaXZhdGUgaXRlbXNUb01vdmUgPSAzO1xuXG4gICAgcHJldkRpc2FibGVkID0gdHJ1ZTtcbiAgICBuZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBQZXBTY3JlZW5TaXplVHlwZSA9IFBlcFNjcmVlblNpemVUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpbnRlcm5hbENhcnVzZWxTZXJ2aWNlOiBQZXBJbnRlcm5hbENhcnVzZWxTZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemU6IFBlcFNjcmVlblNpemVUeXBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkN1c3RvbWl6ZU9iamVjdENoYW5nZWQoXG4gICAgICAgIGN1c3RvbWl6ZU9iamVjdENoYW5nZWREYXRhOiBJUGVwRm9ybUZpZWxkVmFsdWVDaGFuZ2VFdmVudFxuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLmludGVybmFsQ2FydXNlbFNlcnZpY2UuZW1pdEV2ZW50KGN1c3RvbWl6ZU9iamVjdENoYW5nZWREYXRhLnVpT2JqZWN0S2V5LCBjdXN0b21pemVPYmplY3RDaGFuZ2VkRGF0YS5rZXksIGN1c3RvbWl6ZU9iamVjdENoYW5nZWREYXRhLnZhbHVlLCAnU2V0RmllbGRWYWx1ZScsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UuZW1pdChjdXN0b21pemVPYmplY3RDaGFuZ2VkRGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ3VzdG9taXplRmllbGRDbGljayhmaWVsZENsaWNrRXZlbnQ6IElQZXBGb3JtRmllbGRDbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGxldCBoYW5kbGVkRXZlbnQgPSBmYWxzZTtcblxuICAgICAgICAvLyBGb3IgdGhlIG5ldyBjdXN0b20gZm9ybSwgdGhlIHBsdXMgYW5kIG1pbnVzIGV2ZW50cyB0cmFuc2Zvcm0gaW4gdGhlIElQZXBGb3JtRmllbGRWYWx1ZUNoYW5nZUV2ZW50XG4gICAgICAgIGlmIChmaWVsZENsaWNrRXZlbnQuY29udHJvbFR5cGUgPT09ICdxcycpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZENsaWNrRXZlbnQudmFsdWUgPT09IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQuUExVUykge1xuICAgICAgICAgICAgICAgIGhhbmRsZWRFdmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbENhcnVzZWxTZXJ2aWNlLmVtaXRFdmVudChmaWVsZENsaWNrRXZlbnQudWlPYmplY3RLZXksIGZpZWxkQ2xpY2tFdmVudC5rZXksICcnLCAnSW5jcmVtZW50RmllbGRWYWx1ZScsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbEZvcm1GaWVsZENoYW5nZS5lbWl0KHt9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZENsaWNrRXZlbnQudmFsdWUgPT09IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQuTUlOVVMpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVkRXZlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxDYXJ1c2VsU2VydmljZS5lbWl0RXZlbnQoZmllbGRDbGlja0V2ZW50LnVpT2JqZWN0S2V5LCBmaWVsZENsaWNrRXZlbnQua2V5LCAnJywgJ0RlY3JlbWVudEZpZWxkVmFsdWUnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UuZW1pdCh7fSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWhhbmRsZWRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbEZvcm1GaWVsZENsaWNrLmVtaXQoZmllbGRDbGlja0V2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1vdmVMZWZ0KCkge1xuICAgICAgICBjb25zdCBpbmRleFRvTW92ZSA9IE1hdGgubWF4KFxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5jdXJySW5kZXggLSB0aGlzLml0ZW1zVG9Nb3ZlLFxuICAgICAgICAgICAgMFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm1vdmVUbyhpbmRleFRvTW92ZSk7XG4gICAgfVxuXG4gICAgbW92ZVJpZ2h0KCkge1xuICAgICAgICBjb25zdCBpbmRleFRvTW92ZSA9IE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5jdXJySW5kZXggKyB0aGlzLml0ZW1zVG9Nb3ZlLFxuICAgICAgICAgICAgdGhpcy5pdGVtcy5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5tb3ZlVG8oaW5kZXhUb01vdmUpO1xuICAgIH1cblxuICAgIG1vdmVUbyhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsKSB7XG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsLm1vdmVUbyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlYWNoZXNMZWZ0Qm91bmQoZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgLy8gdGhpcy5wcmV2RGlzYWJsZWQgPSBldmVudDtcbiAgICB9XG5cbiAgICBvblJlYWNoZXNSaWdodEJvdW5kKGV2ZW50OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubmV4dERpc2FibGVkID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgb25JbmRleENoYW5nZWQoZXZlbnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnByZXZEaXNhYmxlZCA9IGV2ZW50ID09PSAwO1xuICAgICAgICAvLyB0aGlzLm5leHREaXNhYmxlZCA9IGV2ZW50ID09PSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgfVxufSIsIjxkaXYgY2xhc3M9XCJjYXJvdXNlbC1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXM/Lmxlbmd0aCA+IDA7IHRoZW4gY2Fyb3VzZWxCbG9jazsgZWxzZSBlbXB0eUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eUJsb2NrPlxuICAgICAgICA8IS0tIE5vIGl0ZW1zIC0tPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjYXJvdXNlbEJsb2NrPlxuICAgICAgICA8cGVwLWJ1dHRvbiAqbmdJZj1cInNjcmVlblNpemUgPD0gUGVwU2NyZWVuU2l6ZVR5cGUuU01cIiBbaWNvbk5hbWVdPVwiJ2Fycm93X2xlZnRfYWx0J1wiIFtzdHlsZVR5cGVdPVwiJ3JlZ3VsYXInXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwcmV2RGlzYWJsZWRcIiAoY2xpY2spPVwibW92ZUxlZnQoKVwiIGNsYXNzPVwiY2Fyb3VzZWwtYXJyb3cgc3RhcnQtYXJyb3dcIj5cbiAgICAgICAgPC9wZXAtYnV0dG9uPlxuICAgICAgICA8cGVwLWNhcm91c2VsICNjYXJvdXNlbCBbeFdoZWVsRW5hYmxlZF09XCJmYWxzZVwiIFtzbmFwRHVyYXRpb25dPVwiZHVyYXRpb25cIlxuICAgICAgICAgICAgKHJlYWNoZXNMZWZ0Qm91bmQpPVwib25SZWFjaGVzTGVmdEJvdW5kKCRldmVudClcIiAocmVhY2hlc1JpZ2h0Qm91bmQpPVwib25SZWFjaGVzUmlnaHRCb3VuZCgkZXZlbnQpXCIgKGluZGV4Q2hhbmdlZCk9XCJvbkluZGV4Q2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPHBlcC1pbnRlcm5hbC1mb3JtIHBlcENhcm91c2VsSXRlbSBbbGF5b3V0XT1cImxheW91dFwiIFtkYXRhXT1cIml0ZW1cIiBbbGF5b3V0VHlwZV09XCInY2FyZCdcIiBjbGFzcz1cImNhcmQtdmlldyBcIlxuICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DdXN0b21pemVPYmplY3RDaGFuZ2VkKCRldmVudClcIiAoZmllbGRDbGljayk9XCJvbkN1c3RvbWl6ZUZpZWxkQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDwvcGVwLWludGVybmFsLWZvcm0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9wZXAtY2Fyb3VzZWw+XG4gICAgICAgIDxwZXAtYnV0dG9uICpuZ0lmPVwic2NyZWVuU2l6ZSA8PSBQZXBTY3JlZW5TaXplVHlwZS5TTVwiIFtpY29uTmFtZV09XCInYXJyb3dfcmlnaHRfYWx0J1wiIFtzdHlsZVR5cGVdPVwiJ3JlZ3VsYXInXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJuZXh0RGlzYWJsZWRcIiAoY2xpY2spPVwibW92ZVJpZ2h0KClcIiBjbGFzcz1cImNhcm91c2VsLWFycm93IGVuZC1hcnJvd1wiPlxuICAgICAgICA8L3BlcC1idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLHVCQUF1QixFQUV2QixTQUFTLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkUsT0FBTyxFQU9ILGlCQUFpQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQU94RSxNQUFNLE9BQU8sMkJBQTJCO0lBOEN4QjtJQUNBO0lBN0NaLFFBQVEsQ0FBdUI7SUFFdkIsTUFBTSxDQUFNO0lBQ3BCLElBQ0ksS0FBSyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQWlDLENBQUM7UUFFNUQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxD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LE1BQU07Z0JBR1Asc0JBQXNCO3NCQURyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEFmdGVyVmlld0luaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwSW50ZXJuYWxDYXJ1c2VsU2VydmljZSB9IGZyb20gJy4vaW50ZXJuYWwtY2FydXNlbC5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFVJQ29udHJvbCxcbiAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICBPYmplY3RzRGF0YVJvdyxcbiAgICBQZXBJbnRlcm5hbENhcnVzZWxGaWVsZCxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcFNjcmVlblNpemVUeXBlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIElQZXBGb3JtRmllbGRDbGlja0V2ZW50LFxuICAgIElQZXBGb3JtRmllbGRWYWx1ZUNoYW5nZUV2ZW50LFxufSBmcm9tICcuL2Zvcm0ubW9kZWwnO1xuaW1wb3J0IHsgUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3F1YW50aXR5LXNlbGVjdG9yJztcbmltcG9ydCB7IFBlcENhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvY2Fyb3VzZWwnO1xuXG5AQ29tcG9uZW50KHtzZWxlY3RvcjogJ3BlcC1pbnRlcm5hbC1jYXJ1c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwtY2FydXNlbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1BlcEludGVybmFsQ2FydXNlbFNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNofSlcbmV4cG9ydCBjbGFzcyBQZXBJbnRlcm5hbENhcnVzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsJywgeyByZWFkOiBQZXBDYXJvdXNlbENvbXBvbmVudCB9KVxuICAgIGNhcm91c2VsOiBQZXBDYXJvdXNlbENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgX2ZpZWxkOiBhbnk7XG4gICAgQElucHV0KClcbiAgICBzZXQgZmllbGQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9maWVsZCA9IHZhbHVlO1xuICAgICAgICBjb25zdCBjYXJ1c2VsRmllbGQgPSB0aGlzLl9maWVsZCBhcyBQZXBJbnRlcm5hbENhcnVzZWxGaWVsZDtcblxuICAgICAgICBpZiAoY2FydXNlbEZpZWxkICYmIGNhcnVzZWxGaWVsZC5wYWdlSW5mbykge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXQgPSBjYXJ1c2VsRmllbGQucGFnZUluZm8uVUlDb250cm9sO1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IGNhcnVzZWxGaWVsZC5wYWdlSW5mby5Sb3dzO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBmaWVsZCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGQ7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcblxuICAgIEBPdXRwdXQoKVxuICAgIGludGVybmFsRm9ybUZpZWxkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGludGVybmFsRm9ybUZpZWxkQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRDbGlja0V2ZW50PigpO1xuXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEFycmF5PGFueT4gPSBudWxsO1xuICAgIHNldCBpdGVtcyh2YWx1ZTogQXJyYXk8YW55Pikge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgICAgICAvLyB0aGlzLm1vdmVUbygwKTtcbiAgICB9XG4gICAgZ2V0IGl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgbGF5b3V0OiBhbnkgPSBudWxsO1xuICAgIGR1cmF0aW9uID0gMjUwO1xuXG4gICAgcHJpdmF0ZSBpdGVtc1RvTW92ZSA9IDM7XG5cbiAgICBwcmV2RGlzYWJsZWQgPSB0cnVlO1xuICAgIG5leHREaXNhYmxlZCA9IGZhbHNlO1xuICAgIHNjcmVlblNpemU6IFBlcFNjcmVlblNpemVUeXBlO1xuICAgIFBlcFNjcmVlblNpemVUeXBlID0gUGVwU2NyZWVuU2l6ZVR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGludGVybmFsQ2FydXNlbFNlcnZpY2U6IFBlcEludGVybmFsQ2FydXNlbFNlcnZpY2VcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnN1YnNjcmliZSgoc2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ3VzdG9taXplT2JqZWN0Q2hhbmdlZChcbiAgICAgICAgY3VzdG9taXplT2JqZWN0Q2hhbmdlZERhdGE6IElQZXBGb3JtRmllbGRWYWx1ZUNoYW5nZUV2ZW50XG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxDYXJ1c2VsU2VydmljZS5lbWl0RXZlbnQoY3VzdG9taXplT2JqZWN0Q2hhbmdlZERhdGEudWlPYmplY3RLZXksIGN1c3RvbWl6ZU9iamVjdENoYW5nZWREYXRhLmtleSwgY3VzdG9taXplT2JqZWN0Q2hhbmdlZERhdGEudmFsdWUsICdTZXRGaWVsZFZhbHVlJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbEZvcm1GaWVsZENoYW5nZS5lbWl0KGN1c3RvbWl6ZU9iamVjdENoYW5nZWREYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DdXN0b21pemVGaWVsZENsaWNrKGZpZWxkQ2xpY2tFdmVudDogSVBlcEZvcm1GaWVsZENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IGhhbmRsZWRFdmVudCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIEZvciB0aGUgbmV3IGN1c3RvbSBmb3JtLCB0aGUgcGx1cyBhbmQgbWludXMgZXZlbnRzIHRyYW5zZm9ybSBpbiB0aGUgSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnRcbiAgICAgICAgaWYgKGZpZWxkQ2xpY2tFdmVudC5jb250cm9sVHlwZSA9PT0gJ3FzJykge1xuICAgICAgICAgICAgaWYgKGZpZWxkQ2xpY2tFdmVudC52YWx1ZSA9PT0gUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudC5QTFVTKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlZEV2ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsQ2FydXNlbFNlcnZpY2UuZW1pdEV2ZW50KGZpZWxkQ2xpY2tFdmVudC51aU9iamVjdEtleSwgZmllbGRDbGlja0V2ZW50LmtleSwgJycsICdJbmNyZW1lbnRGaWVsZFZhbHVlJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludGVybmFsRm9ybUZpZWxkQ2hhbmdlLmVtaXQoe30pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkQ2xpY2tFdmVudC52YWx1ZSA9PT0gUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudC5NSU5VUykge1xuICAgICAgICAgICAgICAgIGhhbmRsZWRFdmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbENhcnVzZWxTZXJ2aWNlLmVtaXRFdmVudChmaWVsZENsaWNrRXZlbnQudWlPYmplY3RLZXksIGZpZWxkQ2xpY2tFdmVudC5rZXksICcnLCAnRGVjcmVtZW50RmllbGRWYWx1ZScsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbEZvcm1GaWVsZENoYW5nZS5lbWl0KHt9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaGFuZGxlZEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFsRm9ybUZpZWxkQ2xpY2suZW1pdChmaWVsZENsaWNrRXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbW92ZUxlZnQoKSB7XG4gICAgICAgIGNvbnN0IGluZGV4VG9Nb3ZlID0gTWF0aC5tYXgoXG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsLmN1cnJJbmRleCAtIHRoaXMuaXRlbXNUb01vdmUsXG4gICAgICAgICAgICAwXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubW92ZVRvKGluZGV4VG9Nb3ZlKTtcbiAgICB9XG5cbiAgICBtb3ZlUmlnaHQoKSB7XG4gICAgICAgIGNvbnN0IGluZGV4VG9Nb3ZlID0gTWF0aC5taW4oXG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsLmN1cnJJbmRleCArIHRoaXMuaXRlbXNUb01vdmUsXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm1vdmVUbyhpbmRleFRvTW92ZSk7XG4gICAgfVxuXG4gICAgbW92ZVRvKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY2Fyb3VzZWwpIHtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWwubW92ZVRvKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVhY2hlc0xlZnRCb3VuZChldmVudDogYm9vbGVhbikge1xuICAgICAgICAvLyB0aGlzLnByZXZEaXNhYmxlZCA9IGV2ZW50O1xuICAgIH1cblxuICAgIG9uUmVhY2hlc1JpZ2h0Qm91bmQoZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZWQgPSBldmVudDtcbiAgICB9XG5cbiAgICBvbkluZGV4Q2hhbmdlZChldmVudDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMucHJldkRpc2FibGVkID0gZXZlbnQgPT09IDA7XG4gICAgICAgIC8vIHRoaXMubmV4dERpc2FibGVkID0gZXZlbnQgPT09IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG59IiwiPGRpdiBjbGFzcz1cImNhcm91c2VsLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcz8ubGVuZ3RoID4gMDsgdGhlbiBjYXJvdXNlbEJsb2NrOyBlbHNlIGVtcHR5QmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5QmxvY2s+XG4gICAgICAgIDwhLS0gTm8gaXRlbXMgLS0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Nhcm91c2VsQmxvY2s+XG4gICAgICAgIDxwZXAtYnV0dG9uICpuZ0lmPVwic2NyZWVuU2l6ZSA8PSBQZXBTY3JlZW5TaXplVHlwZS5TTVwiIFtpY29uTmFtZV09XCInYXJyb3dfbGVmdF9hbHQnXCIgW3N0eWxlVHlwZV09XCIncmVndWxhcidcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByZXZEaXNhYmxlZFwiIChjbGljayk9XCJtb3ZlTGVmdCgpXCIgY2xhc3M9XCJjYXJvdXNlbC1hcnJvdyBzdGFydC1hcnJvd1wiPlxuICAgICAgICA8L3BlcC1idXR0b24+XG4gICAgICAgIDxwZXAtY2Fyb3VzZWwgI2Nhcm91c2VsIFt4V2hlZWxFbmFibGVkXT1cImZhbHNlXCIgW3NuYXBEdXJhdGlvbl09XCJkdXJhdGlvblwiXG4gICAgICAgICAgICAocmVhY2hlc0xlZnRCb3VuZCk9XCJvblJlYWNoZXNMZWZ0Qm91bmQoJGV2ZW50KVwiIChyZWFjaGVzUmlnaHRCb3VuZCk9XCJvblJlYWNoZXNSaWdodEJvdW5kKCRldmVudClcIiAoaW5kZXhDaGFuZ2VkKT1cIm9uSW5kZXhDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8cGVwLWludGVybmFsLWZvcm0gcGVwQ2Fyb3VzZWxJdGVtIFtsYXlvdXRdPVwibGF5b3V0XCIgW2RhdGFdPVwiaXRlbVwiIFtsYXlvdXRUeXBlXT1cIidjYXJkJ1wiIGNsYXNzPVwiY2FyZC12aWV3IFwiXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkN1c3RvbWl6ZU9iamVjdENoYW5nZWQoJGV2ZW50KVwiIChmaWVsZENsaWNrKT1cIm9uQ3VzdG9taXplRmllbGRDbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPC9wZXAtaW50ZXJuYWwtZm9ybT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3BlcC1jYXJvdXNlbD5cbiAgICAgICAgPHBlcC1idXR0b24gKm5nSWY9XCJzY3JlZW5TaXplIDw9IFBlcFNjcmVlblNpemVUeXBlLlNNXCIgW2ljb25OYW1lXT1cIidhcnJvd19yaWdodF9hbHQnXCIgW3N0eWxlVHlwZV09XCIncmVndWxhcidcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5leHREaXNhYmxlZFwiIChjbGljayk9XCJtb3ZlUmlnaHQoKVwiIGNsYXNzPVwiY2Fyb3VzZWwtYXJyb3cgZW5kLWFycm93XCI+XG4gICAgICAgIDwvcGVwLWJ1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+Il19
|
|
@@ -25,10 +25,10 @@ export class PepInternalCaruselService {
|
|
|
25
25
|
// () => {}
|
|
26
26
|
);
|
|
27
27
|
}
|
|
28
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalCaruselService, deps: [{ token: i1.PepHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalCaruselService });
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepInternalCaruselService, decorators: [{
|
|
32
32
|
type: Injectable
|
|
33
|
-
}], ctorParameters:
|
|
33
|
+
}], ctorParameters: () => [{ type: i1.PepHttpService }] });
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtY2FydXNlbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9mb3JtL2ludGVybmFsLWNhcnVzZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUdkO0lBRlosUUFBUSxDQUFTO0lBRXpCLFlBQW9CLFdBQTJCO1FBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsV0FBbUIsRUFBRSxRQUFnQixFQUFFLFVBQWtCLEVBQUUsU0FBaUIsRUFBRSxZQUFpQjtRQUNyRyxNQUFNLElBQUksR0FBRztZQUNULFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN4QixXQUFXLEVBQUUsV0FBVztnQkFDeEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLEtBQUssRUFBRSxVQUFVO2FBQ3BCLENBQUM7U0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUNoRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUNELGlCQUFpQjtRQUNqQixXQUFXO1NBQ2QsQ0FBQztJQUNOLENBQUM7d0dBekJRLHlCQUF5Qjs0R0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwSHR0cFNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXBJbnRlcm5hbENhcnVzZWxTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGV2ZW50VXJsOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBQZXBIdHRwU2VydmljZSkge1xuICAgICAgICB0aGlzLmV2ZW50VXJsID0gJ1NlcnZpY2UxLnN2Yy92MS9FbWl0RXZlbnQnO1xuICAgIH1cblxuICAgIGVtaXRFdmVudCh1aU9iamVjdEtleTogc3RyaW5nLCBmaWVsZEtleTogc3RyaW5nLCBmaWVsZFZhbHVlOiBzdHJpbmcsIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFja0Z1bmM6IGFueSkge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgJ0V2ZW50S2V5JzogZXZlbnROYW1lLFxuICAgICAgICAgICAgJ0V2ZW50RGF0YSc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBVSU9iamVjdEtleTogdWlPYmplY3RLZXksXG4gICAgICAgICAgICAgICAgRmllbGRJRDogZmllbGRLZXksXG4gICAgICAgICAgICAgICAgVmFsdWU6IGZpZWxkVmFsdWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5odHRwU2VydmljZS5wb3N0V2FwaUFwaUNhbGwoYCR7dGhpcy5ldmVudFVybH1gLCBib2R5KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgICAgICBjYWxsYmFja0Z1bmMocmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIChlcnJvcikgPT4ge30sXG4gICAgICAgICAgICAvLyAoKSA9PiB7fVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|