cmat 0.0.16 → 0.0.17
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/components/select-search/select-search.component.d.ts +2 -1
- package/esm2022/components/adapter/dayjs-date-adapter.mjs +4 -4
- package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +4 -4
- package/esm2022/components/adapter/native-datetime-adapter.mjs +4 -4
- package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +4 -4
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2022/components/card/card.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +4 -4
- package/esm2022/components/chip-input/chip-input.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/button/button.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/chips/chips.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/number/number.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/quill/quill.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/radio/radio.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/rating/rating.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/select/select.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/table/table.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/tags/tags.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/upload/upload.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/form-field/form-field.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +4 -4
- package/esm2022/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.service.mjs +4 -4
- package/esm2022/components/fullscreen/fullscreen.component.mjs +4 -4
- package/esm2022/components/highlight/highlight.component.mjs +4 -4
- package/esm2022/components/highlight/highlight.service.mjs +4 -4
- package/esm2022/components/json-editor/json-editor.component.mjs +4 -4
- package/esm2022/components/masonry/masonry.component.mjs +4 -4
- package/esm2022/components/material-color-picker/material-color-picker.component.mjs +4 -4
- package/esm2022/components/material-datetimepicker/calendar-body.mjs +4 -4
- package/esm2022/components/material-datetimepicker/calendar.mjs +4 -4
- package/esm2022/components/material-datetimepicker/clock.mjs +4 -4
- package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -4
- package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +4 -4
- package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +7 -7
- package/esm2022/components/material-datetimepicker/datetimepicker.mjs +7 -7
- package/esm2022/components/material-datetimepicker/month-view.mjs +4 -4
- package/esm2022/components/material-datetimepicker/multi-year-view.mjs +4 -4
- package/esm2022/components/material-datetimepicker/time.mjs +7 -7
- package/esm2022/components/material-datetimepicker/year-view.mjs +4 -4
- package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +4 -4
- package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +4 -4
- package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +4 -4
- package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +4 -4
- package/esm2022/components/navigation/horizontal/horizontal.component.mjs +4 -4
- package/esm2022/components/navigation/navigation.service.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/group/group.component.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +4 -4
- package/esm2022/components/navigation/vertical/vertical.component.mjs +4 -4
- package/esm2022/components/pagination/pagination.component.mjs +4 -4
- package/esm2022/components/pagination/pagination.directive.mjs +4 -4
- package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
- package/esm2022/components/pagination/pagination.service.mjs +4 -4
- package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +4 -4
- package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +4 -4
- package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +4 -4
- package/esm2022/components/popover/popover-trigger.mjs +4 -4
- package/esm2022/components/popover/popover.component.mjs +4 -4
- package/esm2022/components/popover/popover.target.mjs +4 -4
- package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
- package/esm2022/components/rating/rating.component.mjs +4 -4
- package/esm2022/components/select-search/select-no-entries-found.directive.mjs +4 -4
- package/esm2022/components/select-search/select-search-clear.directive.mjs +4 -4
- package/esm2022/components/select-search/select-search.component.mjs +4 -4
- package/esm2022/components/select-tree/select-tree.component.mjs +4 -4
- package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +10 -10
- package/esm2022/components/timeline/timeline.component.mjs +4 -4
- package/esm2022/components/toast/toast-modal.component.mjs +4 -4
- package/esm2022/components/toast/toast.component.mjs +4 -4
- package/esm2022/components/toast/toast.service.mjs +4 -4
- package/esm2022/components/transfer-picker/filter/filter.component.mjs +4 -4
- package/esm2022/components/transfer-picker/search/search.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
- package/esm2022/components/upload/files.util.service.mjs +4 -4
- package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +4 -4
- package/esm2022/components/upload/upload.component.mjs +4 -4
- package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +4 -4
- package/esm2022/directives/animate-on-scroll/scroll.service.mjs +4 -4
- package/esm2022/directives/autofocus/autofocus.directive.mjs +4 -4
- package/esm2022/directives/debounce/abstract-debounce.directive.mjs +4 -4
- package/esm2022/directives/debounce/debounce-click.directive.mjs +4 -4
- package/esm2022/directives/debounce/debounce-keyup.directive.mjs +4 -4
- package/esm2022/directives/digit-only/digit-only.directive.mjs +4 -4
- package/esm2022/directives/digit-only/mask.directive.mjs +4 -4
- package/esm2022/directives/equal-validator/equal-validator.directive.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.interceptor.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.service.mjs +4 -4
- package/esm2022/pipes/bytes/bytes.pipe.mjs +4 -4
- package/esm2022/pipes/date-format/date-format.pipe.mjs +4 -4
- package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +4 -4
- package/esm2022/pipes/group-by/group-by.pipe.mjs +4 -4
- package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
- package/esm2022/pipes/secure/secure-pipe.mjs +4 -4
- package/esm2022/pipes/uppercase/uppercase.pipe.mjs +4 -4
- package/esm2022/services/alert/alert.service.mjs +4 -4
- package/esm2022/services/config/config.service.mjs +4 -4
- package/esm2022/services/config/urlStateConfig.service.mjs +4 -4
- package/esm2022/services/confirmation/confirmation.service.mjs +4 -4
- package/esm2022/services/confirmation/dialog/dialog.component.mjs +4 -4
- package/esm2022/services/data/data.service.mjs +6 -6
- package/esm2022/services/loading/loading.interceptor.mjs +4 -4
- package/esm2022/services/loading/loading.service.mjs +4 -4
- package/esm2022/services/local-storage/local-storage.service.mjs +4 -4
- package/esm2022/services/media-watcher/media-watcher.service.mjs +4 -4
- package/esm2022/services/platform/platform.service.mjs +4 -4
- package/esm2022/services/splash-screen/splash-screen.service.mjs +4 -4
- package/esm2022/services/title/title.service.mjs +4 -4
- package/esm2022/services/translation/translation.service.mjs +4 -4
- package/esm2022/services/utils/utils.service.mjs +36 -4
- package/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +9 -9
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +3 -3
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-cascade.mjs +9 -9
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +3 -3
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +81 -81
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +3 -3
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +6 -6
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +3 -3
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +6 -6
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-json-editor.mjs +3 -3
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-masonry.mjs +3 -3
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +3 -3
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +42 -42
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +39 -39
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +12 -12
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +9 -9
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +9 -9
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +3 -3
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +3 -3
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +9 -9
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +3 -3
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +12 -12
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +9 -9
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +18 -18
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-upload.mjs +9 -9
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
- package/fesm2022/cmat-directives-debounce.mjs +9 -9
- package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
- package/fesm2022/cmat-directives-digit-only.mjs +6 -6
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
- package/fesm2022/cmat-lib-mock-api.mjs +6 -6
- package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
- package/fesm2022/cmat-pipes-secure.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
- package/fesm2022/cmat-services-alert.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +6 -6
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +6 -6
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +5 -5
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-loading.mjs +6 -6
- package/fesm2022/cmat-services-loading.mjs.map +1 -1
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
- package/fesm2022/cmat-services-media-watcher.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
- package/fesm2022/cmat-services-platform.mjs +3 -3
- package/fesm2022/cmat-services-platform.mjs.map +1 -1
- package/fesm2022/cmat-services-splash-screen.mjs +3 -3
- package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs.map +1 -1
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs.map +1 -1
- package/fesm2022/cmat-services-utils.mjs +35 -3
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/package.json +37 -37
- package/services/data/data.service.d.ts +1 -1
- package/services/utils/utils.service.d.ts +4 -0
|
@@ -5,6 +5,7 @@ import { MatOption } from '@angular/material/core';
|
|
|
5
5
|
import { MatFormField } from '@angular/material/form-field';
|
|
6
6
|
import { MatSelect } from '@angular/material/select';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
|
+
import { MatSelectSearchOptions } from './default-options';
|
|
8
9
|
import { CmatSelectNoEntriesFoundDirective } from './select-no-entries-found.directive';
|
|
9
10
|
import { CmatSelectSearchClearDirective } from './select-search-clear.directive';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
@@ -51,7 +52,7 @@ export declare class CmatSelectSearchComponent implements OnInit, OnDestroy, Con
|
|
|
51
52
|
private _onDestroy;
|
|
52
53
|
/** Reference to active descendant for ARIA Support. */
|
|
53
54
|
private _activeDescendant?;
|
|
54
|
-
constructor(matSelect: MatSelect, _changeDetectorRef: ChangeDetectorRef, _viewportRuler: ViewportRuler, _matOption?: MatOption | null, matFormField?: MatFormField | null, _defaultOptions?:
|
|
55
|
+
constructor(matSelect: MatSelect, _changeDetectorRef: ChangeDetectorRef, _viewportRuler: ViewportRuler, _matOption?: MatOption | null, matFormField?: MatFormField | null, _defaultOptions?: MatSelectSearchOptions | undefined);
|
|
55
56
|
/** whether to show the no entries found message */
|
|
56
57
|
showNoEntriesFound$: Observable<boolean>;
|
|
57
58
|
get isInsideMatOption(): boolean;
|
|
@@ -179,10 +179,10 @@ export class DayjsDateAdapter extends DateAdapter {
|
|
|
179
179
|
dayjs.extend(localeData);
|
|
180
180
|
this.setLocale(dateLocale);
|
|
181
181
|
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
183
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DayjsDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: CMAT_DAYJS_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
183
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DayjsDateAdapter }); }
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DayjsDateAdapter, decorators: [{
|
|
186
186
|
type: Injectable
|
|
187
187
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
188
188
|
type: Optional
|
|
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
195
195
|
type: Inject,
|
|
196
196
|
args: [CMAT_DAYJS_DATE_ADAPTER_OPTIONS]
|
|
197
197
|
}] }] });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2FkYXB0ZXIvZGF5anMtZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxlQUFlLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7O0FBWW5DLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FDN0QsaUNBQWlDLEVBQUU7SUFDbkMsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHVDQUF1QztDQUNuRCxDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLHVDQUF1QztJQUNuRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLEtBQUs7S0FDaEIsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBSSxNQUFjLEVBQUUsYUFBbUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENB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QyxVQUFrQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0EvTFEsZ0JBQWdCLGtCQVdPLGVBQWUsNkJBQ3ZCLCtCQUErQjtrSEFaOUMsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUY1QixVQUFVOzswQkFhTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUMxQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcclxuaW1wb3J0IGxvY2FsZURhdGEgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsZURhdGEnO1xyXG5pbXBvcnQgTG9jYWxpemVkRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQnO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUdXJucyB0aGUgdXNlIG9mIHV0YyBkYXRlcyBvbiBvciBvZmYuXHJcbiAgICAgKiBDaGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIGhvdyBBbmd1bGFyIE1hdGVyaWFsIGNvbXBvbmVudHMgbGlrZSBEYXRlUGlja2VyIG91dHB1dCBkYXRlcy5cclxuICAgICAqIHtAZGVmYXVsdCBmYWxzZX1cclxuICAgICAqL1xyXG4gICAgdXNlVXRjPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqIEluamVjdGlvblRva2VuIGZvciBEYXlqcyBkYXRlIGFkYXB0ZXIgdG8gY29uZmlndXJlIG9wdGlvbnMuICovXHJcbmV4cG9ydCBjb25zdCBDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zPihcclxuICAgICdDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TJywge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogQ01BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZXHJcbn0pO1xyXG5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxyXG5leHBvcnQgZnVuY3Rpb24gQ01BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZKCk6IERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdXNlVXRjOiBmYWxzZVxyXG4gICAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmFuZ2U8VD4obGVuZ3RoOiBudW1iZXIsIHZhbHVlRnVuY3Rpb246IChpbmRleDogbnVtYmVyKSA9PiBUKTogVFtdIHtcclxuICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWVzQXJyYXk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuLyoqIEFkYXB0cyBEYXlqcyBEYXRlcyBmb3IgdXNlIHdpdGggQW5ndWxhciBNYXRlcmlhbC4gKi9cclxuZXhwb3J0IGNsYXNzIERheWpzRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxEYXlqcz4ge1xyXG4gICAgcHJpdmF0ZSBfbG9jYWxlRGF0YToge1xyXG4gICAgICAgIGZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XHJcbiAgICAgICAgbG9uZ01vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnRNb250aHM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGRhdGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIHB1YmxpYyBkYXRlTG9jYWxlOiBzdHJpbmcsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zPzogRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICB0aGlzLl9pbml0aWFsaXplUGFyc2VyKGRhdGVMb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBnZXQgX3Nob3VsZFVzZVV0YygpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB7IHVzZVV0YyB9OiBEYXlKc0RhdGVBZGFwdGVyT3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgPz8ge307XHJcbiAgICAgICAgcmV0dXJuICEhdXNlVXRjO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlKc0xvY2FsZURhdGEgPSB0aGlzLl9kYXlKcygpLmxvY2FsZURhdGEoKTtcclxuICAgICAgICB0aGlzLl9sb2NhbGVEYXRhID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogZGF5SnNMb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrKCksXHJcbiAgICAgICAgICAgIGxvbmdNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHMoKSxcclxuICAgICAgICAgICAgc2hvcnRNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHNTaG9ydCgpLFxyXG4gICAgICAgICAgICBkYXRlczogcmFuZ2UoMzEsIGkgPT4gdGhpcy5jcmVhdGVEYXRlKDIwMTcsIDAsIGkgKyAxKS5mb3JtYXQoJ0QnKSksXHJcbiAgICAgICAgICAgIGxvbmdEYXlzT2ZXZWVrOiByYW5nZSg3LCBpID0+IHRoaXMuX2RheUpzKCkuc2V0KCdkYXknLCBpKS5mb3JtYXQoJ2RkZGQnKSksXHJcbiAgICAgICAgICAgIHNob3J0RGF5c09mV2VlazogZGF5SnNMb2NhbGVEYXRhLndlZWtkYXlzU2hvcnQoKSxcclxuICAgICAgICAgICAgbmFycm93RGF5c09mV2VlazogZGF5SnNMb2NhbGVEYXRhLndlZWtkYXlzTWluKCksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRZZWFyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkueWVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vbnRoKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkubW9udGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXRlKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERheU9mV2VlayhkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmRheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3R5bGUgPT09ICdsb25nJyA/IHRoaXMuX2xvY2FsZURhdGEubG9uZ01vbnRocyA6IHRoaXMuX2xvY2FsZURhdGEuc2hvcnRNb250aHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5kYXRlcztcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGlmIChzdHlsZSA9PT0gJ2xvbmcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmxvbmdEYXlzT2ZXZWVrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc3R5bGUgPT09ICdzaG9ydCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuc2hvcnREYXlzT2ZXZWVrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dEYXlzT2ZXZWVrO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFllYXJOYW1lKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5maXJzdERheU9mV2VlaztcclxuICAgIH1cclxuXHJcbiAgICBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmRheXNJbk1vbnRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvbmUoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIGNvbnN0IHJldHVybkRheWpzID0gdGhpcy5fZGF5SnMoKVxyXG4gICAgICAgICAgICAuc2V0KCd5ZWFyJywgeWVhcilcclxuICAgICAgICAgICAgLnNldCgnbW9udGgnLCBtb250aClcclxuICAgICAgICAgICAgLnNldCgnZGF0ZScsIGRhdGUpO1xyXG4gICAgICAgIHJldHVybiByZXR1cm5EYXlqcztcclxuICAgIH1cclxuXHJcbiAgICB0b2RheSgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IHN0cmluZyk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKHZhbHVlLCBwYXJzZUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLl9kYXlKcyh2YWx1ZSkubG9jYWxlKHRoaXMubG9jYWxlKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybWF0KGRhdGU6IERheWpzLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdEYXlqc0RhdGVBZGFwdGVyOiBDYW5ub3QgZm9ybWF0IGludmFsaWQgZGF0ZS4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRhdGUubG9jYWxlKHRoaXMubG9jYWxlKS5mb3JtYXQoZGlzcGxheUZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXlqcywgeWVhcnM6IG51bWJlcik6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoeWVhcnMsICd5ZWFyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF5anMsIG1vbnRoczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChtb250aHMsICdtb250aCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXlqcywgZGF5czogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChkYXlzLCAnZGF5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgdG9Jc284NjAxKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxyXG4gICAgICogZGVzZXJpYWxpemUgc2hvdWxkIG9ubHkgYWNjZXB0IG5vbi1hbWJpZ3VvdXMsIGxvY2FsZS1pbmRlcGVuZGVudCBmb3JtYXRzIChlLmcuIGEgSVNPIDg2MDFcclxuICAgICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxyXG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXHJcbiAgICAgKiBtZXRob2Qgb24gYWxsIG9mIGl0J3MgYEBJbnB1dCgpYCBwcm9wZXJ0aWVzIHRoYXQgYWNjZXB0IGRhdGVzLiBJdCBpcyB0aGVyZWZvcmUgcG9zc2libGUgdG9cclxuICAgICAqIHN1cHBvcnQgcGFzc2luZyB2YWx1ZXMgZnJvbSB5b3VyIGJhY2tlbmQgZGlyZWN0bHkgdG8gdGhlc2UgcHJvcGVydGllcyBieSBvdmVycmlkaW5nIHRoaXMgbWV0aG9kXHJcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBkZXNlcmlhbGl6ZWQgaW50byBhIGRhdGUgb2JqZWN0LlxyXG4gICAgICogQHJldHVybnMgVGhlIGRlc2VyaWFsaXplZCBkYXRlIG9iamVjdCwgZWl0aGVyIGEgdmFsaWQgZGF0ZSwgbnVsbCBpZiB0aGUgdmFsdWUgY2FuIGJlXHJcbiAgICAgKiAgICAgZGVzZXJpYWxpemVkIGludG8gYSBudWxsIGRhdGUgKGUuZy4gdGhlIGVtcHR5IHN0cmluZyksIG9yIGFuIGludmFsaWQgZGF0ZS5cclxuICAgICAqL1xyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IGRhdGU6IGFueTtcclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLl9kYXlKcyh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSkge1xyXG4gICAgICAgICAgICAvLyBOT1RFOiBhc3N1bWVzIHRoYXQgY2xvbmluZyBhbHNvIHNldHMgdGhlIGNvcnJlY3QgbG9jYWxlLlxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9uZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLl9kYXlKcyh2YWx1ZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGUgJiYgdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKTsgLy8gTk9URTogSXMgdGhpcyBuZWNlc3Nhcnkgc2luY2UgRGF5anMgaXMgaW1tdXRhYmxlIGFuZCBNb21lbnQgd2FzIG5vdD9cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBkYXlqcy5pc0RheWpzKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgaXNWYWxpZChkYXRlOiBEYXlqcyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS5pc1ZhbGlkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW52YWxpZCgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2RheUpzKGlucHV0PzogYW55LCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IERheWpzIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3Nob3VsZFVzZVV0Yykge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF5anMoaW5wdXQsIHsgZm9ybWF0LCBsb2NhbGUgfSwgbG9jYWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRheWpzKGlucHV0LCB7IGZvcm1hdCwgbG9jYWxlLCB1dGM6IHRoaXMuX3Nob3VsZFVzZVV0YyB9LCBsb2NhbGUpLnV0YygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2luaXRpYWxpemVQYXJzZXIoZGF0ZUxvY2FsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFVzZVV0Yykge1xyXG4gICAgICAgICAgICBkYXlqcy5leHRlbmQodXRjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRheWpzLmV4dGVuZChMb2NhbGl6ZWRGb3JtYXQpO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG5cclxuICAgICAgICB0aGlzLnNldExvY2FsZShkYXRlTG9jYWxlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2FkYXB0ZXIvZGF5anMtZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxlQUFlLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7O0FBWW5DLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FDN0QsaUNBQWlDLEVBQUU7SUFDbkMsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHVDQUF1QztDQUNuRCxDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLHVDQUF1QztJQUNuRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLEtBQUs7S0FDaEIsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBSSxNQUFjLEVBQUUsYUFBbUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENB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QyxVQUFrQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0EvTFEsZ0JBQWdCLGtCQVdPLGVBQWUsNkJBQ3ZCLCtCQUErQjttSEFaOUMsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUY1QixVQUFVOzswQkFhTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUMxQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcclxuaW1wb3J0IGxvY2FsZURhdGEgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsZURhdGEnO1xyXG5pbXBvcnQgTG9jYWxpemVkRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQnO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUdXJucyB0aGUgdXNlIG9mIHV0YyBkYXRlcyBvbiBvciBvZmYuXHJcbiAgICAgKiBDaGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIGhvdyBBbmd1bGFyIE1hdGVyaWFsIGNvbXBvbmVudHMgbGlrZSBEYXRlUGlja2VyIG91dHB1dCBkYXRlcy5cclxuICAgICAqIHtAZGVmYXVsdCBmYWxzZX1cclxuICAgICAqL1xyXG4gICAgdXNlVXRjPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqIEluamVjdGlvblRva2VuIGZvciBEYXlqcyBkYXRlIGFkYXB0ZXIgdG8gY29uZmlndXJlIG9wdGlvbnMuICovXHJcbmV4cG9ydCBjb25zdCBDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zPihcclxuICAgICdDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TJywge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogQ01BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZXHJcbn0pO1xyXG5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxyXG5leHBvcnQgZnVuY3Rpb24gQ01BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZKCk6IERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdXNlVXRjOiBmYWxzZVxyXG4gICAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmFuZ2U8VD4obGVuZ3RoOiBudW1iZXIsIHZhbHVlRnVuY3Rpb246IChpbmRleDogbnVtYmVyKSA9PiBUKTogVFtdIHtcclxuICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWVzQXJyYXk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuLyoqIEFkYXB0cyBEYXlqcyBEYXRlcyBmb3IgdXNlIHdpdGggQW5ndWxhciBNYXRlcmlhbC4gKi9cclxuZXhwb3J0IGNsYXNzIERheWpzRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxEYXlqcz4ge1xyXG4gICAgcHJpdmF0ZSBfbG9jYWxlRGF0YToge1xyXG4gICAgICAgIGZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XHJcbiAgICAgICAgbG9uZ01vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnRNb250aHM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGRhdGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIHB1YmxpYyBkYXRlTG9jYWxlOiBzdHJpbmcsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zPzogRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICB0aGlzLl9pbml0aWFsaXplUGFyc2VyKGRhdGVMb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBnZXQgX3Nob3VsZFVzZVV0YygpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB7IHVzZVV0YyB9OiBEYXlKc0RhdGVBZGFwdGVyT3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgPz8ge307XHJcbiAgICAgICAgcmV0dXJuICEhdXNlVXRjO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlKc0xvY2FsZURhdGEgPSB0aGlzLl9kYXlKcygpLmxvY2FsZURhdGEoKTtcclxuICAgICAgICB0aGlzLl9sb2NhbGVEYXRhID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogZGF5SnNMb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrKCksXHJcbiAgICAgICAgICAgIGxvbmdNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHMoKSxcclxuICAgICAgICAgICAgc2hvcnRNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHNTaG9ydCgpLFxyXG4gICAgICAgICAgICBkYXRlczogcmFuZ2UoMzEsIGkgPT4gdGhpcy5jcmVhdGVEYXRlKDIwMTcsIDAsIGkgKyAxKS5mb3JtYXQoJ0QnKSksXHJcbiAgICAgICAgICAgIGxvbmdEYXlzT2ZXZWVrOiByYW5nZSg3LCBpID0+IHRoaXMuX2RheUpzKCkuc2V0KCdkYXknLCBpKS5mb3JtYXQoJ2RkZGQnKSksXHJcbiAgICAgICAgICAgIHNob3J0RGF5c09mV2VlazogZGF5SnNMb2NhbGVEYXRhLndlZWtkYXlzU2hvcnQoKSxcclxuICAgICAgICAgICAgbmFycm93RGF5c09mV2VlazogZGF5SnNMb2NhbGVEYXRhLndlZWtkYXlzTWluKCksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRZZWFyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkueWVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vbnRoKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkubW9udGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXRlKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERheU9mV2VlayhkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmRheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3R5bGUgPT09ICdsb25nJyA/IHRoaXMuX2xvY2FsZURhdGEubG9uZ01vbnRocyA6IHRoaXMuX2xvY2FsZURhdGEuc2hvcnRNb250aHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5kYXRlcztcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGlmIChzdHlsZSA9PT0gJ2xvbmcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmxvbmdEYXlzT2ZXZWVrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc3R5bGUgPT09ICdzaG9ydCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuc2hvcnREYXlzT2ZXZWVrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dEYXlzT2ZXZWVrO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFllYXJOYW1lKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5maXJzdERheU9mV2VlaztcclxuICAgIH1cclxuXHJcbiAgICBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmRheXNJbk1vbnRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvbmUoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIGNvbnN0IHJldHVybkRheWpzID0gdGhpcy5fZGF5SnMoKVxyXG4gICAgICAgICAgICAuc2V0KCd5ZWFyJywgeWVhcilcclxuICAgICAgICAgICAgLnNldCgnbW9udGgnLCBtb250aClcclxuICAgICAgICAgICAgLnNldCgnZGF0ZScsIGRhdGUpO1xyXG4gICAgICAgIHJldHVybiByZXR1cm5EYXlqcztcclxuICAgIH1cclxuXHJcbiAgICB0b2RheSgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IHN0cmluZyk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKHZhbHVlLCBwYXJzZUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLl9kYXlKcyh2YWx1ZSkubG9jYWxlKHRoaXMubG9jYWxlKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybWF0KGRhdGU6IERheWpzLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdEYXlqc0RhdGVBZGFwdGVyOiBDYW5ub3QgZm9ybWF0IGludmFsaWQgZGF0ZS4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRhdGUubG9jYWxlKHRoaXMubG9jYWxlKS5mb3JtYXQoZGlzcGxheUZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXlqcywgeWVhcnM6IG51bWJlcik6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoeWVhcnMsICd5ZWFyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF5anMsIG1vbnRoczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChtb250aHMsICdtb250aCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXlqcywgZGF5czogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChkYXlzLCAnZGF5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgdG9Jc284NjAxKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxyXG4gICAgICogZGVzZXJpYWxpemUgc2hvdWxkIG9ubHkgYWNjZXB0IG5vbi1hbWJpZ3VvdXMsIGxvY2FsZS1pbmRlcGVuZGVudCBmb3JtYXRzIChlLmcuIGEgSVNPIDg2MDFcclxuICAgICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxyXG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXHJcbiAgICAgKiBtZXRob2Qgb24gYWxsIG9mIGl0J3MgYEBJbnB1dCgpYCBwcm9wZXJ0aWVzIHRoYXQgYWNjZXB0IGRhdGVzLiBJdCBpcyB0aGVyZWZvcmUgcG9zc2libGUgdG9cclxuICAgICAqIHN1cHBvcnQgcGFzc2luZyB2YWx1ZXMgZnJvbSB5b3VyIGJhY2tlbmQgZGlyZWN0bHkgdG8gdGhlc2UgcHJvcGVydGllcyBieSBvdmVycmlkaW5nIHRoaXMgbWV0aG9kXHJcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBkZXNlcmlhbGl6ZWQgaW50byBhIGRhdGUgb2JqZWN0LlxyXG4gICAgICogQHJldHVybnMgVGhlIGRlc2VyaWFsaXplZCBkYXRlIG9iamVjdCwgZWl0aGVyIGEgdmFsaWQgZGF0ZSwgbnVsbCBpZiB0aGUgdmFsdWUgY2FuIGJlXHJcbiAgICAgKiAgICAgZGVzZXJpYWxpemVkIGludG8gYSBudWxsIGRhdGUgKGUuZy4gdGhlIGVtcHR5IHN0cmluZyksIG9yIGFuIGludmFsaWQgZGF0ZS5cclxuICAgICAqL1xyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IGRhdGU6IGFueTtcclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLl9kYXlKcyh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSkge1xyXG4gICAgICAgICAgICAvLyBOT1RFOiBhc3N1bWVzIHRoYXQgY2xvbmluZyBhbHNvIHNldHMgdGhlIGNvcnJlY3QgbG9jYWxlLlxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9uZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLl9kYXlKcyh2YWx1ZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGUgJiYgdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKTsgLy8gTk9URTogSXMgdGhpcyBuZWNlc3Nhcnkgc2luY2UgRGF5anMgaXMgaW1tdXRhYmxlIGFuZCBNb21lbnQgd2FzIG5vdD9cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBkYXlqcy5pc0RheWpzKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgaXNWYWxpZChkYXRlOiBEYXlqcyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS5pc1ZhbGlkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW52YWxpZCgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2RheUpzKGlucHV0PzogYW55LCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IERheWpzIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3Nob3VsZFVzZVV0Yykge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF5anMoaW5wdXQsIHsgZm9ybWF0LCBsb2NhbGUgfSwgbG9jYWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRheWpzKGlucHV0LCB7IGZvcm1hdCwgbG9jYWxlLCB1dGM6IHRoaXMuX3Nob3VsZFVzZVV0YyB9LCBsb2NhbGUpLnV0YygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2luaXRpYWxpemVQYXJzZXIoZGF0ZUxvY2FsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFVzZVV0Yykge1xyXG4gICAgICAgICAgICBkYXlqcy5leHRlbmQodXRjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRheWpzLmV4dGVuZChMb2NhbGl6ZWRGb3JtYXQpO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG5cclxuICAgICAgICB0aGlzLnNldExvY2FsZShkYXRlTG9jYWxlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -86,10 +86,10 @@ export class DayjsDatetimeAdapter extends DatetimeAdapter {
|
|
|
86
86
|
_getDateInNextMonth(date) {
|
|
87
87
|
return super.clone(date).date(1).add(1, 'month');
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
90
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
90
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DayjsDatetimeAdapter }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
|
|
93
93
|
type: Injectable
|
|
94
94
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
95
95
|
type: Optional
|
|
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
97
97
|
type: Inject,
|
|
98
98
|
args: [MAT_DATE_LOCALE]
|
|
99
99
|
}] }, { type: i1.DateAdapter }] });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9hZGFwdGVyL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNqRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUFHRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBc0I7SUFjNUQsWUFBaUQsYUFBcUIsRUFDbEUsU0FBNkI7UUFDN0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVRLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLEtBQUssQ0FBQyxTQUFTLENB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OzswQkFBSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XHJcbmltcG9ydCB7IERhdGV0aW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZXRpbWUtYWRhcHRlcic7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGF5anNEYXRldGltZUFkYXB0ZXIgZXh0ZW5kcyBEYXRldGltZUFkYXB0ZXI8RGF5anM+IHtcclxuXHJcbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiB7XHJcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcclxuICAgICAgICBsb25nTW9udGhzOiBzdHJpbmdbXTtcclxuICAgICAgICBzaG9ydE1vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgZGF0ZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGhvdXJzOiBzdHJpbmdbXTtcclxuICAgICAgICBtaW51dGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZyxcclxuICAgICAgICBfZGVsZWdhdGU6IERhdGVBZGFwdGVyPERheWpzPikge1xyXG4gICAgICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUobWF0RGF0ZUxvY2FsZSB8fCBkYXlqcy5sb2NhbGUoKSk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlqc0xvY2FsZURhdGEgPSBkYXlqcy5sb2NhbGVEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5fbG9jYWxlRGF0YSA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IGRheWpzTG9jYWxlRGF0YS5maXJzdERheU9mV2VlaygpLFxyXG4gICAgICAgICAgICBsb25nTW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzKCksXHJcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzU2hvcnQoKSxcclxuICAgICAgICAgICAgZGF0ZXM6IHJhbmdlKDMxLCBpID0+IHN1cGVyLmNyZWF0ZURhdGUoMjAxNywgMCwgaSArIDEpLmZvcm1hdCgnRCcpKSxcclxuICAgICAgICAgICAgaG91cnM6IHJhbmdlKDI0LCBpID0+IHRoaXMuY3JlYXRlRGF0ZXRpbWUoMjAxNywgMCwgMSwgaSwgMCkuZm9ybWF0KCdIJykpLFxyXG4gICAgICAgICAgICBtaW51dGVzOiByYW5nZSg2MCwgaSA9PiB0aGlzLmNyZWF0ZURhdGV0aW1lKDIwMTcsIDAsIDEsIDEsIGkpLmZvcm1hdCgnbScpKSxcclxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5cygpLFxyXG4gICAgICAgICAgICBzaG9ydERheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c1Nob3J0KCksXHJcbiAgICAgICAgICAgIG5hcnJvd0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c01pbigpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRIb3VyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuY2xvbmUoZGF0ZSkuaG91cigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1pbnV0ZShkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLm1pbnV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBEYXlqcywgZW5kRGF0ZTogRGF5anMpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBuZXh0TW9udGggPSB0aGlzLl9nZXREYXRlSW5OZXh0TW9udGgoc3RhcnREYXRlKTtcclxuICAgICAgICByZXR1cm4gc3VwZXIuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAgICAgLy8gY3JlYXRpbmcgdGhlIERhdGUpLlxyXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCBcIiR7bW9udGh9XCIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGUgPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG1pbnV0ZSA8IDAgfHwgbWludXRlID4gNTkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbWludXRlIFwiJHttaW51dGV9XCIuIE1pbnV0ZSBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCA1OS5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRheWpzKG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VyLCBtaW51dGUpKTtcclxuXHJcbiAgICAgICAgLy8gSWYgdGhlIHJlc3VsdCBpc24ndCB2YWxpZCwgdGhlIGRhdGUgbXVzdCBoYXZlIGJlZW4gb3V0IG9mIGJvdW5kcyBmb3IgdGhpcyBtb250aC5cclxuICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5ob3VycztcclxuICAgIH1cclxuXHJcbiAgICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubWludXRlcztcclxuICAgIH1cclxuXHJcbiAgICBhZGRDYWxlbmRhckhvdXJzKGRhdGU6IERheWpzLCBob3VyczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5jbG9uZShkYXRlKS5hZGQoaG91cnMsICdob3VyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNaW51dGVzKGRhdGU6IERheWpzLCBtaW51dGVzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmFkZChtaW51dGVzLCAnbWludXRlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXREYXRlSW5OZXh0TW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmRhdGUoMSkuYWRkKDEsICdtb250aCcpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9hZGFwdGVyL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNqRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUFHRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBc0I7SUFjNUQsWUFBaUQsYUFBcUIsRUFDbEUsU0FBNkI7UUFDN0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVRLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLEtBQUssQ0FBQyxTQUFTLENB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OzswQkFBSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XHJcbmltcG9ydCB7IERhdGV0aW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZXRpbWUtYWRhcHRlcic7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGF5anNEYXRldGltZUFkYXB0ZXIgZXh0ZW5kcyBEYXRldGltZUFkYXB0ZXI8RGF5anM+IHtcclxuXHJcbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiB7XHJcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcclxuICAgICAgICBsb25nTW9udGhzOiBzdHJpbmdbXTtcclxuICAgICAgICBzaG9ydE1vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgZGF0ZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGhvdXJzOiBzdHJpbmdbXTtcclxuICAgICAgICBtaW51dGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZyxcclxuICAgICAgICBfZGVsZWdhdGU6IERhdGVBZGFwdGVyPERheWpzPikge1xyXG4gICAgICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUobWF0RGF0ZUxvY2FsZSB8fCBkYXlqcy5sb2NhbGUoKSk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlqc0xvY2FsZURhdGEgPSBkYXlqcy5sb2NhbGVEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5fbG9jYWxlRGF0YSA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IGRheWpzTG9jYWxlRGF0YS5maXJzdERheU9mV2VlaygpLFxyXG4gICAgICAgICAgICBsb25nTW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzKCksXHJcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzU2hvcnQoKSxcclxuICAgICAgICAgICAgZGF0ZXM6IHJhbmdlKDMxLCBpID0+IHN1cGVyLmNyZWF0ZURhdGUoMjAxNywgMCwgaSArIDEpLmZvcm1hdCgnRCcpKSxcclxuICAgICAgICAgICAgaG91cnM6IHJhbmdlKDI0LCBpID0+IHRoaXMuY3JlYXRlRGF0ZXRpbWUoMjAxNywgMCwgMSwgaSwgMCkuZm9ybWF0KCdIJykpLFxyXG4gICAgICAgICAgICBtaW51dGVzOiByYW5nZSg2MCwgaSA9PiB0aGlzLmNyZWF0ZURhdGV0aW1lKDIwMTcsIDAsIDEsIDEsIGkpLmZvcm1hdCgnbScpKSxcclxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5cygpLFxyXG4gICAgICAgICAgICBzaG9ydERheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c1Nob3J0KCksXHJcbiAgICAgICAgICAgIG5hcnJvd0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c01pbigpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRIb3VyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuY2xvbmUoZGF0ZSkuaG91cigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1pbnV0ZShkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLm1pbnV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBEYXlqcywgZW5kRGF0ZTogRGF5anMpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBuZXh0TW9udGggPSB0aGlzLl9nZXREYXRlSW5OZXh0TW9udGgoc3RhcnREYXRlKTtcclxuICAgICAgICByZXR1cm4gc3VwZXIuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAgICAgLy8gY3JlYXRpbmcgdGhlIERhdGUpLlxyXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCBcIiR7bW9udGh9XCIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGUgPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG1pbnV0ZSA8IDAgfHwgbWludXRlID4gNTkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbWludXRlIFwiJHttaW51dGV9XCIuIE1pbnV0ZSBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCA1OS5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRheWpzKG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VyLCBtaW51dGUpKTtcclxuXHJcbiAgICAgICAgLy8gSWYgdGhlIHJlc3VsdCBpc24ndCB2YWxpZCwgdGhlIGRhdGUgbXVzdCBoYXZlIGJlZW4gb3V0IG9mIGJvdW5kcyBmb3IgdGhpcyBtb250aC5cclxuICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5ob3VycztcclxuICAgIH1cclxuXHJcbiAgICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubWludXRlcztcclxuICAgIH1cclxuXHJcbiAgICBhZGRDYWxlbmRhckhvdXJzKGRhdGU6IERheWpzLCBob3VyczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5jbG9uZShkYXRlKS5hZGQoaG91cnMsICdob3VyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNaW51dGVzKGRhdGU6IERheWpzLCBtaW51dGVzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmFkZChtaW51dGVzLCAnbWludXRlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXREYXRlSW5OZXh0TW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmRhdGUoMSkuYWRkKDEsICdtb250aCcpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -116,10 +116,10 @@ export class CNativeDatetimeAdapter extends DatetimeAdapter {
|
|
|
116
116
|
}
|
|
117
117
|
return result;
|
|
118
118
|
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
120
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CNativeDatetimeAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
120
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CNativeDatetimeAdapter }); }
|
|
121
121
|
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CNativeDatetimeAdapter, decorators: [{
|
|
123
123
|
type: Injectable
|
|
124
124
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
125
125
|
type: Optional
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
127
127
|
type: Inject,
|
|
128
128
|
args: [MAT_DATE_LOCALE]
|
|
129
129
|
}] }, { type: i1.DateAdapter }] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGV0aW1lLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYWRhcHRlci9uYXRpdmUtZGF0ZXRpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELGtFQUFrRTtBQUNsRSxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVyRCxvRUFBb0U7QUFDcEUsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFdkQsU0FBUyxLQUFLLENBQUksTUFBYyxFQUFFLGFBQW1DO0lBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUdELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFxQjtJQUUvRCxZQUFpRCxhQUFxQixFQUFFLFNBQTRCO1FBQ2xHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENB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LFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNLLE9BQU8sQ0FBQyxDQUFTO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELCtEQUErRDtJQUN2RCx1QkFBdUIsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQVksRUFDdkUsS0FBYSxFQUFFLE9BQWU7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTNELHVGQUF1RjtRQUN2RiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBeklVLHNCQUFzQixrQkFFRCxlQUFlO2tIQUZwQyxzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQUdJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRldGltZUFkYXB0ZXIgfSBmcm9tICcuL2RhdGV0aW1lLWFkYXB0ZXInO1xyXG5cclxuLyoqIFRoZSBkZWZhdWx0IGhvdXIgbmFtZXMgdG8gdXNlIGlmIEludGwgQVBJIGlzIG5vdCBhdmFpbGFibGUuICovXHJcbmNvbnN0IERFRkFVTFRfSE9VUl9OQU1FUyA9IHJhbmdlKDI0LCBpID0+IFN0cmluZyhpKSk7XHJcblxyXG4vKiogVGhlIGRlZmF1bHQgbWludXRlIG5hbWVzIHRvIHVzZSBpZiBJbnRsIEFQSSBpcyBub3QgYXZhaWxhYmxlLiAqL1xyXG5jb25zdCBERUZBVUxUX01JTlVURV9OQU1FUyA9IHJhbmdlKDYwLCBpID0+IFN0cmluZyhpKSk7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ05hdGl2ZURhdGV0aW1lQWRhcHRlciBleHRlbmRzIERhdGV0aW1lQWRhcHRlcjxEYXRlPiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBtYXREYXRlTG9jYWxlOiBzdHJpbmcsIF9kZWxlZ2F0ZTogRGF0ZUFkYXB0ZXI8RGF0ZT4pIHtcclxuICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICB0aGlzLnNldExvY2FsZShtYXREYXRlTG9jYWxlKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZURhdGV0aW1lKHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSwgdGhpcy5nZXREYXRlKGRhdGUpLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICB9XHJcblxyXG4gIGdldEhvdXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWludXRlKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRhdGUuZ2V0TWludXRlcygpO1xyXG4gIH1cclxuXHJcbiAgaXNJbk5leHRNb250aChzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG5leHRNb250aCA9IHRoaXMuX2dldERhdGVJbk5leHRNb250aChzdGFydERhdGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRGF0ZXRpbWUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIsIGhvdXI6IG51bWJlciwgbWludXRlOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAvLyBjcmVhdGluZyB0aGUgRGF0ZSkuXHJcbiAgICBpZiAobW9udGggPCAwIHx8IG1vbnRoID4gMTEpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbW9udGggaW5kZXggXCIke21vbnRofVwiLiBNb250aCBpbmRleCBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCAxMS5gKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0ZSA8IDEpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIi4gRGF0ZSBoYXMgdG8gYmUgZ3JlYXRlciB0aGFuIDAuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtaW51dGUgPCAwIHx8IG1pbnV0ZSA+IDU5KSB7XHJcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1pbnV0ZSBcIiR7bWludXRlfVwiLiBNaW51dGUgaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgNTkuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyLCBtb250aCwgZGF0ZSwgaG91ciwgbWludXRlKTtcclxuXHJcbiAgICAvLyBDaGVjayB0aGF0IHRoZSBkYXRlIHdhc24ndCBhYm92ZSB0aGUgdXBwZXIgYm91bmQgZm9yIHRoZSBtb250aCwgY2F1c2luZyB0aGUgbW9udGggdG8gb3ZlcmZsb3dcclxuICAgIGlmIChyZXN1bHQuZ2V0TW9udGgoKSAhPT0gbW9udGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoKTtcclxuICAgIHJlc3VsdC5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBERUZBVUxUX0hPVVJfTkFNRVM7XHJcbiAgfVxyXG5cclxuICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gREVGQVVMVF9NSU5VVEVfTkFNRVM7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhZGRDYWxlbmRhclllYXJzKGRhdGU6IERhdGUsIHllYXJzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLmFkZENhbGVuZGFyTW9udGhzKGRhdGUsIHllYXJzICogMTIpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF0ZSwgbW9udGhzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGxldCBuZXdEYXRlID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpICsgbW9udGhzLCB0aGlzLmdldERhdGUoZGF0ZSksIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG5cclxuICAgIC8vIEl0J3MgcG9zc2libGUgdG8gd2luZCB1cCBpbiB0aGUgd3JvbmcgbW9udGggaWYgdGhlIG9yaWdpbmFsIG1vbnRoIGhhcyBtb3JlIGRheXMgdGhhbiB0aGUgbmV3XHJcbiAgICAvLyBtb250aC4gSW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZ28gdG8gdGhlIGxhc3QgZGF5IG9mIHRoZSBkZXNpcmVkIG1vbnRoLlxyXG4gICAgLy8gTm90ZTogdGhlIGFkZGl0aW9uYWwgKyAxMiAlIDEyIGVuc3VyZXMgd2UgZW5kIHVwIHdpdGggYSBwb3NpdGl2ZSBudW1iZXIsIHNpbmNlIEpTICUgZG9lc24ndFxyXG4gICAgLy8gZ3VhcmFudGVlIHRoaXMuXHJcbiAgICBpZiAodGhpcy5nZXRNb250aChuZXdEYXRlKSAhPT0gKCh0aGlzLmdldE1vbnRoKGRhdGUpICsgbW9udGhzKSAlIDEyICsgMTIpICUgMTIpIHtcclxuICAgICAgbmV3RGF0ZSA9IHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKG5ld0RhdGUpLCB0aGlzLmdldE1vbnRoKG5ld0RhdGUpLCAwLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3RGF0ZTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxyXG4gICAgICB0aGlzLmdldFllYXIoZGF0ZSksIHRoaXMuZ2V0TW9udGgoZGF0ZSksIHRoaXMuZ2V0RGF0ZShkYXRlKSArIGRheXMsIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJIb3VycyhkYXRlOiBEYXRlLCBob3VyczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSksXHJcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSArIGhvdXJzLCB0aGlzLmdldE1pbnV0ZShkYXRlKSk7XHJcbiAgfVxyXG5cclxuICBhZGRDYWxlbmRhck1pbnV0ZXMoZGF0ZTogRGF0ZSwgbWludXRlczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSksXHJcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkgKyBtaW51dGVzKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHRvSXNvODYwMShkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdXBlci50b0lzbzg2MDEoZGF0ZSkgKyAnVCcgKyBbXHJcbiAgICAgIHRoaXMuXzJkaWdpdChkYXRlLmdldFVUQ0hvdXJzKCkpLFxyXG4gICAgICB0aGlzLl8yZGlnaXQoZGF0ZS5nZXRVVENNaW51dGVzKCkpXHJcbiAgICBdLmpvaW4oJzonKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERhdGVJbk5leHRNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAxLFxyXG4gICAgICBkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBQYWRzIGEgbnVtYmVyIHRvIG1ha2UgaXQgdHdvIGRpZ2l0cy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBuIFRoZSBudW1iZXIgdG8gcGFkLlxyXG4gICAqIEByZXR1cm5zIFRoZSBwYWRkZWQgbnVtYmVyLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgXzJkaWdpdChuOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICgnMDAnICsgbikuc2xpY2UoLTIpO1xyXG4gIH1cclxuXHJcbiAgLyogQ3JlYXRlcyBhIGRhdGUgYnV0IGFsbG93cyB0aGUgbW9udGggYW5kIGRhdGUgdG8gb3ZlcmZsb3cuICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcixcclxuICAgIGhvdXJzOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKTtcclxuXHJcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcclxuICAgIC8vIGFiYnJldmlhdGlvbnMgZm9yIDE5eHguXHJcbiAgICBpZiAoeWVhciA+PSAwICYmIHllYXIgPCAxMDApIHtcclxuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGV0aW1lLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYWRhcHRlci9uYXRpdmUtZGF0ZXRpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELGtFQUFrRTtBQUNsRSxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVyRCxvRUFBb0U7QUFDcEUsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFdkQsU0FBUyxLQUFLLENBQUksTUFBYyxFQUFFLGFBQW1DO0lBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUdELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFxQjtJQUUvRCxZQUFpRCxhQUFxQixFQUFFLFNBQTRCO1FBQ2xHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENB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LFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNLLE9BQU8sQ0FBQyxDQUFTO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELCtEQUErRDtJQUN2RCx1QkFBdUIsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQVksRUFDdkUsS0FBYSxFQUFFLE9BQWU7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTNELHVGQUF1RjtRQUN2RiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBeklVLHNCQUFzQixrQkFFRCxlQUFlO21IQUZwQyxzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQUdJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRldGltZUFkYXB0ZXIgfSBmcm9tICcuL2RhdGV0aW1lLWFkYXB0ZXInO1xyXG5cclxuLyoqIFRoZSBkZWZhdWx0IGhvdXIgbmFtZXMgdG8gdXNlIGlmIEludGwgQVBJIGlzIG5vdCBhdmFpbGFibGUuICovXHJcbmNvbnN0IERFRkFVTFRfSE9VUl9OQU1FUyA9IHJhbmdlKDI0LCBpID0+IFN0cmluZyhpKSk7XHJcblxyXG4vKiogVGhlIGRlZmF1bHQgbWludXRlIG5hbWVzIHRvIHVzZSBpZiBJbnRsIEFQSSBpcyBub3QgYXZhaWxhYmxlLiAqL1xyXG5jb25zdCBERUZBVUxUX01JTlVURV9OQU1FUyA9IHJhbmdlKDYwLCBpID0+IFN0cmluZyhpKSk7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ05hdGl2ZURhdGV0aW1lQWRhcHRlciBleHRlbmRzIERhdGV0aW1lQWRhcHRlcjxEYXRlPiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBtYXREYXRlTG9jYWxlOiBzdHJpbmcsIF9kZWxlZ2F0ZTogRGF0ZUFkYXB0ZXI8RGF0ZT4pIHtcclxuICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICB0aGlzLnNldExvY2FsZShtYXREYXRlTG9jYWxlKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZURhdGV0aW1lKHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSwgdGhpcy5nZXREYXRlKGRhdGUpLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICB9XHJcblxyXG4gIGdldEhvdXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWludXRlKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRhdGUuZ2V0TWludXRlcygpO1xyXG4gIH1cclxuXHJcbiAgaXNJbk5leHRNb250aChzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG5leHRNb250aCA9IHRoaXMuX2dldERhdGVJbk5leHRNb250aChzdGFydERhdGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRGF0ZXRpbWUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIsIGhvdXI6IG51bWJlciwgbWludXRlOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAvLyBjcmVhdGluZyB0aGUgRGF0ZSkuXHJcbiAgICBpZiAobW9udGggPCAwIHx8IG1vbnRoID4gMTEpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbW9udGggaW5kZXggXCIke21vbnRofVwiLiBNb250aCBpbmRleCBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCAxMS5gKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0ZSA8IDEpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIi4gRGF0ZSBoYXMgdG8gYmUgZ3JlYXRlciB0aGFuIDAuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtaW51dGUgPCAwIHx8IG1pbnV0ZSA+IDU5KSB7XHJcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1pbnV0ZSBcIiR7bWludXRlfVwiLiBNaW51dGUgaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgNTkuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyLCBtb250aCwgZGF0ZSwgaG91ciwgbWludXRlKTtcclxuXHJcbiAgICAvLyBDaGVjayB0aGF0IHRoZSBkYXRlIHdhc24ndCBhYm92ZSB0aGUgdXBwZXIgYm91bmQgZm9yIHRoZSBtb250aCwgY2F1c2luZyB0aGUgbW9udGggdG8gb3ZlcmZsb3dcclxuICAgIGlmIChyZXN1bHQuZ2V0TW9udGgoKSAhPT0gbW9udGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoKTtcclxuICAgIHJlc3VsdC5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBERUZBVUxUX0hPVVJfTkFNRVM7XHJcbiAgfVxyXG5cclxuICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gREVGQVVMVF9NSU5VVEVfTkFNRVM7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhZGRDYWxlbmRhclllYXJzKGRhdGU6IERhdGUsIHllYXJzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLmFkZENhbGVuZGFyTW9udGhzKGRhdGUsIHllYXJzICogMTIpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF0ZSwgbW9udGhzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGxldCBuZXdEYXRlID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpICsgbW9udGhzLCB0aGlzLmdldERhdGUoZGF0ZSksIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG5cclxuICAgIC8vIEl0J3MgcG9zc2libGUgdG8gd2luZCB1cCBpbiB0aGUgd3JvbmcgbW9udGggaWYgdGhlIG9yaWdpbmFsIG1vbnRoIGhhcyBtb3JlIGRheXMgdGhhbiB0aGUgbmV3XHJcbiAgICAvLyBtb250aC4gSW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZ28gdG8gdGhlIGxhc3QgZGF5IG9mIHRoZSBkZXNpcmVkIG1vbnRoLlxyXG4gICAgLy8gTm90ZTogdGhlIGFkZGl0aW9uYWwgKyAxMiAlIDEyIGVuc3VyZXMgd2UgZW5kIHVwIHdpdGggYSBwb3NpdGl2ZSBudW1iZXIsIHNpbmNlIEpTICUgZG9lc24ndFxyXG4gICAgLy8gZ3VhcmFudGVlIHRoaXMuXHJcbiAgICBpZiAodGhpcy5nZXRNb250aChuZXdEYXRlKSAhPT0gKCh0aGlzLmdldE1vbnRoKGRhdGUpICsgbW9udGhzKSAlIDEyICsgMTIpICUgMTIpIHtcclxuICAgICAgbmV3RGF0ZSA9IHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKG5ld0RhdGUpLCB0aGlzLmdldE1vbnRoKG5ld0RhdGUpLCAwLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3RGF0ZTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxyXG4gICAgICB0aGlzLmdldFllYXIoZGF0ZSksIHRoaXMuZ2V0TW9udGgoZGF0ZSksIHRoaXMuZ2V0RGF0ZShkYXRlKSArIGRheXMsIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJIb3VycyhkYXRlOiBEYXRlLCBob3VyczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSksXHJcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSArIGhvdXJzLCB0aGlzLmdldE1pbnV0ZShkYXRlKSk7XHJcbiAgfVxyXG5cclxuICBhZGRDYWxlbmRhck1pbnV0ZXMoZGF0ZTogRGF0ZSwgbWludXRlczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSksXHJcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkgKyBtaW51dGVzKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHRvSXNvODYwMShkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdXBlci50b0lzbzg2MDEoZGF0ZSkgKyAnVCcgKyBbXHJcbiAgICAgIHRoaXMuXzJkaWdpdChkYXRlLmdldFVUQ0hvdXJzKCkpLFxyXG4gICAgICB0aGlzLl8yZGlnaXQoZGF0ZS5nZXRVVENNaW51dGVzKCkpXHJcbiAgICBdLmpvaW4oJzonKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERhdGVJbk5leHRNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAxLFxyXG4gICAgICBkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBQYWRzIGEgbnVtYmVyIHRvIG1ha2UgaXQgdHdvIGRpZ2l0cy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBuIFRoZSBudW1iZXIgdG8gcGFkLlxyXG4gICAqIEByZXR1cm5zIFRoZSBwYWRkZWQgbnVtYmVyLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgXzJkaWdpdChuOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICgnMDAnICsgbikuc2xpY2UoLTIpO1xyXG4gIH1cclxuXHJcbiAgLyogQ3JlYXRlcyBhIGRhdGUgYnV0IGFsbG93cyB0aGUgbW9udGggYW5kIGRhdGUgdG8gb3ZlcmZsb3cuICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcixcclxuICAgIGhvdXJzOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKTtcclxuXHJcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcclxuICAgIC8vIGFiYnJldmlhdGlvbnMgZm9yIDE5eHguXHJcbiAgICBpZiAoeWVhciA+PSAwICYmIHllYXIgPCAxMDApIHtcclxuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -6,14 +6,14 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* Usage: refer to the demo - app.component.html
|
|
7
7
|
*/
|
|
8
8
|
export class CmatBreadcrumbItemDirective {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CmatBreadcrumbItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: CmatBreadcrumbItemDirective, isStandalone: true, selector: "[cmatBreadcrumbItem]", ngImport: i0 }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CmatBreadcrumbItemDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: '[cmatBreadcrumbItem]',
|
|
16
16
|
standalone: true
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUM7Ozs7R0FJRztBQUtILE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgZGlyZWN0aXZlIGlzIHVzZWQgdG8gY3VzdG9taXplIHRoZSBicmVhZGNydW1iIGxhYmVsIGJlaGF2aW9yXHJcbiAqICpjbWF0QnJlYWRjcnVtYkl0ZW0gZGlyZWN0aXZlIGNhbiBiZSB1c2VkIGluIHRoZSBjaGlsZCBlbGVtZW50IG9mIGNtYXQtYnJlYWRjcnVtYlxyXG4gKiBVc2FnZTogcmVmZXIgdG8gdGhlIGRlbW8gLSBhcHAuY29tcG9uZW50Lmh0bWxcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbY21hdEJyZWFkY3J1bWJJdGVtXScsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0QnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUge1xyXG59XHJcbiJdfQ==
|
|
@@ -69,10 +69,10 @@ export class CmatBreadcrumbComponent {
|
|
|
69
69
|
};
|
|
70
70
|
})));
|
|
71
71
|
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CmatBreadcrumbComponent, deps: [{ token: i1.CmatBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: CmatBreadcrumbComponent, isStandalone: true, selector: "cmat-breadcrumb", inputs: { autoGenerate: "autoGenerate", preserveQueryParams: "preserveQueryParams", preserveFragment: "preserveFragment", class: "class", anchorTarget: "anchorTarget", separator: "separator" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: CmatBreadcrumbItemDirective, descendants: true, read: TemplateRef }], exportAs: ["cmatBreadcrumb"], ngImport: i0, template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n $index; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n rel=\"noopener noreferrer\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\" [attr.aria-disabled]=\"breadcrumb.disable\"\r\n [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
74
74
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: CmatBreadcrumbComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
77
77
|
args: [{ selector: 'cmat-breadcrumb', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatBreadcrumb', standalone: true, imports: [NgClass, AsyncPipe, RouterLink, NgTemplateOutlet], template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n $index; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n rel=\"noopener noreferrer\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\" [attr.aria-disabled]=\"breadcrumb.disable\"\r\n [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"] }]
|
|
78
78
|
}], ctorParameters: () => [{ type: i1.CmatBreadcrumbService }], propDecorators: { itemTemplate: [{
|
|
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
91
91
|
}], separator: [{
|
|
92
92
|
type: Input
|
|
93
93
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLGlCQUFpQixHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWExRSxNQUFNLE9BQU8sdUJBQXVCO0lBMkNoQyxZQUNZLGtCQUF5QztRQUF6Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBaENyRDs7O1dBR0c7UUFDTSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUU3Qjs7V0FFRztRQUNNLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUVqQzs7V0FFRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFVWixlQUFVLEdBQWtCLEdBQUcsQ0FBQztJQUdpQixDQUFDO0lBRTFELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0Q7Ozs7Ozs7O09BUUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFpQztRQUMzQyxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekQsR0FBRyxDQUFDLENBQUMsV0FBdUMsRUFBRSxFQUFFLENBQUMsV0FBVzthQUN2RCxNQUFNLENBQUMsQ0FBQyxVQUFvQyxFQUFFLEVBQUU7WUFDN0MsaUdBQWlHO1lBQ2pHLHVFQUF1RTtZQUN2RSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7UUFDNUMsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsVUFBb0MsRUFBRSxFQUFFO1lBQzFDLG1EQUFtRDtZQUNuRCxzRkFBc0Y7WUFDdEYsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUNuRCxPQUFPO2dCQUNILEdBQUcsVUFBVTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksU0FBUzthQUNwRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFDO0lBQ04sQ0FBQzs4R0ExRlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsdVRBU2xCLDJCQUEyQiwyQkFBeUIsV0FBVywyREMzQmpGLDg2RUFpRU0saVREakRRLE9BQU8sK0VBQUUsU0FBUyw4Q0FBRSxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBRWpELHVCQUF1QjtrQkFWbkMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQzswRkFZM0QsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQU90RSxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbiwgQ21hdEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtYnJlYWRjcnVtYicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBleHBvcnRBczogJ2NtYXRCcmVhZGNydW1iJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlLCBSb3V0ZXJMaW5rLCBOZ1RlbXBsYXRlT3V0bGV0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiDpnaLljIXlsZHpobnnm67lj6/ku6Xkvb/nlKjmraTmqKHmnb/ov5vooYzoh6rlrprkuYlcclxuICAgICAqIOaooeadv+S4iuS4i+aWh+aPkOS+m+agh+etvuOAgemZhOWKoOS/oeaBr+OAgeesrOS4gOS4quWSjOacgOWQjuS4gOS4que0ouW8lVxyXG4gICAgICog55So5L6LOlxyXG4gICAgICogMSkg5re75Yqg5Zu+5qCH5ZKM5qCH562+XHJcbiAgICAgKiAyKSBpMThuLiB7e2JyZWFkY3J1bWIgfCB0cmFuc2xhdGV9fVxyXG4gICAgICogMykg5pu05pS55paH5pys5aSn5bCP5YaZIHt7YnJlYWRjcnVtYiB8IHRpdGxlY2FzZX19XHJcbiAgICAgKi9cclxuICAgIEBDb250ZW50Q2hpbGQoQ21hdEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXHJcbiAgICBpdGVtVGVtcGxhdGU6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWmguaenOS4unRydWXvvIzljbPkvb/msqHmnInku7vkvZXmmKDlsITmoIfnrb7vvIzpnaLljIXlsZHkuZ/kvJroh6rliqjnlJ/miJBcclxuICAgICAqIOm7mOiupOagh+etvuS4jui3r+eUsXNlZ21lbnTnm7jlkIxcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgYXV0b0dlbmVyYXRlID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOm7mOiupOaDheWGteS4i++8jOafpeivouWPguaVsOWwhuS4jmJyZWFkY3J1bWJz5LiA6LW35L+d55WZXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHByZXNlcnZlUXVlcnlQYXJhbXMgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog6buY6K6k5oOF5Ya15LiL77yMZnJhZ21lbnRz5Y+C5pWw5bCG5LiOYnJlYWRjcnVtYnPkuIDotbfkv53nlZlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHJlc2VydmVGcmFnbWVudCA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlj6/mj5Dkvpvopobnm5bmoLflvI/vvIzlop7liqDnibnlvILmgKdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY2xhc3MgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIGFuY2hvclRhcmdldCA9IFwiX2JsYW5rXCIg5L2/YnJlYWRjcnVtYumTvuaOpeWcqOaWsOmAiemhueWNoeS4reaJk+W8gFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBhbmNob3JUYXJnZXQ6ICdfYmxhbmsnIHwgdm9pZDtcclxuXHJcbiAgICBicmVhZGNydW1icyQ6IE9ic2VydmFibGU8Q21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10+O1xyXG4gICAgc2VwYXJhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgX3NlcGFyYXRvcjogc3RyaW5nIHwgdm9pZCA9ICcvJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9icmVhZGNydW1iU2VydmljZTogQ21hdEJyZWFkY3J1bWJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBnZXQgc2VwYXJhdG9yKCk6IHN0cmluZyB8IHZvaWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZXBhcmF0b3I7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOmdouWMheWxkeWIhumalOespiwg6buY6K6kJy8nLlxyXG4gICAgICog55So5oi35Y+v5Lul6YCa6L+H5Lyg6YCS5a2X56ym5Liy5oiW5qih5p2/5p2l6Ieq5a6a5LmJ5YiG6ZqU56ymXHJcbiAgICAgKlxyXG4gICAgICog5a2X56ym5LiyIC0tPiBFeDogPGNtYXQtYnJlYWRjcnVtYiBzZXBhcmF0b3I9XCItXCI+PC9jbWF0LWJyZWFkY3J1bWI+XHJcbiAgICAgKlxyXG4gICAgICog5qih5p2/IC0tPiBFeDogPGNtYXQtYnJlYWRjcnVtYiBbc2VwYXJhdG9yXT1cInNlcGFyYXRvclRlbXBsYXRlXCI+PC9jbWF0LWJyZWFkY3J1bWI+XHJcbiAgICAgKiA8bmctdGVtcGxhdGUgI3NlcGFyYXRvclRlbXBsYXRlPjxtYXQtaWNvbj5hcnJvd19yaWdodDwvbWF0LWljb24+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzZXBhcmF0b3IodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XHJcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JUZW1wbGF0ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zZXBhcmF0b3IgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JUZW1wbGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlcGFyYXRvciA9IHZhbHVlIHx8ICcvJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyQgPSB0aGlzLl9icmVhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQucGlwZShcclxuICAgICAgICAgICAgbWFwKChicmVhZGNydW1iczogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10pID0+IGJyZWFkY3J1bWJzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChicmVhZGNydW1iOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVc3VhbGx5LCBicmVhZGNydW1iIGxpc3QgY2FuIGNvbnRhaW4gYSBjb21iaW5hdGlvbiBvZiBhdXRvIGdlbmVyYXRlZCBhbmQgdXNlciBzcGVjaWZpZWQgbGFiZWxzXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBmaWx0ZXJzIGF1dG9nZW5lcmF0ZWQgbGFiZWxzIGluIGNhc2Ugb2YgXCJbYXV0b0dlbmVyYXRlXTogZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9HZW5lcmF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFicmVhZGNydW1iLmlzQXV0b0dlbmVyYXRlZExhYmVsO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5tYXAoKGJyZWFkY3J1bWI6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBtdXRhdGUgYnJlYWRjcnVtYiBhcyBpdHMgc291cmNlIG9mIHRydXRoLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGNhbiBiZSBzY2VuYXJpb3Mgd2hlcmUgd2UgY2FuIGhhdmUgbXVsdGlwbGUgY21hdC1icmVhZGNydW1iIGluc3RhbmNlcyBpbiBwYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3V0ZUludGVyY2VwdG9yLCByb3V0ZUxpbmsgfSA9IGJyZWFkY3J1bWI7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYnJlYWRjcnVtYixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVMaW5rOiByb3V0ZUludGVyY2VwdG9yPy4oYnJlYWRjcnVtYiwgcm91dGVMaW5rKSA/PyByb3V0ZUxpbmssXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiIGNsYXNzPVwibS0wXCIgW25nQ2xhc3NdPVwiY2xhc3NcIj5cclxuICA8b2wgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LXdyYXAgbS0wIHAtMFwiPlxyXG4gICAgQGZvciAoXHJcbiAgICAgIGJyZWFkY3J1bWIgb2YgYnJlYWRjcnVtYnMkIHwgYXN5bmM7IHRyYWNrXHJcbiAgICAgICRpbmRleDsgbGV0IGlzTGFzdCA9ICRsYXN0OyBsZXQgaXNGaXJzdCA9ICRmaXJzdDsgbGV0IGluZGV4ID0gJGluZGV4OyBsZXQgY291bnQgPSAkY291bnQpIHtcclxuICAgICAgPGxpIGNsYXNzPVwibGlzdC1ub25lXCI+XHJcbiAgICAgICAgQGlmICghaXNMYXN0KSB7XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImNtYXQtYnJlYWRjcnVtYi1saW5rXCJcclxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BvaW50ZXItZXZlbnRzLW5vbmUgY3Vyc29yLW5vdC1hbGxvd2VkJzogYnJlYWRjcnVtYi5kaXNhYmxlIH1cIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImJyZWFkY3J1bWIuZGlzYWJsZVwiXHJcbiAgICAgICAgICBbYXR0ci50YWJJbmRleF09XCJicmVhZGNydW1iLmRpc2FibGUgPyAtMSA6IDBcIiBbcm91dGVyTGlua109XCJcclxuICAgICAgICAgICAgYnJlYWRjcnVtYi5yb3V0ZUludGVyY2VwdG9yXHJcbiAgICAgICAgICAgICAgPyBicmVhZGNydW1iLnJvdXRlSW50ZXJjZXB0b3IoIGJyZWFkY3J1bWIsYnJlYWRjcnVtYi5yb3V0ZUxpbmspXHJcbiAgICAgICAgICAgICAgOiBicmVhZGNydW1iLnJvdXRlTGlua1wiIFtxdWVyeVBhcmFtc109XCJwcmVzZXJ2ZVF1ZXJ5UGFyYW1zID8gYnJlYWRjcnVtYi5xdWVyeVBhcmFtcyA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50ID8gYnJlYWRjcnVtYi5mcmFnbWVudCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiYW5jaG9yVGFyZ2V0ID8gYW5jaG9yVGFyZ2V0IDogJ19zZWxmJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIGl0ZW1UZW1wbGF0ZTtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGJyZWFkY3J1bWIubGFiZWwsXHJcbiAgICAgICAgICAgICAgICBpbmZvOiBicmVhZGNydW1iLmluZm8sXHJcbiAgICAgICAgICAgICAgICBsYXN0OiBpc0xhc3QsXHJcbiAgICAgICAgICAgICAgICBmaXJzdDogaXNGaXJzdCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICBAaWYgKCFpdGVtVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgYnJlYWRjcnVtYi5sYWJlbFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGlzTGFzdCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBicmVhZGNydW1iLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgaW5mbzogYnJlYWRjcnVtYi5pbmZvLFxyXG4gICAgICAgICAgICAgICAgbGFzdDogaXNMYXN0LFxyXG4gICAgICAgICAgICAgICAgZmlyc3Q6IGlzRmlyc3QsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBjb3VudDogY291bnRcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZiAoIWl0ZW1UZW1wbGF0ZSkge1xyXG4gICAgICAgICAge3tcclxuICAgICAgICAgIGJyZWFkY3J1bWIubGFiZWxcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9saT5cclxuICBAaWYgKCFpc0xhc3QpIHtcclxuICAgIDxsaSBjbGFzcz1cImZsZXggc2VsZWN0LW5vbmUgbXgtNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJzZXBhcmF0b3JcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlcGFyYXRvclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIEBpZiAoc2VwYXJhdG9yVGVtcGxhdGU9PT1udWxsKSB7XHJcbiAgICAgICAge3sgc2VwYXJhdG9yIH19XHJcbiAgICAgIH1cclxuICAgIDwvbGk+XHJcbiAgfVxyXG59XHJcbjwvb2w+XHJcbjwvbmF2PiJdfQ==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLGlCQUFpQixHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWExRSxNQUFNLE9BQU8sdUJBQXVCO0lBMkNoQyxZQUNZLGtCQUF5QztRQUF6Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBaENyRDs7O1dBR0c7UUFDTSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUU3Qjs7V0FFRztRQUNNLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUVqQzs7V0FFRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFVWixlQUFVLEdBQWtCLEdBQUcsQ0FBQztJQUdpQixDQUFDO0lBRTFELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0Q7Ozs7Ozs7O09BUUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFpQztRQUMzQyxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekQsR0FBRyxDQUFDLENBQUMsV0FBdUMsRUFBRSxFQUFFLENBQUMsV0FBVzthQUN2RCxNQUFNLENBQUMsQ0FBQyxVQUFvQyxFQUFFLEVBQUU7WUFDN0MsaUdBQWlHO1lBQ2pHLHVFQUF1RTtZQUN2RSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7UUFDNUMsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsVUFBb0MsRUFBRSxFQUFFO1lBQzFDLG1EQUFtRDtZQUNuRCxzRkFBc0Y7WUFDdEYsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUNuRCxPQUFPO2dCQUNILEdBQUcsVUFBVTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksU0FBUzthQUNwRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFDO0lBQ04sQ0FBQzsrR0ExRlEsdUJBQXVCO21HQUF2Qix1QkFBdUIsdVRBU2xCLDJCQUEyQiwyQkFBeUIsV0FBVywyREMzQmpGLDg2RUFpRU0saVREakRRLE9BQU8sK0VBQUUsU0FBUyw4Q0FBRSxVQUFVLG9PQUFFLGdCQUFnQjs7NEZBRWpELHVCQUF1QjtrQkFWbkMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQzswRkFZM0QsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQU90RSxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbiwgQ21hdEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtYnJlYWRjcnVtYicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBleHBvcnRBczogJ2NtYXRCcmVhZGNydW1iJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlLCBSb3V0ZXJMaW5rLCBOZ1RlbXBsYXRlT3V0bGV0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiDpnaLljIXlsZHpobnnm67lj6/ku6Xkvb/nlKjmraTmqKHmnb/ov5vooYzoh6rlrprkuYlcclxuICAgICAqIOaooeadv+S4iuS4i+aWh+aPkOS+m+agh+etvuOAgemZhOWKoOS/oeaBr+OAgeesrOS4gOS4quWSjOacgOWQjuS4gOS4que0ouW8lVxyXG4gICAgICog55So5L6LOlxyXG4gICAgICogMSkg5re75Yqg5Zu+5qCH5ZKM5qCH562+XHJcbiAgICAgKiAyKSBpMThuLiB7e2JyZWFkY3J1bWIgfCB0cmFuc2xhdGV9fVxyXG4gICAgICogMykg5pu05pS55paH5pys5aSn5bCP5YaZIHt7YnJlYWRjcnVtYiB8IHRpdGxlY2FzZX19XHJcbiAgICAgKi9cclxuICAgIEBDb250ZW50Q2hpbGQoQ21hdEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXHJcbiAgICBpdGVtVGVtcGxhdGU6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWmguaenOS4unRydWXvvIzljbPkvb/msqHmnInku7vkvZXmmKDlsITmoIfnrb7vvIzpnaLljIXlsZHkuZ/kvJroh6rliqjnlJ/miJBcclxuICAgICAqIOm7mOiupOagh+etvuS4jui3r+eUsXNlZ21lbnTnm7jlkIxcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgYXV0b0dlbmVyYXRlID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOm7mOiupOaDheWGteS4i++8jOafpeivouWPguaVsOWwhuS4jmJyZWFkY3J1bWJz5LiA6LW35L+d55WZXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHByZXNlcnZlUXVlcnlQYXJhbXMgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog6buY6K6k5oOF5Ya15LiL77yMZnJhZ21lbnRz5Y+C5pWw5bCG5LiOYnJlYWRjcnVtYnPkuIDotbfkv53nlZlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHJlc2VydmVGcmFnbWVudCA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlj6/mj5Dkvpvopobnm5bmoLflvI/vvIzlop7liqDnibnlvILmgKdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY2xhc3MgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIGFuY2hvclRhcmdldCA9IFwiX2JsYW5rXCIg5L2/YnJlYWRjcnVtYumTvuaOpeWcqOaWsOmAiemhueWNoeS4reaJk+W8gFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBhbmNob3JUYXJnZXQ6ICdfYmxhbmsnIHwgdm9pZDtcclxuXHJcbiAgICBicmVhZGNydW1icyQ6IE9ic2VydmFibGU8Q21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10+O1xyXG4gICAgc2VwYXJhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgX3NlcGFyYXRvcjogc3RyaW5nIHwgdm9pZCA9ICcvJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9icmVhZGNydW1iU2VydmljZTogQ21hdEJyZWFkY3J1bWJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBnZXQgc2VwYXJhdG9yKCk6IHN0cmluZyB8IHZvaWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZXBhcmF0b3I7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOmdouWMheWxkeWIhumalOespiwg6buY6K6kJy8nLlxyXG4gICAgICog55So5oi35Y+v5Lul6YCa6L+H5Lyg6YCS5a2X56ym5Liy5oiW5qih5p2/5p2l6Ieq5a6a5LmJ5YiG6ZqU56ymXHJcbiAgICAgKlxyXG4gICAgICog5a2X56ym5LiyIC0tPiBFeDogPGNtYXQtYnJlYWRjcnVtYiBzZXBhcmF0b3I9XCItXCI+PC9jbWF0LWJyZWFkY3J1bWI+XHJcbiAgICAgKlxyXG4gICAgICog5qih5p2/IC0tPiBFeDogPGNtYXQtYnJlYWRjcnVtYiBbc2VwYXJhdG9yXT1cInNlcGFyYXRvclRlbXBsYXRlXCI+PC9jbWF0LWJyZWFkY3J1bWI+XHJcbiAgICAgKiA8bmctdGVtcGxhdGUgI3NlcGFyYXRvclRlbXBsYXRlPjxtYXQtaWNvbj5hcnJvd19yaWdodDwvbWF0LWljb24+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzZXBhcmF0b3IodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XHJcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JUZW1wbGF0ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zZXBhcmF0b3IgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JUZW1wbGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlcGFyYXRvciA9IHZhbHVlIHx8ICcvJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyQgPSB0aGlzLl9icmVhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQucGlwZShcclxuICAgICAgICAgICAgbWFwKChicmVhZGNydW1iczogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10pID0+IGJyZWFkY3J1bWJzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChicmVhZGNydW1iOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVc3VhbGx5LCBicmVhZGNydW1iIGxpc3QgY2FuIGNvbnRhaW4gYSBjb21iaW5hdGlvbiBvZiBhdXRvIGdlbmVyYXRlZCBhbmQgdXNlciBzcGVjaWZpZWQgbGFiZWxzXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBmaWx0ZXJzIGF1dG9nZW5lcmF0ZWQgbGFiZWxzIGluIGNhc2Ugb2YgXCJbYXV0b0dlbmVyYXRlXTogZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9HZW5lcmF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFicmVhZGNydW1iLmlzQXV0b0dlbmVyYXRlZExhYmVsO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5tYXAoKGJyZWFkY3J1bWI6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBtdXRhdGUgYnJlYWRjcnVtYiBhcyBpdHMgc291cmNlIG9mIHRydXRoLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGNhbiBiZSBzY2VuYXJpb3Mgd2hlcmUgd2UgY2FuIGhhdmUgbXVsdGlwbGUgY21hdC1icmVhZGNydW1iIGluc3RhbmNlcyBpbiBwYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3V0ZUludGVyY2VwdG9yLCByb3V0ZUxpbmsgfSA9IGJyZWFkY3J1bWI7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYnJlYWRjcnVtYixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVMaW5rOiByb3V0ZUludGVyY2VwdG9yPy4oYnJlYWRjcnVtYiwgcm91dGVMaW5rKSA/PyByb3V0ZUxpbmssXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiIGNsYXNzPVwibS0wXCIgW25nQ2xhc3NdPVwiY2xhc3NcIj5cclxuICA8b2wgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LXdyYXAgbS0wIHAtMFwiPlxyXG4gICAgQGZvciAoXHJcbiAgICAgIGJyZWFkY3J1bWIgb2YgYnJlYWRjcnVtYnMkIHwgYXN5bmM7IHRyYWNrXHJcbiAgICAgICRpbmRleDsgbGV0IGlzTGFzdCA9ICRsYXN0OyBsZXQgaXNGaXJzdCA9ICRmaXJzdDsgbGV0IGluZGV4ID0gJGluZGV4OyBsZXQgY291bnQgPSAkY291bnQpIHtcclxuICAgICAgPGxpIGNsYXNzPVwibGlzdC1ub25lXCI+XHJcbiAgICAgICAgQGlmICghaXNMYXN0KSB7XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImNtYXQtYnJlYWRjcnVtYi1saW5rXCJcclxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BvaW50ZXItZXZlbnRzLW5vbmUgY3Vyc29yLW5vdC1hbGxvd2VkJzogYnJlYWRjcnVtYi5kaXNhYmxlIH1cIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImJyZWFkY3J1bWIuZGlzYWJsZVwiXHJcbiAgICAgICAgICBbYXR0ci50YWJJbmRleF09XCJicmVhZGNydW1iLmRpc2FibGUgPyAtMSA6IDBcIiBbcm91dGVyTGlua109XCJcclxuICAgICAgICAgICAgYnJlYWRjcnVtYi5yb3V0ZUludGVyY2VwdG9yXHJcbiAgICAgICAgICAgICAgPyBicmVhZGNydW1iLnJvdXRlSW50ZXJjZXB0b3IoIGJyZWFkY3J1bWIsYnJlYWRjcnVtYi5yb3V0ZUxpbmspXHJcbiAgICAgICAgICAgICAgOiBicmVhZGNydW1iLnJvdXRlTGlua1wiIFtxdWVyeVBhcmFtc109XCJwcmVzZXJ2ZVF1ZXJ5UGFyYW1zID8gYnJlYWRjcnVtYi5xdWVyeVBhcmFtcyA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50ID8gYnJlYWRjcnVtYi5mcmFnbWVudCA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiYW5jaG9yVGFyZ2V0ID8gYW5jaG9yVGFyZ2V0IDogJ19zZWxmJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIGl0ZW1UZW1wbGF0ZTtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGJyZWFkY3J1bWIubGFiZWwsXHJcbiAgICAgICAgICAgICAgICBpbmZvOiBicmVhZGNydW1iLmluZm8sXHJcbiAgICAgICAgICAgICAgICBsYXN0OiBpc0xhc3QsXHJcbiAgICAgICAgICAgICAgICBmaXJzdDogaXNGaXJzdCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICBAaWYgKCFpdGVtVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgYnJlYWRjcnVtYi5sYWJlbFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGlzTGFzdCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBicmVhZGNydW1iLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgaW5mbzogYnJlYWRjcnVtYi5pbmZvLFxyXG4gICAgICAgICAgICAgICAgbGFzdDogaXNMYXN0LFxyXG4gICAgICAgICAgICAgICAgZmlyc3Q6IGlzRmlyc3QsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBjb3VudDogY291bnRcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZiAoIWl0ZW1UZW1wbGF0ZSkge1xyXG4gICAgICAgICAge3tcclxuICAgICAgICAgIGJyZWFkY3J1bWIubGFiZWxcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9saT5cclxuICBAaWYgKCFpc0xhc3QpIHtcclxuICAgIDxsaSBjbGFzcz1cImZsZXggc2VsZWN0LW5vbmUgbXgtNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJzZXBhcmF0b3JcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlcGFyYXRvclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIEBpZiAoc2VwYXJhdG9yVGVtcGxhdGU9PT1udWxsKSB7XHJcbiAgICAgICAge3sgc2VwYXJhdG9yIH19XHJcbiAgICAgIH1cclxuICAgIDwvbGk+XHJcbiAgfVxyXG59XHJcbjwvb2w+XHJcbjwvbmF2PiJdfQ==
|