@sumaris-net/ngx-components 2.4.85 → 2.4.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/app/admin/admin-routing.module.mjs +5 -5
- package/esm2020/src/app/admin/admin.module.mjs +5 -5
- package/esm2020/src/app/admin/services/person.service.mjs +4 -4
- package/esm2020/src/app/admin/services/validator/person.validator.mjs +4 -4
- package/esm2020/src/app/admin/users/users.mjs +4 -4
- package/esm2020/src/app/admin/users/users.module.mjs +5 -5
- package/esm2020/src/app/core/about/about.modal.mjs +4 -4
- package/esm2020/src/app/core/about/about.module.mjs +5 -5
- package/esm2020/src/app/core/account/account.module.mjs +5 -5
- package/esm2020/src/app/core/account/account.page.mjs +4 -4
- package/esm2020/src/app/core/auth/auth.form.mjs +4 -4
- package/esm2020/src/app/core/auth/auth.modal.mjs +4 -4
- package/esm2020/src/app/core/auth/auth.module.mjs +5 -5
- package/esm2020/src/app/core/core.module.mjs +5 -5
- package/esm2020/src/app/core/core.testing.module.mjs +5 -5
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +4 -4
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +5 -5
- package/esm2020/src/app/core/form/entity/editor.class.mjs +7 -7
- package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +4 -4
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +49 -39
- package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +4 -4
- package/esm2020/src/app/core/form/entity/entity.module.mjs +5 -5
- package/esm2020/src/app/core/form/form.class.mjs +4 -4
- package/esm2020/src/app/core/form/form.module.mjs +5 -5
- package/esm2020/src/app/core/form/list/list.form.mjs +4 -4
- package/esm2020/src/app/core/form/list/list.module.mjs +5 -5
- package/esm2020/src/app/core/form/properties/properties.form.mjs +4 -4
- package/esm2020/src/app/core/form/properties/properties.module.mjs +5 -5
- package/esm2020/src/app/core/form/properties/property.validator.mjs +4 -4
- package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +4 -4
- package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +5 -5
- package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +4 -4
- package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +5 -5
- package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +4 -4
- package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +4 -4
- package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +5 -5
- package/esm2020/src/app/core/graphql/graphql.module.mjs +5 -5
- package/esm2020/src/app/core/graphql/graphql.service.mjs +4 -4
- package/esm2020/src/app/core/home/home.mjs +5 -5
- package/esm2020/src/app/core/home/home.module.mjs +5 -5
- package/esm2020/src/app/core/icon/icon.component.mjs +4 -4
- package/esm2020/src/app/core/icon/icon.module.mjs +5 -5
- package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +4 -4
- package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +5 -5
- package/esm2020/src/app/core/menu/menu.component.mjs +4 -4
- package/esm2020/src/app/core/menu/menu.module.mjs +5 -5
- package/esm2020/src/app/core/menu/menu.service.mjs +4 -4
- package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +4 -4
- package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +5 -5
- package/esm2020/src/app/core/peer/select-peer.modal.mjs +4 -4
- package/esm2020/src/app/core/peer/select-peer.module.mjs +5 -5
- package/esm2020/src/app/core/register/register-confirm.page.mjs +4 -4
- package/esm2020/src/app/core/register/register.form.mjs +4 -4
- package/esm2020/src/app/core/register/register.modal.mjs +4 -4
- package/esm2020/src/app/core/register/register.module.mjs +5 -5
- package/esm2020/src/app/core/services/account.service.mjs +9 -4
- package/esm2020/src/app/core/services/auth-guard.service.mjs +4 -4
- package/esm2020/src/app/core/services/base-entity-service.class.mjs +4 -4
- package/esm2020/src/app/core/services/base-graphql-service.class.mjs +4 -4
- package/esm2020/src/app/core/services/config.service.mjs +4 -4
- package/esm2020/src/app/core/services/crypto.service.mjs +4 -4
- package/esm2020/src/app/core/services/local-settings.service.mjs +10 -10
- package/esm2020/src/app/core/services/model/config.model.mjs +3 -3
- package/esm2020/src/app/core/services/network.service.mjs +4 -4
- package/esm2020/src/app/core/services/pipes/account.pipes.mjs +9 -9
- package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
- package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
- package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
- package/esm2020/src/app/core/services/platform.service.mjs +4 -4
- package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +4 -4
- package/esm2020/src/app/core/services/testing/referential.validator.mjs +4 -4
- package/esm2020/src/app/core/services/validator/account.validator.mjs +4 -4
- package/esm2020/src/app/core/services/validator/base.validator.class.mjs +4 -4
- package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +4 -4
- package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +4 -4
- package/esm2020/src/app/core/settings/settings.module.mjs +5 -5
- package/esm2020/src/app/core/settings/settings.page.mjs +4 -4
- package/esm2020/src/app/core/table/actions-column.component.mjs +4 -4
- package/esm2020/src/app/core/table/async-table.class.mjs +4 -4
- package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +4 -4
- package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +4 -4
- package/esm2020/src/app/core/table/memory-table.class.mjs +4 -4
- package/esm2020/src/app/core/table/table-select-columns.component.mjs +4 -4
- package/esm2020/src/app/core/table/table.class.mjs +4 -4
- package/esm2020/src/app/core/table/table.module.mjs +5 -5
- package/esm2020/src/app/core/table/testing/table-validator.service.mjs +4 -4
- package/esm2020/src/app/core/table/testing/table.testing.mjs +4 -4
- package/esm2020/src/app/core/table/testing/table.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/audio/audio.mjs +4 -4
- package/esm2020/src/app/shared/audio/audio.testing.mjs +4 -4
- package/esm2020/src/app/shared/audio/audio.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/capacitor/keyboard.mjs +4 -4
- package/esm2020/src/app/shared/debug/debug.component.mjs +4 -4
- package/esm2020/src/app/shared/debug/debug.module.mjs +5 -5
- package/esm2020/src/app/shared/directives/autofocus.directive.mjs +4 -4
- package/esm2020/src/app/shared/directives/autotitle.directive.mjs +4 -4
- package/esm2020/src/app/shared/directives/directives.module.mjs +5 -5
- package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
- package/esm2020/src/app/shared/directives/ng-var.directive.mjs +4 -4
- package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
- package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
- package/esm2020/src/app/shared/file/file.service.mjs +4 -4
- package/esm2020/src/app/shared/form/field.component.mjs +4 -4
- package/esm2020/src/app/shared/form/loading-spinner.mjs +4 -4
- package/esm2020/src/app/shared/functions.mjs +4 -1
- package/esm2020/src/app/shared/gesture/gesture-config.mjs +4 -4
- package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +4 -4
- package/esm2020/src/app/shared/help/help.modal.mjs +4 -4
- package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +4 -4
- package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +4 -4
- package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +5 -5
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +4 -4
- package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +5 -5
- package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +4 -4
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +4 -4
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/image/image.module.mjs +5 -5
- package/esm2020/src/app/shared/image/image.service.mjs +4 -4
- package/esm2020/src/app/shared/logging/logging-service.class.mjs +4 -4
- package/esm2020/src/app/shared/logging/logging-service.module.mjs +5 -5
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +4 -4
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +5 -5
- package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +4 -4
- package/esm2020/src/app/shared/material/badge/badge.directive.mjs +4 -4
- package/esm2020/src/app/shared/material/badge/badge.module.mjs +5 -5
- package/esm2020/src/app/shared/material/badge/badge.test.mjs +4 -4
- package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +5 -5
- package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +4 -4
- package/esm2020/src/app/shared/material/chips/chips.module.mjs +5 -5
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +4 -4
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +4 -4
- package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +5 -5
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +4 -4
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +4 -4
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +4 -4
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +4 -4
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +4 -4
- package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +4 -4
- package/esm2020/src/app/shared/material/duration/duration.module.mjs +5 -5
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +4 -4
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +4 -4
- package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +5 -5
- package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +4 -4
- package/esm2020/src/app/shared/material/material.module.mjs +5 -5
- package/esm2020/src/app/shared/material/material.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +4 -4
- package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +4 -4
- package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +4 -4
- package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +4 -4
- package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +4 -4
- package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +4 -4
- package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +5 -5
- package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +4 -4
- package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +4 -4
- package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
- package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +4 -4
- package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +5 -5
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +4 -4
- package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +25 -25
- package/esm2020/src/app/shared/pipes/colors.pipe.mjs +4 -4
- package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +5 -5
- package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +7 -7
- package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +5 -5
- package/esm2020/src/app/shared/pipes/duration.pipe.mjs +5 -5
- package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +4 -4
- package/esm2020/src/app/shared/pipes/form.pipes.mjs +19 -19
- package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +5 -5
- package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +10 -10
- package/esm2020/src/app/shared/pipes/maps.pipe.mjs +13 -13
- package/esm2020/src/app/shared/pipes/math.pipes.mjs +13 -13
- package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +4 -4
- package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +5 -5
- package/esm2020/src/app/shared/pipes/pipes.module.mjs +5 -5
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +8 -8
- package/esm2020/src/app/shared/pipes/string.pipes.mjs +22 -22
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +9 -9
- package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +4 -4
- package/esm2020/src/app/shared/services/progress-bar.service.mjs +4 -4
- package/esm2020/src/app/shared/services/startable-service.class.mjs +6 -1
- package/esm2020/src/app/shared/services/translate-context.service.mjs +4 -4
- package/esm2020/src/app/shared/shared-routing.module.mjs +8 -8
- package/esm2020/src/app/shared/shared.module.mjs +5 -5
- package/esm2020/src/app/shared/shared.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +4 -4
- package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +5 -5
- package/esm2020/src/app/shared/storage/storage.service.mjs +4 -4
- package/esm2020/src/app/shared/testing/observable.test.mjs +4 -4
- package/esm2020/src/app/shared/testing/tests.page.mjs +4 -4
- package/esm2020/src/app/shared/toast/toast.testing.mjs +6 -6
- package/esm2020/src/app/shared/toast/toast.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +4 -4
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +5 -5
- package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +5 -5
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +4 -4
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +5 -5
- package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +4 -4
- package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +4 -4
- package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +4 -4
- package/esm2020/src/app/social/job/job.module.mjs +5 -5
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +4 -4
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +4 -4
- package/esm2020/src/app/social/job/progression/job-progression.service.mjs +4 -4
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +4 -4
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +4 -4
- package/esm2020/src/app/social/job/testing/job.testing.module.mjs +5 -5
- package/esm2020/src/app/social/message/message.form.mjs +4 -4
- package/esm2020/src/app/social/message/message.modal.mjs +4 -4
- package/esm2020/src/app/social/message/message.module.mjs +5 -5
- package/esm2020/src/app/social/message/message.service.mjs +4 -4
- package/esm2020/src/app/social/social.module.mjs +5 -5
- package/esm2020/src/app/social/social.testing.module.mjs +5 -5
- package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +4 -4
- package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +4 -4
- package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +4 -4
- package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +5 -5
- package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +4 -4
- package/esm2020/src/app/social/user-event/user-event.module.mjs +5 -5
- package/esm2020/src/app/social/user-event/user-event.service.mjs +4 -4
- package/fesm2015/sumaris-net.ngx-components.mjs +898 -871
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +891 -869
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/core/form/entity/entity-editor.class.d.ts +33 -29
- package/src/app/core/services/account.service.d.ts +5 -0
- package/src/app/core/services/local-settings.service.d.ts +1 -1
- package/src/app/core/services/platform.service.d.ts +2 -2
- package/src/app/shared/file/file.utils.d.ts +1 -1
- package/src/app/shared/functions.d.ts +1 -0
- package/src/app/shared/services/startable-service.class.d.ts +1 -0
|
@@ -277,9 +277,9 @@ export class MatSwipeField {
|
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
|
-
MatSwipeField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
281
|
-
MatSwipeField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
280
|
+
MatSwipeField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MatSwipeField, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
281
|
+
MatSwipeField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: MatSwipeField, selector: "mat-swipe-field", inputs: { logPrefix: "logPrefix", formControl: "formControl", formControlName: "formControlName", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", debug: "debug", required: "required", mobile: "mobile", clearable: "clearable", equals: "equals", displayWith: "displayWith", displayAttributes: "displayAttributes", appAutofocus: "appAutofocus", classList: ["class", "classList"], tabindex: "tabindex", items: "items" }, outputs: { onClick: "click", blurred: "blur", focused: "focus" }, providers: [DEFAULT_VALUE_ACCESSOR], viewQueries: [{ propertyName: "fakeInput", first: true, predicate: ["fakeInput"], descendants: true }, { propertyName: "swiperRef", first: true, predicate: ["swiper"], descendants: true, static: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true }], ngImport: i0, template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [appearance]=\"appearance\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\" >\n <swiper-container #swiper\n [modules]=\"swiperModules\"\n [speed]=\"100\" [slidesPerView]=\"1\"\n (init)=\"swiperLoaded()\"\n (reachbeginning)=\"reachStart(true)\"\n (reachend)=\"reachEnd(true)\"\n (slidenexttransitionend)=\"reachStart(false)\"\n (slideprevtransitionend)=\"reachEnd(false)\"\n (slidechange)=\"slideChanged()\">\n <swiper-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </swiper-slide>\n\n </swiper-container>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n", styles: [":host{display:inline-block;width:100%;position:relative}input.hidden{display:none}.slides-container{padding-inline-start:40px;padding-inline-end:40px}.slides-container .swiper-slide{font-size:16px!important}.slides-container.hidden{visibility:hidden;height:0!important}.button-prev,.button-next{position:absolute;top:calc(50% - 20px);z-index:10}.button-prev{left:0;right:auto}.button-next{left:auto;right:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MatSwipeField, decorators: [{
|
|
283
283
|
type: Component,
|
|
284
284
|
args: [{ selector: 'mat-swipe-field', providers: [DEFAULT_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [appearance]=\"appearance\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\" >\n <swiper-container #swiper\n [modules]=\"swiperModules\"\n [speed]=\"100\" [slidesPerView]=\"1\"\n (init)=\"swiperLoaded()\"\n (reachbeginning)=\"reachStart(true)\"\n (reachend)=\"reachEnd(true)\"\n (slidenexttransitionend)=\"reachStart(false)\"\n (slideprevtransitionend)=\"reachEnd(false)\"\n (slidechange)=\"slideChanged()\">\n <swiper-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </swiper-slide>\n\n </swiper-container>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n", styles: [":host{display:inline-block;width:100%;position:relative}input.hidden{display:none}.slides-container{padding-inline-start:40px;padding-inline-end:40px}.slides-container .swiper-slide{font-size:16px!important}.slides-container.hidden{visibility:hidden;height:0!important}.button-prev,.button-next{position:absolute;top:calc(50% - 20px);z-index:10}.button-prev{left:0;right:auto}.button-next{left:auto;right:0}\n"] }]
|
|
285
285
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FormGroupDirective, decorators: [{
|
|
@@ -341,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
341
341
|
type: ViewChild,
|
|
342
342
|
args: ['nextButton']
|
|
343
343
|
}] } });
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwuc3dpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9zd2lwZS9tYXRlcmlhbC5zd2lwZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL21hdGVyaWFsLnN3aXBlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdMLE9BQU8sRUFBZ0UsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUloRSxPQUFPLEVBQXFCLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdkUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQUUzQyxNQUFNLHNCQUFzQixHQUFhO0lBQ3ZDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDNUMsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGFBQWE7SUE0RnhCLFlBQ1ksRUFBcUIsRUFDWCxZQUFnQztRQUQxQyxP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S0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO3VCQUFDLE9BQU87Z0JBRUQsUUFBUTtzQkFBcEIsS0FBSztnQkFXTyxLQUFLO3NCQUFqQixLQUFLO2dCQTBCVyxPQUFPO3NCQUF2QixNQUFNO3VCQUFDLE9BQU87Z0JBQ0MsT0FBTztzQkFBdEIsTUFBTTt1QkFBQyxNQUFNO2dCQUNHLE9BQU87c0JBQXZCLE1BQU07dUJBQUMsT0FBTztnQkFFUyxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2UsU0FBUztzQkFBN0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNWLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFByb3ZpZGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgbm9vcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc05pbCwgaXNOb3ROaWwsIGpvaW5Qcm9wZXJ0aWVzUGF0aCwgdG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IElucHV0RWxlbWVudCwgc2VsZWN0SW5wdXRDb250ZW50IH0gZnJvbSAnLi4vLi4vaW5wdXRzJztcbmltcG9ydCB7IEVxdWFsc0ZuLCBEaXNwbGF5Rm4gfSBmcm9tICcuLi8uLi9mb3JtL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGUsIE1hdEZvcm1GaWVsZEFwcGVhcmFuY2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7Zmlyc3ROb3ROaWxQcm9taXNlLCBmaXJzdFRydWVQcm9taXNlfSBmcm9tICcuLi8uLi9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2lzTW9iaWxlfSBmcm9tICcuLi8uLi9wbGF0Zm9ybXMnO1xuaW1wb3J0IHtTd2lwZXJ9IGZyb20gJ3N3aXBlci90eXBlcyc7XG5pbXBvcnQge0lvbmljU2xpZGVzfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmNvbnN0IERFRkFVTFRfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF0U3dpcGVGaWVsZCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtc3dpcGUtZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi9tYXRlcmlhbC5zd2lwZS5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC5zd2lwZS5odG1sJyxcbiAgcHJvdmlkZXJzOiBbREVGQVVMVF9WQUxVRV9BQ0NFU1NPUl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1hdFN3aXBlRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIElucHV0RWxlbWVudCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XG4gIHByaXZhdGUgX29uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIF9pdGVtc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF93cml0aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgX3RhYmluZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgX3N3aXBlcjogU3dpcGVyO1xuICBwcm90ZWN0ZWQgcHJldmlvdXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIG5leHREaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHNob3dTbGlkZXMgPSBmYWxzZTtcbiAgcHJvdGVjdGVkICRpdGVtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCAkbG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHN3aXBlck1vZHVsZXMgPSBbSW9uaWNTbGlkZXNdO1xuXG4gIEBJbnB1dCgpIGxvZ1ByZWZpeCA9ICdbbWF0LXN3aXBlLWZpZWxkXSc7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZTtcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgZGVidWcgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgZXF1YWxzOiBFcXVhbHNGbiB8IG51bGw7XG4gIEBJbnB1dCgpIGRpc3BsYXlXaXRoOiBEaXNwbGF5Rm4gfCBudWxsO1xuICBASW5wdXQoKSBkaXNwbGF5QXR0cmlidXRlczogc3RyaW5nW107XG4gIEBJbnB1dCgpIGFwcEF1dG9mb2N1czogYm9vbGVhbjtcbiAgQElucHV0KCdjbGFzcycpIGNsYXNzTGlzdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNldCB0YWJpbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX3RhYmluZGV4ICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fdGFiaW5kZXggPSB2YWx1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVUYWJJbmRleCgpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGFiaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdGFiaW5kZXg7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IE9ic2VydmFibGU8YW55W10+IHwgYW55W10pIHtcbiAgICAvLyBSZW1vdmUgcHJldmlvdXMgc3Vic2NyaXB0aW9uIG9uIGl0ZW1zLCAoaWYgZXhpdHMpXG4gICAgaWYgKHRoaXMuX2l0ZW1zU3Vic2NyaXB0aW9uKSB7XG4gICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5sb2dQcmVmaXh9IEl0ZW1zIHJlY2VpdmVkIHR3aWNlICFgKTtcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5yZW1vdmUodGhpcy5faXRlbXNTdWJzY3JpcHRpb24pO1xuICAgICAgdGhpcy5faXRlbXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSkge1xuICAgICAgdGhpcy5faXRlbXNTdWJzY3JpcHRpb24gPSB2YWx1ZS5zdWJzY3JpYmUodiA9PiB0aGlzLmxvYWRJdGVtcyh2KSk7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuX2l0ZW1zU3Vic2NyaXB0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLiRpdGVtcy5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMubG9hZEl0ZW1zKHZhbHVlIGFzIGFueVtdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgaXRlbXMoKTogT2JzZXJ2YWJsZTxhbnlbXT4gfCBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuJGl0ZW1zLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgaXRlbUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLiRpdGVtcy5nZXRWYWx1ZSgpIHx8IFtdKS5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCdjbGljaycpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoJ2JsdXInKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCdmb2N1cycpIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZmFrZUlucHV0JykgZmFrZUlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzd2lwZXInLCB7c3RhdGljOiB0cnVlfSkgc3dpcGVyUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdwcmV2QnV0dG9uJykgcHJldkJ1dHRvbjogTWF0QnV0dG9uO1xuICBAVmlld0NoaWxkKCduZXh0QnV0dG9uJykgbmV4dEJ1dHRvbjogTWF0QnV0dG9uO1xuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbC5lbmFibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cERpcjogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fc3dpcGVyID0gdGhpcy5zd2lwZXJSZWYubmF0aXZlRWxlbWVudC5zd2lwZXIgYXMgU3dpcGVyO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMuZm9ybUdyb3VwRGlyICYmIHRoaXMuZm9ybUdyb3VwRGlyLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgbWFuZGF0b3J5IGF0dHJpYnV0ZSBcXCdmb3JtQ29udHJvbFxcJyBvciBcXCdmb3JtQ29udHJvbE5hbWVcXCcgaW4gPG1hdC1zd2lwZS1maWVsZD4uJyk7XG5cbiAgICAvLyBEZWZhdWx0IHZhbHVlc1xuICAgIHRoaXMuZGlzcGxheUF0dHJpYnV0ZXMgPSB0aGlzLmRpc3BsYXlBdHRyaWJ1dGVzIHx8IFsnbGFiZWwnLCAnbmFtZSddO1xuICAgIHRoaXMuZGlzcGxheVdpdGggPSB0aGlzLmRpc3BsYXlXaXRoIHx8ICgob2JqKSA9PiBvYmogJiYgam9pblByb3BlcnRpZXNQYXRoKG9iaiwgdGhpcy5kaXNwbGF5QXR0cmlidXRlcykpO1xuICAgIHRoaXMuZXF1YWxzID0gdGhpcy5lcXVhbHMgfHwgKChvMTogYW55LCBvMjogYW55KSA9PiBvMSAmJiBvMiAmJiBvMS5pZCA9PT0gbzIuaWQpO1xuICAgIHRoaXMubW9iaWxlID0gaXNOb3ROaWwodGhpcy5tb2JpbGUpID8gdGhpcy5tb2JpbGUgOiBpc01vYmlsZSh3aW5kb3cpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4kaXRlbXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9vbkZvY3VzRmFrZUlucHV0KGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIC8vIEhpZGUgdGhlIGZha2UgaW5wdXRcbiAgICBpZiAodGhpcy5mYWtlSW5wdXQpIHtcbiAgICAgIHRoaXMuZmFrZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICB0aGlzLmZha2VJbnB1dC5uYXRpdmVFbGVtZW50LnRhYkluZGV4ID0gLTE7XG4gICAgfVxuXG4gICAgLy8gRm9jdXMgb24gZmlyc3QgYnV0dG9uXG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgLy8gc2hvdyBzbGlkZXMgY29tcG9uZW50XG4gICAgdGhpcy5zaG93U2xpZGVzID0gdHJ1ZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJldkJ1dHRvbikge1xuICAgICAgICB0aGlzLnByZXZCdXR0b24uZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlVGFiSW5kZXgoKTtcbiAgICB9KTtcblxuICAgIGlmIChpc05pbCh0aGlzLl92YWx1ZSkpIHtcbiAgICAgIC8vIFNsaWRlIHRvIGZpcnN0IGFuZCBhZmZlY3QgdmFsdWVcbiAgICAgIHRoaXMuc2xpZGVUbygwKTtcbiAgICAgIHRoaXMuc2xpZGVDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLCBiZWNhdXNlLCB0aGlzIGNvbXBvbmVudCBoYXMgYSB0ZW1wb3JhcnkgY29tcG9uZW50IGRpc3BsYXllZCBiZWZvcmUgdGhlIGZpcnN0IGZvY3VzIGV2ZW50XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRhYkluZGV4KCkge1xuICAgIGlmIChpc05pbCh0aGlzLl90YWJpbmRleCkgfHwgdGhpcy5fdGFiaW5kZXggPT09IC0xKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5mYWtlSW5wdXQpIHtcbiAgICAgIGlmICh0aGlzLnNob3dTbGlkZXMpIHtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IHRoaXMuX3RhYmluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wcmV2QnV0dG9uICYmIHRoaXMubmV4dEJ1dHRvbikge1xuICAgICAgdGhpcy5wcmV2QnV0dG9uLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSB0aGlzLnNob3dTbGlkZXMgPyB0aGlzLl90YWJpbmRleCA6IC0xO1xuICAgICAgdGhpcy5uZXh0QnV0dG9uLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSB0aGlzLnNob3dTbGlkZXMgPyB0aGlzLl90YWJpbmRleCArIDEgOiAtMTtcbiAgICB9XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93cml0aW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl93cml0aW5nID0gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuZXF1YWxzKHZhbHVlLCB0aGlzLl92YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnNob3dTbGlkZXMgPSBpc05vdE5pbCh0aGlzLl92YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVNsaWRlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVRhYkluZGV4KCkpO1xuICAgIH1cbiAgICB0aGlzLl93cml0aW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl93cml0aW5nID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gY2xlYXIgdmFsdWVgKTtcbiAgICB0aGlzLl92YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUobnVsbCwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICB0aGlzLnNob3dTbGlkZXMgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGFiSW5kZXgoKTtcbiAgICAgIHRoaXMuc2xpZGVUbygwKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl93cml0aW5nID0gZmFsc2U7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sobnVsbCk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU3dpcGVzKGlzRGlzYWJsZWQpO1xuICAgIHRoaXMudXBkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZWxlY3RJbnB1dENvbnRlbnQgPSBzZWxlY3RJbnB1dENvbnRlbnQ7XG5cblxuICBwcmV2aW91cygpIHtcbiAgICB0aGlzLl9zd2lwZXIuc2xpZGVQcmV2KCk7XG4gIH1cblxuICBuZXh0KCkge1xuICAgIHRoaXMuX3N3aXBlci5zbGlkZU5leHQoKTtcbiAgfVxuXG4gIHJlYWNoU3RhcnQocmVhY2hlZDogYm9vbGVhbikge1xuICAgIHRoaXMucHJldmlvdXNEaXNhYmxlZCA9IHJlYWNoZWQ7XG4gIH1cblxuICByZWFjaEVuZChyZWFjaGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5uZXh0RGlzYWJsZWQgPSByZWFjaGVkO1xuICB9XG5cbiAgc3dpcGVyTG9hZGVkKCkge1xuICAgIGNvbnNvbGUubG9nKCdUT0RPIHN3aXBlciBpbml0Jyk7XG4gICAgdGhpcy5fc3dpcGVyID0gdGhpcy5zd2lwZXJSZWYubmF0aXZlRWxlbWVudC5zd2lwZXI7XG4gICAgdGhpcy4kbG9hZGVkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBzbGlkZUNoYW5nZWQoKSB7XG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLl9zd2lwZXIuYWN0aXZlSW5kZXg7XG4gICAgaWYgKHRoaXMuX3dyaXRpbmcgfHwgaXNOaWwoYWN0aXZlSW5kZXgpKSByZXR1cm47XG5cbiAgICB0aGlzLl93cml0aW5nID0gdHJ1ZTtcbiAgICBjb25zdCB2YWx1ZSA9ICh0aGlzLiRpdGVtcy5nZXRWYWx1ZSgpIHx8IFtdKVthY3RpdmVJbmRleF0gfHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBzbGlkZSBjaGFuZ2VkIEFjdGl2ZUluZGV4OiR7YWN0aXZlSW5kZXh9LCBuZXcgdmFsdWU6JHt2YWx1ZX1gKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5fd3JpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2hlY2tJZlRvdWNoZWQoKTtcbiAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2QgLS0gKi9cblxuICBwcml2YXRlIGxvY2tTd2lwZXMobG9jazogYm9vbGVhbikge1xuICAgIHRoaXMuX3N3aXBlci5hbGxvd1NsaWRlTmV4dCA9ICFsb2NrO1xuICAgIHRoaXMuX3N3aXBlci5hbGxvd1NsaWRlUHJldiA9ICFsb2NrO1xuICAgIHRoaXMuX3N3aXBlci5hbGxvd1RvdWNoTW92ZSA9ICFsb2NrO1xuICAgIHRoaXMuX3N3aXBlci51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xuICAgIHRoaXMuJGxvYWRlZC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLiRpdGVtcy5uZXh0KGl0ZW1zKTtcbiAgICB0aGlzLnJlYWR5KCkudGhlbigoKSA9PiB0aGlzLl9zd2lwZXIudXBkYXRlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lmVG91Y2hlZCgpIHtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC50b3VjaGVkKSB7XG4gICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTbGlkZXMoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1NsaWRlcykge1xuICAgICAgY29uc3QgaXRlbUluZGV4ID0gKHRoaXMuJGl0ZW1zLmdldFZhbHVlKCkgfHwgW10pLmZpbmRJbmRleCh2YWx1ZSA9PiB0aGlzLmVxdWFscyh2YWx1ZSwgdGhpcy5fdmFsdWUpKTtcbiAgICAgIGlmIChpdGVtSW5kZXggPj0gMCkge1xuICAgICAgICB0aGlzLnNsaWRlVG8oaXRlbUluZGV4KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLmxvZ1ByZWZpeH0gSXRlbSBub3QgZm91bmRgLCB0aGlzLl92YWx1ZSk7XG4gICAgICAgIHRoaXMuc2xpZGVUbygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNsaWRlVG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX3N3aXBlci5zbGlkZVRvKGluZGV4LCAwLCBmYWxzZSk7XG4gICAgdGhpcy5fc3dpcGVyLnVwZGF0ZSgpO1xuICAgIHRoaXMudXBkYXRlQnV0dG9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCdXR0b25zKCkge1xuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5fc3dpcGVyLmFjdGl2ZUluZGV4O1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSB1cGRhdGUgYnV0dG9ucyBBY3RpdmVJbmRleDoke2FjdGl2ZUluZGV4fWApO1xuICAgIHRoaXMucHJldmlvdXNEaXNhYmxlZCA9IGFjdGl2ZUluZGV4ID09PSAwIHx8IHRoaXMuZGlzYWJsZWQ7XG4gICAgdGhpcy5uZXh0RGlzYWJsZWQgPSBhY3RpdmVJbmRleCA9PT0gdGhpcy5pdGVtQ291bnQgLSAxIHx8IHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuXG4gIC8vIG5vdCB1c2VkIC4uLlxuICBhc3luYyBnZXRTd2lwZXIoKTogUHJvbWlzZTxTd2lwZXI+IHtcbiAgICBhd2FpdCB0aGlzLnJlYWR5KCk7XG4gICAgcmV0dXJuIHRoaXMuX3N3aXBlcjtcbiAgfVxuXG4gIGFzeW5jIHJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFdhaXQgbG9hZGVkXG4gICAgaWYgKHRoaXMuJGxvYWRlZC5nZXRWYWx1ZSgpID09PSBmYWxzZSkge1xuICAgICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IHdhaXRpbmcgc2xpZGVzIHRvIGJlIHJlYWR5Li4uYCk7XG4gICAgICBhd2FpdCBmaXJzdFRydWVQcm9taXNlKHRoaXMuJGxvYWRlZCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJzaG93U2xpZGVzICYmICghZmxvYXRMYWJlbCB8fCBmbG9hdExhYmVsID09PSAnYXV0bycpID8gJ2Fsd2F5cyc6IGZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJjbGFzc0xpc3RcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwicGxhY2Vob2xkZXIgJiYgZmxvYXRMYWJlbCE9PSduZXZlcidcIj5cbiAgICB7e3BsYWNlaG9sZGVyfX1cbiAgPC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dCAjZmFrZUlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAoZm9jdXMpPVwiX29uRm9jdXNGYWtlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgW2NsYXNzLmNkay12aXN1YWxseS1oaWRkZW5dPVwic2hvd1NsaWRlc1wiXG4gICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIj5cblxuICA8ZGl2IGNsYXNzPVwic2xpZGVzLWNvbnRhaW5lclwiIFtjbGFzcy5oaWRkZW5dPVwiIXNob3dTbGlkZXNcIiA+XG4gICAgPHN3aXBlci1jb250YWluZXIgI3N3aXBlclxuICAgICAgICAgICAgICAgICAgICAgIFttb2R1bGVzXT1cInN3aXBlck1vZHVsZXNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzcGVlZF09XCIxMDBcIiBbc2xpZGVzUGVyVmlld109XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAoaW5pdCk9XCJzd2lwZXJMb2FkZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHJlYWNoYmVnaW5uaW5nKT1cInJlYWNoU3RhcnQodHJ1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChyZWFjaGVuZCk9XCJyZWFjaEVuZCh0cnVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHNsaWRlbmV4dHRyYW5zaXRpb25lbmQpPVwicmVhY2hTdGFydChmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChzbGlkZXByZXZ0cmFuc2l0aW9uZW5kKT1cInJlYWNoRW5kKGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHNsaWRlY2hhbmdlKT1cInNsaWRlQ2hhbmdlZCgpXCI+XG4gICAgICA8c3dpcGVyLXNsaWRlICpuZ0Zvcj1cImxldCBpdGVtIG9mICRpdGVtcyB8IGFzeW5jXCI+XG4gICAgICAgIDxpb24tbGFiZWw+e3sgZGlzcGxheVdpdGgoaXRlbSkgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwvc3dpcGVyLXNsaWRlPlxuXG4gICAgPC9zd2lwZXItY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8YnV0dG9uICNwcmV2QnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24tcHJldlwiXG4gICAgICAgICAgW2hpZGRlbl09XCIhc2hvd1NsaWRlc1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByZXZpb3VzRGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJwcmV2aW91cygpXCI+XG4gICAgPG1hdC1pY29uPmNoZXZyb25fbGVmdDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uICNuZXh0QnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24tbmV4dFwiXG4gICAgICAgICAgW2hpZGRlbl09XCIhc2hvd1NsaWRlc1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm5leHREaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm5leHQoKVwiPlxuICAgIDxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiY2xlYXJhYmxlXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICBbaGlkZGVuXT1cImRpc2FibGVkIHx8ICFmb3JtQ29udHJvbC52YWx1ZVwiPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2wuaGFzRXJyb3IoJ2VudGl0eScpXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX0lOVkFMSUQ8L21hdC1lcnJvcj5cblxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwuc3dpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9zd2lwZS9tYXRlcmlhbC5zd2lwZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL21hdGVyaWFsLnN3aXBlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdMLE9BQU8sRUFBZ0UsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUloRSxPQUFPLEVBQXFCLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdkUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQUUzQyxNQUFNLHNCQUFzQixHQUFhO0lBQ3ZDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDNUMsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGFBQWE7SUE0RnhCLFlBQ1ksRUFBcUIsRUFDWCxZQUFnQztRQUQxQyxP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S0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO3VCQUFDLE9BQU87Z0JBRUQsUUFBUTtzQkFBcEIsS0FBSztnQkFXTyxLQUFLO3NCQUFqQixLQUFLO2dCQTBCVyxPQUFPO3NCQUF2QixNQUFNO3VCQUFDLE9BQU87Z0JBQ0MsT0FBTztzQkFBdEIsTUFBTTt1QkFBQyxNQUFNO2dCQUNHLE9BQU87c0JBQXZCLE1BQU07dUJBQUMsT0FBTztnQkFFUyxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2UsU0FBUztzQkFBN0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNWLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFByb3ZpZGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGlzT2JzZXJ2YWJsZSwgbm9vcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc05pbCwgaXNOb3ROaWwsIGpvaW5Qcm9wZXJ0aWVzUGF0aCwgdG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7IElucHV0RWxlbWVudCwgc2VsZWN0SW5wdXRDb250ZW50IH0gZnJvbSAnLi4vLi4vaW5wdXRzJztcbmltcG9ydCB7IEVxdWFsc0ZuLCBEaXNwbGF5Rm4gfSBmcm9tICcuLi8uLi9mb3JtL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGUsIE1hdEZvcm1GaWVsZEFwcGVhcmFuY2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7Zmlyc3ROb3ROaWxQcm9taXNlLCBmaXJzdFRydWVQcm9taXNlfSBmcm9tICcuLi8uLi9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2lzTW9iaWxlfSBmcm9tICcuLi8uLi9wbGF0Zm9ybXMnO1xuaW1wb3J0IHtTd2lwZXJ9IGZyb20gJ3N3aXBlci90eXBlcyc7XG5pbXBvcnQge0lvbmljU2xpZGVzfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmNvbnN0IERFRkFVTFRfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF0U3dpcGVGaWVsZCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtc3dpcGUtZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi9tYXRlcmlhbC5zd2lwZS5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC5zd2lwZS5odG1sJyxcbiAgcHJvdmlkZXJzOiBbREVGQVVMVF9WQUxVRV9BQ0NFU1NPUl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1hdFN3aXBlRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIElucHV0RWxlbWVudCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XG4gIHByaXZhdGUgX29uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIF9pdGVtc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF93cml0aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgX3RhYmluZGV4OiBudW1iZXI7XG4gIHByaXZhdGUgX3N3aXBlcjogU3dpcGVyO1xuICBwcm90ZWN0ZWQgcHJldmlvdXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIG5leHREaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHNob3dTbGlkZXMgPSBmYWxzZTtcbiAgcHJvdGVjdGVkICRpdGVtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCAkbG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHN3aXBlck1vZHVsZXMgPSBbSW9uaWNTbGlkZXNdO1xuXG4gIEBJbnB1dCgpIGxvZ1ByZWZpeCA9ICdbbWF0LXN3aXBlLWZpZWxkXSc7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZTtcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgZGVidWcgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgZXF1YWxzOiBFcXVhbHNGbiB8IG51bGw7XG4gIEBJbnB1dCgpIGRpc3BsYXlXaXRoOiBEaXNwbGF5Rm4gfCBudWxsO1xuICBASW5wdXQoKSBkaXNwbGF5QXR0cmlidXRlczogc3RyaW5nW107XG4gIEBJbnB1dCgpIGFwcEF1dG9mb2N1czogYm9vbGVhbjtcbiAgQElucHV0KCdjbGFzcycpIGNsYXNzTGlzdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNldCB0YWJpbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX3RhYmluZGV4ICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fdGFiaW5kZXggPSB2YWx1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVUYWJJbmRleCgpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGFiaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdGFiaW5kZXg7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IE9ic2VydmFibGU8YW55W10+IHwgYW55W10pIHtcbiAgICAvLyBSZW1vdmUgcHJldmlvdXMgc3Vic2NyaXB0aW9uIG9uIGl0ZW1zLCAoaWYgZXhpdHMpXG4gICAgaWYgKHRoaXMuX2l0ZW1zU3Vic2NyaXB0aW9uKSB7XG4gICAgICBjb25zb2xlLndhcm4oYCR7dGhpcy5sb2dQcmVmaXh9IEl0ZW1zIHJlY2VpdmVkIHR3aWNlICFgKTtcbiAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5yZW1vdmUodGhpcy5faXRlbXNTdWJzY3JpcHRpb24pO1xuICAgICAgdGhpcy5faXRlbXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSkge1xuICAgICAgdGhpcy5faXRlbXNTdWJzY3JpcHRpb24gPSB2YWx1ZS5zdWJzY3JpYmUodiA9PiB0aGlzLmxvYWRJdGVtcyh2KSk7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHRoaXMuX2l0ZW1zU3Vic2NyaXB0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLiRpdGVtcy5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMubG9hZEl0ZW1zKHZhbHVlIGFzIGFueVtdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgaXRlbXMoKTogT2JzZXJ2YWJsZTxhbnlbXT4gfCBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuJGl0ZW1zLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgaXRlbUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLiRpdGVtcy5nZXRWYWx1ZSgpIHx8IFtdKS5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCdjbGljaycpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoJ2JsdXInKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCdmb2N1cycpIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZmFrZUlucHV0JykgZmFrZUlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzd2lwZXInLCB7c3RhdGljOiB0cnVlfSkgc3dpcGVyUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdwcmV2QnV0dG9uJykgcHJldkJ1dHRvbjogTWF0QnV0dG9uO1xuICBAVmlld0NoaWxkKCduZXh0QnV0dG9uJykgbmV4dEJ1dHRvbjogTWF0QnV0dG9uO1xuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbC5lbmFibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cERpcjogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fc3dpcGVyID0gdGhpcy5zd2lwZXJSZWYubmF0aXZlRWxlbWVudC5zd2lwZXIgYXMgU3dpcGVyO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMuZm9ybUdyb3VwRGlyICYmIHRoaXMuZm9ybUdyb3VwRGlyLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgbWFuZGF0b3J5IGF0dHJpYnV0ZSBcXCdmb3JtQ29udHJvbFxcJyBvciBcXCdmb3JtQ29udHJvbE5hbWVcXCcgaW4gPG1hdC1zd2lwZS1maWVsZD4uJyk7XG5cbiAgICAvLyBEZWZhdWx0IHZhbHVlc1xuICAgIHRoaXMuZGlzcGxheUF0dHJpYnV0ZXMgPSB0aGlzLmRpc3BsYXlBdHRyaWJ1dGVzIHx8IFsnbGFiZWwnLCAnbmFtZSddO1xuICAgIHRoaXMuZGlzcGxheVdpdGggPSB0aGlzLmRpc3BsYXlXaXRoIHx8ICgob2JqKSA9PiBvYmogJiYgam9pblByb3BlcnRpZXNQYXRoKG9iaiwgdGhpcy5kaXNwbGF5QXR0cmlidXRlcykpO1xuICAgIHRoaXMuZXF1YWxzID0gdGhpcy5lcXVhbHMgfHwgKChvMTogYW55LCBvMjogYW55KSA9PiBvMSAmJiBvMiAmJiBvMS5pZCA9PT0gbzIuaWQpO1xuICAgIHRoaXMubW9iaWxlID0gaXNOb3ROaWwodGhpcy5tb2JpbGUpID8gdGhpcy5tb2JpbGUgOiBpc01vYmlsZSh3aW5kb3cpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4kaXRlbXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9vbkZvY3VzRmFrZUlucHV0KGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIC8vIEhpZGUgdGhlIGZha2UgaW5wdXRcbiAgICBpZiAodGhpcy5mYWtlSW5wdXQpIHtcbiAgICAgIHRoaXMuZmFrZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICB0aGlzLmZha2VJbnB1dC5uYXRpdmVFbGVtZW50LnRhYkluZGV4ID0gLTE7XG4gICAgfVxuXG4gICAgLy8gRm9jdXMgb24gZmlyc3QgYnV0dG9uXG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgLy8gc2hvdyBzbGlkZXMgY29tcG9uZW50XG4gICAgdGhpcy5zaG93U2xpZGVzID0gdHJ1ZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJldkJ1dHRvbikge1xuICAgICAgICB0aGlzLnByZXZCdXR0b24uZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlVGFiSW5kZXgoKTtcbiAgICB9KTtcblxuICAgIGlmIChpc05pbCh0aGlzLl92YWx1ZSkpIHtcbiAgICAgIC8vIFNsaWRlIHRvIGZpcnN0IGFuZCBhZmZlY3QgdmFsdWVcbiAgICAgIHRoaXMuc2xpZGVUbygwKTtcbiAgICAgIHRoaXMuc2xpZGVDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLCBiZWNhdXNlLCB0aGlzIGNvbXBvbmVudCBoYXMgYSB0ZW1wb3JhcnkgY29tcG9uZW50IGRpc3BsYXllZCBiZWZvcmUgdGhlIGZpcnN0IGZvY3VzIGV2ZW50XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRhYkluZGV4KCkge1xuICAgIGlmIChpc05pbCh0aGlzLl90YWJpbmRleCkgfHwgdGhpcy5fdGFiaW5kZXggPT09IC0xKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5mYWtlSW5wdXQpIHtcbiAgICAgIGlmICh0aGlzLnNob3dTbGlkZXMpIHtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5mYWtlSW5wdXQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IHRoaXMuX3RhYmluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wcmV2QnV0dG9uICYmIHRoaXMubmV4dEJ1dHRvbikge1xuICAgICAgdGhpcy5wcmV2QnV0dG9uLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSB0aGlzLnNob3dTbGlkZXMgPyB0aGlzLl90YWJpbmRleCA6IC0xO1xuICAgICAgdGhpcy5uZXh0QnV0dG9uLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSB0aGlzLnNob3dTbGlkZXMgPyB0aGlzLl90YWJpbmRleCArIDEgOiAtMTtcbiAgICB9XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93cml0aW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl93cml0aW5nID0gdHJ1ZTtcbiAgICBpZiAoIXRoaXMuZXF1YWxzKHZhbHVlLCB0aGlzLl92YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnNob3dTbGlkZXMgPSBpc05vdE5pbCh0aGlzLl92YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVNsaWRlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVRhYkluZGV4KCkpO1xuICAgIH1cbiAgICB0aGlzLl93cml0aW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl93cml0aW5nID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gY2xlYXIgdmFsdWVgKTtcbiAgICB0aGlzLl92YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUobnVsbCwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICB0aGlzLnNob3dTbGlkZXMgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGFiSW5kZXgoKTtcbiAgICAgIHRoaXMuc2xpZGVUbygwKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl93cml0aW5nID0gZmFsc2U7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sobnVsbCk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU3dpcGVzKGlzRGlzYWJsZWQpO1xuICAgIHRoaXMudXBkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZWxlY3RJbnB1dENvbnRlbnQgPSBzZWxlY3RJbnB1dENvbnRlbnQ7XG5cblxuICBwcmV2aW91cygpIHtcbiAgICB0aGlzLl9zd2lwZXIuc2xpZGVQcmV2KCk7XG4gIH1cblxuICBuZXh0KCkge1xuICAgIHRoaXMuX3N3aXBlci5zbGlkZU5leHQoKTtcbiAgfVxuXG4gIHJlYWNoU3RhcnQocmVhY2hlZDogYm9vbGVhbikge1xuICAgIHRoaXMucHJldmlvdXNEaXNhYmxlZCA9IHJlYWNoZWQ7XG4gIH1cblxuICByZWFjaEVuZChyZWFjaGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5uZXh0RGlzYWJsZWQgPSByZWFjaGVkO1xuICB9XG5cbiAgc3dpcGVyTG9hZGVkKCkge1xuICAgIGNvbnNvbGUubG9nKCdUT0RPIHN3aXBlciBpbml0Jyk7XG4gICAgdGhpcy5fc3dpcGVyID0gdGhpcy5zd2lwZXJSZWYubmF0aXZlRWxlbWVudC5zd2lwZXI7XG4gICAgdGhpcy4kbG9hZGVkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBzbGlkZUNoYW5nZWQoKSB7XG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSB0aGlzLl9zd2lwZXIuYWN0aXZlSW5kZXg7XG4gICAgaWYgKHRoaXMuX3dyaXRpbmcgfHwgaXNOaWwoYWN0aXZlSW5kZXgpKSByZXR1cm47XG5cbiAgICB0aGlzLl93cml0aW5nID0gdHJ1ZTtcbiAgICBjb25zdCB2YWx1ZSA9ICh0aGlzLiRpdGVtcy5nZXRWYWx1ZSgpIHx8IFtdKVthY3RpdmVJbmRleF0gfHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBzbGlkZSBjaGFuZ2VkIEFjdGl2ZUluZGV4OiR7YWN0aXZlSW5kZXh9LCBuZXcgdmFsdWU6JHt2YWx1ZX1gKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5fd3JpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2hlY2tJZlRvdWNoZWQoKTtcbiAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2QgLS0gKi9cblxuICBwcml2YXRlIGxvY2tTd2lwZXMobG9jazogYm9vbGVhbikge1xuICAgIHRoaXMuX3N3aXBlci5hbGxvd1NsaWRlTmV4dCA9ICFsb2NrO1xuICAgIHRoaXMuX3N3aXBlci5hbGxvd1NsaWRlUHJldiA9ICFsb2NrO1xuICAgIHRoaXMuX3N3aXBlci5hbGxvd1RvdWNoTW92ZSA9ICFsb2NrO1xuICAgIHRoaXMuX3N3aXBlci51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEl0ZW1zKGl0ZW1zOiBhbnlbXSkge1xuICAgIHRoaXMuJGxvYWRlZC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLiRpdGVtcy5uZXh0KGl0ZW1zKTtcbiAgICB0aGlzLnJlYWR5KCkudGhlbigoKSA9PiB0aGlzLl9zd2lwZXIudXBkYXRlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lmVG91Y2hlZCgpIHtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC50b3VjaGVkKSB7XG4gICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTbGlkZXMoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1NsaWRlcykge1xuICAgICAgY29uc3QgaXRlbUluZGV4ID0gKHRoaXMuJGl0ZW1zLmdldFZhbHVlKCkgfHwgW10pLmZpbmRJbmRleCh2YWx1ZSA9PiB0aGlzLmVxdWFscyh2YWx1ZSwgdGhpcy5fdmFsdWUpKTtcbiAgICAgIGlmIChpdGVtSW5kZXggPj0gMCkge1xuICAgICAgICB0aGlzLnNsaWRlVG8oaXRlbUluZGV4KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLmxvZ1ByZWZpeH0gSXRlbSBub3QgZm91bmRgLCB0aGlzLl92YWx1ZSk7XG4gICAgICAgIHRoaXMuc2xpZGVUbygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNsaWRlVG8oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX3N3aXBlci5zbGlkZVRvKGluZGV4LCAwLCBmYWxzZSk7XG4gICAgdGhpcy5fc3dpcGVyLnVwZGF0ZSgpO1xuICAgIHRoaXMudXBkYXRlQnV0dG9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCdXR0b25zKCkge1xuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5fc3dpcGVyLmFjdGl2ZUluZGV4O1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSB1cGRhdGUgYnV0dG9ucyBBY3RpdmVJbmRleDoke2FjdGl2ZUluZGV4fWApO1xuICAgIHRoaXMucHJldmlvdXNEaXNhYmxlZCA9IGFjdGl2ZUluZGV4ID09PSAwIHx8IHRoaXMuZGlzYWJsZWQ7XG4gICAgdGhpcy5uZXh0RGlzYWJsZWQgPSBhY3RpdmVJbmRleCA9PT0gdGhpcy5pdGVtQ291bnQgLSAxIHx8IHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuXG4gIC8vIG5vdCB1c2VkIC4uLlxuICBhc3luYyBnZXRTd2lwZXIoKTogUHJvbWlzZTxTd2lwZXI+IHtcbiAgICBhd2FpdCB0aGlzLnJlYWR5KCk7XG4gICAgcmV0dXJuIHRoaXMuX3N3aXBlcjtcbiAgfVxuXG4gIGFzeW5jIHJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFdhaXQgbG9hZGVkXG4gICAgaWYgKHRoaXMuJGxvYWRlZC5nZXRWYWx1ZSgpID09PSBmYWxzZSkge1xuICAgICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IHdhaXRpbmcgc2xpZGVzIHRvIGJlIHJlYWR5Li4uYCk7XG4gICAgICBhd2FpdCBmaXJzdFRydWVQcm9taXNlKHRoaXMuJGxvYWRlZCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJzaG93U2xpZGVzICYmICghZmxvYXRMYWJlbCB8fCBmbG9hdExhYmVsID09PSAnYXV0bycpID8gJ2Fsd2F5cyc6IGZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJjbGFzc0xpc3RcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwicGxhY2Vob2xkZXIgJiYgZmxvYXRMYWJlbCE9PSduZXZlcidcIj5cbiAgICB7e3BsYWNlaG9sZGVyfX1cbiAgPC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dCAjZmFrZUlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAoZm9jdXMpPVwiX29uRm9jdXNGYWtlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgW2NsYXNzLmNkay12aXN1YWxseS1oaWRkZW5dPVwic2hvd1NsaWRlc1wiXG4gICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIj5cblxuICA8ZGl2IGNsYXNzPVwic2xpZGVzLWNvbnRhaW5lclwiIFtjbGFzcy5oaWRkZW5dPVwiIXNob3dTbGlkZXNcIiA+XG4gICAgPHN3aXBlci1jb250YWluZXIgI3N3aXBlclxuICAgICAgICAgICAgICAgICAgICAgIFttb2R1bGVzXT1cInN3aXBlck1vZHVsZXNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzcGVlZF09XCIxMDBcIiBbc2xpZGVzUGVyVmlld109XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAoaW5pdCk9XCJzd2lwZXJMb2FkZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHJlYWNoYmVnaW5uaW5nKT1cInJlYWNoU3RhcnQodHJ1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChyZWFjaGVuZCk9XCJyZWFjaEVuZCh0cnVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHNsaWRlbmV4dHRyYW5zaXRpb25lbmQpPVwicmVhY2hTdGFydChmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChzbGlkZXByZXZ0cmFuc2l0aW9uZW5kKT1cInJlYWNoRW5kKGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKHNsaWRlY2hhbmdlKT1cInNsaWRlQ2hhbmdlZCgpXCI+XG4gICAgICA8c3dpcGVyLXNsaWRlICpuZ0Zvcj1cImxldCBpdGVtIG9mICRpdGVtcyB8IGFzeW5jXCI+XG4gICAgICAgIDxpb24tbGFiZWw+e3sgZGlzcGxheVdpdGgoaXRlbSkgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwvc3dpcGVyLXNsaWRlPlxuXG4gICAgPC9zd2lwZXItY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8YnV0dG9uICNwcmV2QnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24tcHJldlwiXG4gICAgICAgICAgW2hpZGRlbl09XCIhc2hvd1NsaWRlc1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInByZXZpb3VzRGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJwcmV2aW91cygpXCI+XG4gICAgPG1hdC1pY29uPmNoZXZyb25fbGVmdDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uICNuZXh0QnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24tbmV4dFwiXG4gICAgICAgICAgW2hpZGRlbl09XCIhc2hvd1NsaWRlc1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm5leHREaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm5leHQoKVwiPlxuICAgIDxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiY2xlYXJhYmxlXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICBbaGlkZGVuXT1cImRpc2FibGVkIHx8ICFmb3JtQ29udHJvbC52YWx1ZVwiPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2wuaGFzRXJyb3IoJ2VudGl0eScpXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX0lOVkFMSUQ8L21hdC1lcnJvcj5cblxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -12,14 +12,14 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
import * as i1 from "@ngx-translate/core";
|
|
13
13
|
export class SharedMatSwipeModule {
|
|
14
14
|
}
|
|
15
|
-
SharedMatSwipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
16
|
-
SharedMatSwipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
15
|
+
SharedMatSwipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SharedMatSwipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
SharedMatSwipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SharedMatSwipeModule, declarations: [MatSwipeField], imports: [CommonModule,
|
|
17
17
|
IonicModule,
|
|
18
18
|
MatButtonModule,
|
|
19
19
|
MatIconModule, i1.TranslateModule, MatFormFieldModule,
|
|
20
20
|
ReactiveFormsModule,
|
|
21
21
|
MatInputModule], exports: [MatSwipeField] });
|
|
22
|
-
SharedMatSwipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
22
|
+
SharedMatSwipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SharedMatSwipeModule, imports: [CommonModule,
|
|
23
23
|
IonicModule,
|
|
24
24
|
MatButtonModule,
|
|
25
25
|
MatIconModule,
|
|
@@ -27,7 +27,7 @@ SharedMatSwipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
27
27
|
MatFormFieldModule,
|
|
28
28
|
ReactiveFormsModule,
|
|
29
29
|
MatInputModule] });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SharedMatSwipeModule, decorators: [{
|
|
31
31
|
type: NgModule,
|
|
32
32
|
args: [{
|
|
33
33
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
49
49
|
]
|
|
50
50
|
}]
|
|
51
51
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvc3dpcGUvc3dpcGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFxQnZELE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFIN0IsYUFBYSxhQWJiLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLGFBQWEsc0JBRWIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixjQUFjLGFBR2QsYUFBYTtrSEFNSixvQkFBb0IsWUFoQjdCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLGFBQWE7UUFDYixlQUFlLENBQUMsUUFBUSxFQUFFO1FBQzFCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsY0FBYzsyRkFTTCxvQkFBb0I7a0JBbkJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTtxQkFDZDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01hdFN3aXBlRmllbGR9IGZyb20gJy4vbWF0ZXJpYWwuc3dpcGUnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbkBOZ01vZHVsZSh7XG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hdFN3aXBlRmllbGRcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWF0U3dpcGVGaWVsZFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE1hdFN3aXBlTW9kdWxlIHtcbn1cblxuIl19
|
|
@@ -55,10 +55,10 @@ export class SwipeTestPage {
|
|
|
55
55
|
return (d1, d2) => d1 && d2 && d1.isSame(d2) || false;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
SwipeTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
59
|
-
SwipeTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
58
|
+
SwipeTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwipeTestPage, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.DateFormatService }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
SwipeTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SwipeTestPage, selector: "app-swipe-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Swipe test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <h1>Swipe page:</h1>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <ion-grid>\n\n <ion-row>\n <!-- empty -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Empty\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"empty\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [tabindex]=\"1\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- date -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Date\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"date\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [clearable]=\"true\"\n [tabindex]=\"2\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <!-- disable -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled empty\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"disabledEmpty\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [clearable]=\"true\"\n [tabindex]=\"3\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n<!-- read-only-->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled with date\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"disabledDate\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [clearable]=\"true\"\n [tabindex]=\"4\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n </ion-row>\n\n </ion-grid>\n\n </form>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i3.IonBackButton, selector: "ion-back-button", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"] }, { kind: "component", type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i3.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i3.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonRow, selector: "ion-row" }, { kind: "component", type: i3.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i3.IonBackButtonDelegate, selector: "ion-back-button", inputs: ["defaultHref", "routerAnimation"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatSwipeField, selector: "mat-swipe-field", inputs: ["logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "placeholder", "debug", "required", "mobile", "clearable", "equals", "displayWith", "displayAttributes", "appAutofocus", "class", "tabindex", "items"], outputs: ["click", "blur", "focus"] }] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SwipeTestPage, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ selector: 'app-swipe-test', template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Swipe test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <h1>Swipe page:</h1>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <ion-grid>\n\n <ion-row>\n <!-- empty -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Empty\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"empty\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [tabindex]=\"1\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- date -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Date\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"date\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [clearable]=\"true\"\n [tabindex]=\"2\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <!-- disable -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled empty\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"disabledEmpty\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [clearable]=\"true\"\n [tabindex]=\"3\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n<!-- read-only-->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled with date\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-swipe-field formControlName=\"disabledDate\"\n placeholder=\"placeholder\"\n [items]=\"$dates\"\n [displayWith]=\"displayDate()\"\n [equals]=\"compareDate()\"\n [clearable]=\"true\"\n [tabindex]=\"4\"\n [debug]=\"true\"\n >\n </mat-swipe-field>\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n </ion-row>\n\n </ion-grid>\n\n </form>\n\n</ion-content>\n" }]
|
|
63
63
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.DateFormatService }]; } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL3Rlc3Rpbmcvc3dpcGUudGVzdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL3Rlc3Rpbmcvc3dpcGUudGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUF1QyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXJDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTXpDLE1BQU0sT0FBTyxhQUFhO0lBT3hCLFlBQ1ksV0FBK0IsRUFDL0IsVUFBNkI7UUFEN0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBTHpDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1qRCxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbkYsYUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUMsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFMUMsQ0FBQztJQUVELFFBQVE7UUFFTixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUd4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsMENBQTBDO1FBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekIsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxHQUFHO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakIsYUFBYSxFQUFFLElBQUk7WUFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQzFCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCw2QkFBNkI7SUFFN0IsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDeEUsQ0FBQzs7MkdBaEVVLGFBQWE7K0ZBQWIsYUFBYSxzRENkMUIsMGdJQWdJQTs0RkRsSGEsYUFBYTtrQkFKekIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1NoYXJlZFZhbGlkYXRvcnN9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEYXRlRm9ybWF0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XG5pbXBvcnQge0Rpc3BsYXlGbn0gZnJvbSAnLi4vLi4vLi4vZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVVdGlsc30gZnJvbSAnLi4vLi4vLi4vZGF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3dpcGUtdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2lwZS50ZXN0Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN3aXBlVGVzdFBhZ2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgJGRhdGVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNb21lbnRbXT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfdG9kYXkgPSBEYXRlVXRpbHMubW9tZW50KCkuc3RhcnRPZignZGF5Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGRhdGVGb3JtYXQ6IERhdGVGb3JtYXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGVtcHR5OiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBkYXRlOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBTaGFyZWRWYWxpZGF0b3JzLnZhbGlkRGF0ZV0pXSxcbiAgICAgIGRpc2FibGVkRW1wdHk6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGRpc2FibGVkRGF0ZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm0uZ2V0KCdkaXNhYmxlZEVtcHR5JykuZGlzYWJsZSgpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2Rpc2FibGVkRGF0ZScpLmRpc2FibGUoKTtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICBjb25zdCBkYXRlczogTW9tZW50W10gPSBbXTtcbiAgICBmb3IgKGxldCBkID0gMDsgZCA8IDc7IGQrKykge1xuICAgICAgZGF0ZXNbZF0gPSBEYXRlVXRpbHMubW9tZW50KHRoaXMuX3RvZGF5KS5hZGQoZC0zLCAnZGF5Jyk7XG4gICAgfVxuICAgIHRoaXMuJGRhdGVzLm5leHQoZGF0ZXMpO1xuXG5cbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgLy9zZXRUaW1lb3V0KCgpID0+IHRoaXMubG9hZERhdGEoKSwgMTUwMCk7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gY29uc29sZS5kZWJ1Zyh0aGlzLmZvcm0udmFsdWUpKTtcbiAgfVxuXG4gIC8vIExvYWQgdGhlIGZvcm0gd2l0aCBkYXRhXG4gIGFzeW5jIGxvYWREYXRhKCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBlbXB0eTogbnVsbCxcbiAgICAgIGRhdGU6IHRoaXMuX3RvZGF5LFxuICAgICAgZGlzYWJsZWRFbXB0eTogbnVsbCxcbiAgICAgIGRpc2FibGVkRGF0ZTogdGhpcy5fdG9kYXlcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoZGF0YSk7XG4gIH1cblxuICBkb1N1Ym1pdChldmVudD86IEV2ZW50KSB7XG4gICAgY29uc29sZS5kZWJ1ZygnVmFsaWRhdGUgZm9ybTogJywgdGhpcy5mb3JtLnZhbHVlKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgZGlzcGxheURhdGUoKTogRGlzcGxheUZuIHtcbiAgICByZXR1cm4gKG9iajogYW55KSA9PiB0aGlzLmRhdGVGb3JtYXQudHJhbnNmb3JtKG9iaiwge3BhdHRlcm46ICdkZGRkIEwnfSkudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGNvbXBhcmVEYXRlKCkge1xuICAgIHJldHVybiAoZDE6IE1vbWVudCwgZDI6IE1vbWVudCkgPT4gZDEgJiYgZDIgJiYgZDEuaXNTYW1lKGQyKSB8fCBmYWxzZTtcbiAgfVxufVxuXG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1iYWNrLWJ1dHRvbj48L2lvbi1iYWNrLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgPGlvbi10aXRsZT5Td2lwZSB0ZXN0IHBhZ2U8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICA8aDE+U3dpcGUgcGFnZTo8L2gxPlxuXG4gIDxmb3JtIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwiZG9TdWJtaXQoJGV2ZW50KVwiPlxuXG4gICAgPGlvbi1ncmlkPlxuXG4gICAgICA8aW9uLXJvdz5cbiAgICAgICAgPCEtLSBlbXB0eSAtLT5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jYXJkPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICBFbXB0eVxuICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgPG1hdC1zd2lwZS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJlbXB0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIiRkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlEYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcXVhbHNdPVwiY29tcGFyZURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L21hdC1zd2lwZS1maWVsZD5cbiAgICAgICAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgICA8L2lvbi1jb2w+XG5cbiAgICAgICAgPCEtLSBkYXRlIC0tPlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8aW9uLWNhcmQ+XG4gICAgICAgICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIERhdGVcbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDxtYXQtc3dpcGUtZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIiRkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlEYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcXVhbHNdPVwiY29tcGFyZURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvbWF0LXN3aXBlLWZpZWxkPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDwhLS0gZGlzYWJsZSAtLT5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jYXJkPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICBEaXNhYmxlZCBlbXB0eVxuICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgPG1hdC1zd2lwZS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJkaXNhYmxlZEVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiJGRhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VxdWFsc109XCJjb21wYXJlRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWddPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9tYXQtc3dpcGUtZmllbGQ+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24tY2FyZD5cbiAgICAgICAgPC9pb24tY29sPlxuXG48IS0tICAgICAgICAgcmVhZC1vbmx5LS0+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tY2FyZD5cbiAgICAgICAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxpb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgRGlzYWJsZWQgd2l0aCBkYXRlXG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICA8bWF0LXN3aXBlLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cImRpc2FibGVkRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIiRkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlEYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcXVhbHNdPVwiY29tcGFyZURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvbWF0LXN3aXBlLWZpZWxkPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgPC9pb24tcm93PlxuXG4gICAgPC9pb24tZ3JpZD5cblxuICA8L2Zvcm0+XG5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL3Rlc3Rpbmcvc3dpcGUudGVzdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL3N3aXBlL3Rlc3Rpbmcvc3dpcGUudGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUF1QyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXJDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTXpDLE1BQU0sT0FBTyxhQUFhO0lBT3hCLFlBQ1ksV0FBK0IsRUFDL0IsVUFBNkI7UUFEN0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBTHpDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1qRCxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbkYsYUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUMsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFMUMsQ0FBQztJQUVELFFBQVE7UUFFTixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUd4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsMENBQTBDO1FBRTFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekIsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxHQUFHO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakIsYUFBYSxFQUFFLElBQUk7WUFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQzFCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCw2QkFBNkI7SUFFN0IsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDeEUsQ0FBQzs7MEdBaEVVLGFBQWE7OEZBQWIsYUFBYSxzRENkMUIsMGdJQWdJQTsyRkRsSGEsYUFBYTtrQkFKekIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1NoYXJlZFZhbGlkYXRvcnN9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEYXRlRm9ybWF0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XG5pbXBvcnQge0Rpc3BsYXlGbn0gZnJvbSAnLi4vLi4vLi4vZm9ybS9maWVsZC5tb2RlbCc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVVdGlsc30gZnJvbSAnLi4vLi4vLi4vZGF0ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3dpcGUtdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2lwZS50ZXN0Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN3aXBlVGVzdFBhZ2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgJGRhdGVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNb21lbnRbXT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfdG9kYXkgPSBEYXRlVXRpbHMubW9tZW50KCkuc3RhcnRPZignZGF5Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGRhdGVGb3JtYXQ6IERhdGVGb3JtYXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGVtcHR5OiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBkYXRlOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBTaGFyZWRWYWxpZGF0b3JzLnZhbGlkRGF0ZV0pXSxcbiAgICAgIGRpc2FibGVkRW1wdHk6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGRpc2FibGVkRGF0ZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm0uZ2V0KCdkaXNhYmxlZEVtcHR5JykuZGlzYWJsZSgpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2Rpc2FibGVkRGF0ZScpLmRpc2FibGUoKTtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICBjb25zdCBkYXRlczogTW9tZW50W10gPSBbXTtcbiAgICBmb3IgKGxldCBkID0gMDsgZCA8IDc7IGQrKykge1xuICAgICAgZGF0ZXNbZF0gPSBEYXRlVXRpbHMubW9tZW50KHRoaXMuX3RvZGF5KS5hZGQoZC0zLCAnZGF5Jyk7XG4gICAgfVxuICAgIHRoaXMuJGRhdGVzLm5leHQoZGF0ZXMpO1xuXG5cbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgLy9zZXRUaW1lb3V0KCgpID0+IHRoaXMubG9hZERhdGEoKSwgMTUwMCk7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gY29uc29sZS5kZWJ1Zyh0aGlzLmZvcm0udmFsdWUpKTtcbiAgfVxuXG4gIC8vIExvYWQgdGhlIGZvcm0gd2l0aCBkYXRhXG4gIGFzeW5jIGxvYWREYXRhKCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBlbXB0eTogbnVsbCxcbiAgICAgIGRhdGU6IHRoaXMuX3RvZGF5LFxuICAgICAgZGlzYWJsZWRFbXB0eTogbnVsbCxcbiAgICAgIGRpc2FibGVkRGF0ZTogdGhpcy5fdG9kYXlcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoZGF0YSk7XG4gIH1cblxuICBkb1N1Ym1pdChldmVudD86IEV2ZW50KSB7XG4gICAgY29uc29sZS5kZWJ1ZygnVmFsaWRhdGUgZm9ybTogJywgdGhpcy5mb3JtLnZhbHVlKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgZGlzcGxheURhdGUoKTogRGlzcGxheUZuIHtcbiAgICByZXR1cm4gKG9iajogYW55KSA9PiB0aGlzLmRhdGVGb3JtYXQudHJhbnNmb3JtKG9iaiwge3BhdHRlcm46ICdkZGRkIEwnfSkudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGNvbXBhcmVEYXRlKCkge1xuICAgIHJldHVybiAoZDE6IE1vbWVudCwgZDI6IE1vbWVudCkgPT4gZDEgJiYgZDIgJiYgZDEuaXNTYW1lKGQyKSB8fCBmYWxzZTtcbiAgfVxufVxuXG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiPlxuXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1iYWNrLWJ1dHRvbj48L2lvbi1iYWNrLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgPGlvbi10aXRsZT5Td2lwZSB0ZXN0IHBhZ2U8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cblxuICA8aDE+U3dpcGUgcGFnZTo8L2gxPlxuXG4gIDxmb3JtIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwiZG9TdWJtaXQoJGV2ZW50KVwiPlxuXG4gICAgPGlvbi1ncmlkPlxuXG4gICAgICA8aW9uLXJvdz5cbiAgICAgICAgPCEtLSBlbXB0eSAtLT5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jYXJkPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICBFbXB0eVxuICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgPG1hdC1zd2lwZS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJlbXB0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIiRkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlEYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcXVhbHNdPVwiY29tcGFyZURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L21hdC1zd2lwZS1maWVsZD5cbiAgICAgICAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgICA8L2lvbi1jb2w+XG5cbiAgICAgICAgPCEtLSBkYXRlIC0tPlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8aW9uLWNhcmQ+XG4gICAgICAgICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIERhdGVcbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDxtYXQtc3dpcGUtZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIiRkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlEYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcXVhbHNdPVwiY29tcGFyZURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvbWF0LXN3aXBlLWZpZWxkPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cblxuICAgICAgPGlvbi1yb3c+XG4gICAgICAgIDwhLS0gZGlzYWJsZSAtLT5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jYXJkPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICBEaXNhYmxlZCBlbXB0eVxuICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgPG1hdC1zd2lwZS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJkaXNhYmxlZEVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiJGRhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VxdWFsc109XCJjb21wYXJlRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVidWddPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9tYXQtc3dpcGUtZmllbGQ+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24tY2FyZD5cbiAgICAgICAgPC9pb24tY29sPlxuXG48IS0tICAgICAgICAgcmVhZC1vbmx5LS0+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tY2FyZD5cbiAgICAgICAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgIDxpb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgRGlzYWJsZWQgd2l0aCBkYXRlXG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICA8bWF0LXN3aXBlLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cImRpc2FibGVkRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIiRkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlEYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcXVhbHNdPVwiY29tcGFyZURhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvbWF0LXN3aXBlLWZpZWxkPlxuICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgPC9pb24tcm93PlxuXG4gICAgPC9pb24tZ3JpZD5cblxuICA8L2Zvcm0+XG5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -9,9 +9,9 @@ export class NotEmptyArrayPipe {
|
|
|
9
9
|
return val.length > 0;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
NotEmptyArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
13
|
-
NotEmptyArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
12
|
+
NotEmptyArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotEmptyArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
NotEmptyArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NotEmptyArrayPipe, name: "isNotEmptyArray" });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotEmptyArrayPipe, decorators: [{
|
|
15
15
|
type: Pipe,
|
|
16
16
|
args: [{
|
|
17
17
|
name: 'isNotEmptyArray'
|
|
@@ -25,9 +25,9 @@ export class EmptyArrayPipe {
|
|
|
25
25
|
return val.length === 0;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
EmptyArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
29
|
-
EmptyArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
28
|
+
EmptyArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
EmptyArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: EmptyArrayPipe, name: "isEmptyArray" });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyArrayPipe, decorators: [{
|
|
31
31
|
type: Pipe,
|
|
32
32
|
args: [{
|
|
33
33
|
name: 'isEmptyArray'
|
|
@@ -49,9 +49,9 @@ export class ArrayLengthPipe {
|
|
|
49
49
|
return false;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
ArrayLengthPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
53
|
-
ArrayLengthPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
52
|
+
ArrayLengthPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayLengthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
53
|
+
ArrayLengthPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ArrayLengthPipe, name: "isArrayLength" });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayLengthPipe, decorators: [{
|
|
55
55
|
type: Pipe,
|
|
56
56
|
args: [{
|
|
57
57
|
name: 'isArrayLength'
|
|
@@ -62,9 +62,9 @@ export class ArrayFirstPipe {
|
|
|
62
62
|
return val && val.length > 0 ? val[0] : undefined;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
ArrayFirstPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
66
|
-
ArrayFirstPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
65
|
+
ArrayFirstPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayFirstPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
66
|
+
ArrayFirstPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ArrayFirstPipe, name: "arrayFirst" });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayFirstPipe, decorators: [{
|
|
68
68
|
type: Pipe,
|
|
69
69
|
args: [{
|
|
70
70
|
name: 'arrayFirst'
|
|
@@ -85,9 +85,9 @@ export class ArrayPluckPipe {
|
|
|
85
85
|
values.map(value => getPropertyByPath(value, property)).filter(isNotNil);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
ArrayPluckPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
89
|
-
ArrayPluckPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
88
|
+
ArrayPluckPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayPluckPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
89
|
+
ArrayPluckPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ArrayPluckPipe, name: "arrayPluck" });
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayPluckPipe, decorators: [{
|
|
91
91
|
type: Pipe,
|
|
92
92
|
args: [{
|
|
93
93
|
name: 'arrayPluck'
|
|
@@ -98,9 +98,9 @@ export class ArrayIncludesPipe {
|
|
|
98
98
|
return val && val.includes(args) || false;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
ArrayIncludesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
102
|
-
ArrayIncludesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
101
|
+
ArrayIncludesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayIncludesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
102
|
+
ArrayIncludesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ArrayIncludesPipe, name: "arrayIncludes" });
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayIncludesPipe, decorators: [{
|
|
104
104
|
type: Pipe,
|
|
105
105
|
args: [{
|
|
106
106
|
name: 'arrayIncludes'
|
|
@@ -111,9 +111,9 @@ export class ArrayFilterPipe {
|
|
|
111
111
|
return val && val.filter(filterFn);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
ArrayFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
115
|
-
ArrayFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
114
|
+
ArrayFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
115
|
+
ArrayFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ArrayFilterPipe, name: "arrayFilter" });
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayFilterPipe, decorators: [{
|
|
117
117
|
type: Pipe,
|
|
118
118
|
args: [{
|
|
119
119
|
name: 'arrayFilter'
|
|
@@ -124,12 +124,12 @@ export class ArrayJoinPipe {
|
|
|
124
124
|
return val && val.join(separator) || '';
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
ArrayJoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
128
|
-
ArrayJoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
127
|
+
ArrayJoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayJoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
128
|
+
ArrayJoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ArrayJoinPipe, name: "arrayJoin" });
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ArrayJoinPipe, decorators: [{
|
|
130
130
|
type: Pipe,
|
|
131
131
|
args: [{
|
|
132
132
|
name: 'arrayJoin'
|
|
133
133
|
}]
|
|
134
134
|
}] });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9hcnJheXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDOztBQUt6RCxNQUFNLE9BQU8saUJBQWlCO0lBRTFCLFNBQVMsQ0FBQyxHQUFVO1FBQ2xCLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3JDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OzhHQVBRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGlCQUFpQjtpQkFDMUI7O0FBZUQsTUFBTSxPQUFPLGNBQWM7SUFFekIsU0FBUyxDQUFDLEdBQVU7UUFDbEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7MkdBUFUsY0FBYzt5R0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCOztBQWVELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFNBQVMsQ0FBQyxHQUFVLEVBQUUsSUFBbUU7UUFDdkYsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJ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QUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7OzBHQUpVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUh6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2dldFByb3BlcnR5QnlQYXRoLCBpc05vdE5pbH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdpc05vdEVtcHR5QXJyYXknXG59KVxuZXhwb3J0IGNsYXNzIE5vdEVtcHR5QXJyYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHZhbCA9PT0gdW5kZWZpbmVkIHx8IHZhbCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsLmxlbmd0aCA+IDA7XG4gICAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzRW1wdHlBcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsLmxlbmd0aCA9PT0gMDtcbiAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzQXJyYXlMZW5ndGgnXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5TGVuZ3RoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWw6IGFueVtdLCBhcmdzPzogeyBncmVhdGVyVGhhbj86IG51bWJlcjsgZXF1YWxzPzogbnVtYmVyOyBsZXNzVGhhbj86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgYXJncyA9IGFyZ3MgfHwge307XG4gICAgY29uc3Qgc2l6ZSA9ICh2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09IG51bGwpID8gMCA6IHZhbC5sZW5ndGg7XG4gICAgaWYgKGlzTm90TmlsKGFyZ3MubGVzc1RoYW4pKSB7XG4gICAgICByZXR1cm4gc2l6ZSA8IGFyZ3MubGVzc1RoYW47XG4gICAgfVxuICAgIGlmIChpc05vdE5pbChhcmdzLmdyZWF0ZXJUaGFuKSkge1xuICAgICAgcmV0dXJuIHNpemUgPiBhcmdzLmdyZWF0ZXJUaGFuO1xuICAgIH1cbiAgICBpZiAoaXNOb3ROaWwoYXJncy5lcXVhbHMpKSB7XG4gICAgICByZXR1cm4gc2l6ZSA9PT0gYXJncy5lcXVhbHM7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUZpcnN0J1xufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZpcnN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybTxUPih2YWw6IFRbXSk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB2YWwgJiYgdmFsLmxlbmd0aCA+IDAgPyB2YWxbMF0gOiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYXJyYXlQbHVjaydcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlQbHVja1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKiBAcGFyYW0gb3B0cyBwcm9wZXJ0eSB0byBnZXQsIG9yIG9wdGlvbnNcbiAgICovXG4gIHRyYW5zZm9ybTxUPih2YWx1ZXM6IFRbXSwgb3B0czogc3RyaW5nIHwgc3RyaW5nW10gfCB7IHByb3BlcnR5OiBzdHJpbmd8c3RyaW5nW107IG9taXROaWw/OiBib29sZWFuIH0pOiBhbnlbXSB7XG4gICAgaWYgKCFvcHRzIHx8ICF2YWx1ZXMpIHJldHVybiB2YWx1ZXM7XG4gICAgY29uc3QgcHJvcGVydHkgPSAodHlwZW9mIG9wdHMgPT09ICdzdHJpbmcnKSB8fCBBcnJheS5pc0FycmF5KG9wdHMpID8gb3B0cyBhcyBzdHJpbmd8c3RyaW5nW10gOiBvcHRzLnByb3BlcnR5O1xuICAgIHJldHVybiAob3B0c1snb21pdE5pbCddICE9PSB0cnVlKSA/XG4gICAgICB2YWx1ZXMubWFwKHZhbHVlID0+IGdldFByb3BlcnR5QnlQYXRoKHZhbHVlLCBwcm9wZXJ0eSkpIDpcbiAgICAgIHZhbHVlcy5tYXAodmFsdWUgPT4gZ2V0UHJvcGVydHlCeVBhdGgodmFsdWUsIHByb3BlcnR5KSkuZmlsdGVyKGlzTm90TmlsKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUluY2x1ZGVzJ1xufSlcbmV4cG9ydCBjbGFzcyBBcnJheUluY2x1ZGVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybTxUPih2YWw6IFRbXSwgYXJncyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWwgJiYgdmFsLmluY2x1ZGVzKGFyZ3MpIHx8IGZhbHNlO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnYXJyYXlGaWx0ZXInXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5RmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICB0cmFuc2Zvcm08VD4odmFsOiBUW10sIGZpbHRlckZuOiAoVCkgPT4gYm9vbGVhbik6IFRbXSB7XG4gICAgcmV0dXJuIHZhbCAmJiB2YWwuZmlsdGVyKGZpbHRlckZuKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUpvaW4nXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Sm9pblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm08VD4odmFsOiBUW10sIHNlcGFyYXRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsICYmIHZhbC5qb2luKHNlcGFyYXRvcikgfHwgJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -12,12 +12,12 @@ export class MatColorPipe {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
MatColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
16
|
-
MatColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
15
|
+
MatColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MatColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
MatColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: MatColorPipe, name: "matColor" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MatColorPipe, decorators: [{
|
|
18
18
|
type: Pipe,
|
|
19
19
|
args: [{
|
|
20
20
|
name: 'matColor'
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9jb2xvcnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLFlBQVk7SUFFckIsU0FBUyxDQUFDLEtBQWdCO1FBQ3hCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFDNUIsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxNQUFNLENBQUM7WUFDaEI7Z0JBQ0UsT0FBTyxLQUFxQixDQUFBO1NBQy9CO0lBQ0gsQ0FBQzs7eUdBVlEsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXBwQ29sb3JzfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnbWF0Q29sb3InXG59KVxuZXhwb3J0IGNsYXNzIE1hdENvbG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKGNvbG9yOiBBcHBDb2xvcnMpOiBUaGVtZVBhbGV0dGUgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKCFjb2xvcikgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgc3dpdGNoIChjb2xvcikge1xuICAgICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgICByZXR1cm4gJ3dhcm4nO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBjb2xvciBhcyBUaGVtZVBhbGV0dGVcbiAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -33,10 +33,10 @@ export class DateDiffDurationPipe {
|
|
|
33
33
|
return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format(withSeconds ? 'HH:mm:ss' : 'HH:mm');
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
DateDiffDurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
37
|
-
DateDiffDurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
|
38
|
-
DateDiffDurationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
36
|
+
DateDiffDurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateDiffDurationPipe, deps: [{ token: i1.DateAdapter }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
37
|
+
DateDiffDurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DateDiffDurationPipe, name: "dateDiffDuration" });
|
|
38
|
+
DateDiffDurationPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateDiffDurationPipe, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateDiffDurationPipe, decorators: [{
|
|
40
40
|
type: Pipe,
|
|
41
41
|
args: [{
|
|
42
42
|
name: 'dateDiffDuration'
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
45
45
|
type: Injectable,
|
|
46
46
|
args: [{ providedIn: 'root' }]
|
|
47
47
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.TranslateService }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaWZmLWR1cmF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9kYXRlLWRpZmYtZHVyYXRpb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7Ozs7QUFNbkMsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUNVLFdBQWdDLEVBQ2hDLFNBQTJCO1FBRDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlFLEVBQUUsSUFBNEI7UUFDdkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXBELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFFekUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFpQixFQUFFLE9BQWUsRUFBRSxJQUEyQjtRQUNwRSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksRUFBRSxPQUFPLENBQUM7UUFFbEMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxXQUFXLEVBQUU7WUFDZixZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUgsQ0FBQzs7aUhBbkNVLG9CQUFvQjsrR0FBcEIsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FEUixNQUFNOzJGQUNsQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekI7O2tCQUNBLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEYXRlQWRhcHRlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0RBVEVfSVNPX1BBVFRFUk59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEYXRlVXRpbHN9IGZyb20gJy4uL2RhdGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZGF0ZURpZmZEdXJhdGlvbidcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBEYXRlRGlmZkR1cmF0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByb3RlY3RlZCBkYXlVbml0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8TW9tZW50PixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuXG4gICAgdGhpcy5kYXlVbml0ID0gdHJhbnNsYXRlLmluc3RhbnQoJ0NPTU1PTi5EQVlfVU5JVCcpO1xuICAgIHRyYW5zbGF0ZS5nZXQoJ0NPTU1PTi5EQVlfVU5JVCcpLnN1YnNjcmliZShkYXlVbml0ID0+IHRoaXMuZGF5VW5pdCA9IGRheVVuaXQpO1xuICB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiB7IHN0YXJ0VmFsdWU6IHN0cmluZyB8IE1vbWVudDsgZW5kVmFsdWU6IHN0cmluZyB8IE1vbWVudCB9LCBhcmdzPzogeyBzZWNvbmRzPzogYm9vbGVhbiB9KTogc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIXZhbHVlLnN0YXJ0VmFsdWUgfHwgIXZhbHVlLmVuZFZhbHVlKSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLmRhdGVBZGFwdGVyLnBhcnNlKHZhbHVlLnN0YXJ0VmFsdWUsIERBVEVfSVNPX1BBVFRFUk4pO1xuICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLmRhdGVBZGFwdGVyLnBhcnNlKHZhbHVlLmVuZFZhbHVlLCBEQVRFX0lTT19QQVRURVJOKTtcblxuICAgIHJldHVybiB0aGlzLmZvcm1hdChzdGFydERhdGUsIGVuZERhdGUsIGFyZ3MpO1xuICB9XG5cbiAgZm9ybWF0KHN0YXJ0RGF0ZTogTW9tZW50LCBlbmREYXRlOiBNb21lbnQsIGFyZ3M6IHsgc2Vjb25kcz86IGJvb2xlYW4gfSk6IHN0cmluZyB7XG4gICAgY29uc3QgZHVyYXRpb24gPSBEYXRlVXRpbHMubW9tZW50LmR1cmF0aW9uKGVuZERhdGUuZGlmZihzdGFydERhdGUpKTtcbiAgICBpZiAoZHVyYXRpb24uYXNNaW51dGVzKCkgPCAwKSByZXR1cm4gJyc7XG4gICAgY29uc3Qgd2l0aFNlY29uZHMgPSBhcmdzPy5zZWNvbmRzO1xuXG4gICAgY29uc3QgdGltZUR1cmF0aW9uID0gRGF0ZVV0aWxzLm1vbWVudCgwKVxuICAgICAgLmhvdXIoZHVyYXRpb24uaG91cnMoKSlcbiAgICAgIC5taW51dGUoZHVyYXRpb24ubWludXRlcygpKTtcbiAgICBpZiAod2l0aFNlY29uZHMpIHtcbiAgICAgIHRpbWVEdXJhdGlvbi5zZWNvbmQoZHVyYXRpb24uc2Vjb25kcygpKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcihkdXJhdGlvbi5hc0RheXMoKSk7XG4gICAgcmV0dXJuIChkYXlzID4gMCA/IGRheXMudG9TdHJpbmcoKSArICh0aGlzLmRheVVuaXQgKyAnICcpIDogJycpICsgdGltZUR1cmF0aW9uLmZvcm1hdCh3aXRoU2Vjb25kcyA/ICdISDptbTpzcycgOiAnSEg6bW0nKTtcbiAgfVxufVxuIl19
|