@mediusinc/mng-commons 3.5.0 → 3.6.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/fonts/poppins-v20-latin-500.woff +0 -0
- package/assets/fonts/poppins-v20-latin-500.woff2 +0 -0
- package/assets/fonts/poppins-v20-latin-600.woff +0 -0
- package/assets/fonts/poppins-v20-latin-600.woff2 +0 -0
- package/assets/fonts/poppins-v20-latin-700.woff +0 -0
- package/assets/fonts/poppins-v20-latin-700.woff2 +0 -0
- package/assets/fonts/poppins-v20-latin-regular.woff +0 -0
- package/assets/fonts/poppins-v20-latin-regular.woff2 +0 -0
- package/assets/i18n/en.json +6 -2
- package/assets/i18n/sl.json +6 -2
- package/esm2022/lib/api/models/filter-match-type.model.mjs +3 -1
- package/esm2022/lib/api/utils/medius-rest.util.mjs +70 -40
- package/esm2022/lib/components/action/action.component.mjs +5 -5
- package/esm2022/lib/components/action/editor/action-editor.component.mjs +8 -7
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +96 -23
- package/esm2022/lib/components/form/date-range/date-range.component.mjs +14 -5
- package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +2 -2
- package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
- package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +17 -3
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +16 -4
- package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +2 -2
- package/esm2022/lib/components/layout/menu-item.component.mjs +3 -3
- package/esm2022/lib/components/layout/topbar.component.mjs +2 -2
- package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +30 -0
- package/esm2022/lib/components/layoutV2/footer.component.mjs +19 -0
- package/esm2022/lib/components/layoutV2/index.mjs +8 -0
- package/esm2022/lib/components/layoutV2/main-layout.component.mjs +89 -0
- package/esm2022/lib/components/layoutV2/menu-item.component.mjs +229 -0
- package/esm2022/lib/components/layoutV2/menu.component.mjs +31 -0
- package/esm2022/lib/components/layoutV2/model/index.mjs +3 -0
- package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +2 -0
- package/esm2022/lib/components/layoutV2/model/menu.model.mjs +2 -0
- package/esm2022/lib/components/layoutV2/services/index.mjs +3 -0
- package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +53 -0
- package/esm2022/lib/components/layoutV2/services/menu.service.mjs +122 -0
- package/esm2022/lib/components/layoutV2/sidebar.component.mjs +54 -0
- package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +40 -0
- package/esm2022/lib/components/layoutV2/topbar.component.mjs +75 -0
- package/esm2022/lib/components/layoutV2/version.component.mjs +63 -0
- package/esm2022/lib/components/pages/error/error.page.component.mjs +3 -3
- package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +3 -3
- package/esm2022/lib/components/tableview/index.mjs +2 -1
- package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +3 -6
- package/esm2022/lib/components/tableview/table/column-filter-full/column-filter-full.component.mjs +471 -0
- package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +2 -2
- package/esm2022/lib/components/tableview/table/table.component.mjs +24 -16
- package/esm2022/lib/components/tableview/tableview.component.mjs +6 -5
- package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +131 -34
- package/esm2022/lib/descriptors/editor/field.descriptor.mjs +25 -13
- package/esm2022/lib/descriptors/table/table.descriptor.mjs +10 -1
- package/esm2022/lib/descriptors/types/filter.type.mjs +3 -1
- package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +49 -0
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/mng-commons.module.mjs +10 -3
- package/esm2022/lib/models/common-init-event-enum.model.mjs +11 -0
- package/esm2022/lib/models/config.model.mjs +1 -1
- package/esm2022/lib/models/index.mjs +3 -1
- package/esm2022/lib/models/menu-config.model.mjs +2 -0
- package/esm2022/lib/models/menu.model.mjs +1 -1
- package/esm2022/lib/router/route-builder.mjs +55 -16
- package/esm2022/lib/router/routes-builder.mjs +9 -1
- package/esm2022/lib/services/action-executor.service.mjs +3 -4
- package/esm2022/lib/services/commons.service.mjs +26 -4
- package/esm2022/lib/services/internal/commons-init.service.mjs +28 -3
- package/esm2022/lib/utils/coercion.util.mjs +6 -0
- package/esm2022/lib/utils/index.mjs +2 -1
- package/esm2022/lib/utils/route.util.mjs +25 -1
- package/fesm2022/mediusinc-mng-commons.mjs +1897 -308
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/api/models/filter-match-type.model.d.ts +3 -1
- package/lib/components/action/action.component.d.ts +1 -0
- package/lib/components/action/editor/action-editor.component.d.ts +2 -1
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +26 -4
- package/lib/components/form/date-range/date-range.component.d.ts +4 -1
- package/lib/components/layoutV2/breadcrumb.component.d.ts +10 -0
- package/lib/components/layoutV2/footer.component.d.ts +8 -0
- package/lib/components/layoutV2/index.d.ts +7 -0
- package/lib/components/layoutV2/main-layout.component.d.ts +23 -0
- package/lib/components/layoutV2/menu-item.component.d.ts +38 -0
- package/lib/components/layoutV2/menu.component.d.ts +12 -0
- package/lib/components/layoutV2/model/index.d.ts +2 -0
- package/lib/components/layoutV2/model/layout-state.model.d.ts +11 -0
- package/lib/components/layoutV2/model/menu.model.d.ts +4 -0
- package/lib/components/layoutV2/services/index.d.ts +2 -0
- package/lib/components/layoutV2/services/main-layout.component.service.d.ts +14 -0
- package/lib/components/layoutV2/services/menu.service.d.ts +22 -0
- package/lib/components/layoutV2/sidebar.component.d.ts +19 -0
- package/lib/components/layoutV2/topbar-user.component.d.ts +16 -0
- package/lib/components/layoutV2/topbar.component.d.ts +23 -0
- package/lib/components/layoutV2/version.component.d.ts +19 -0
- package/lib/components/tableview/index.d.ts +1 -0
- package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +2 -3
- package/lib/components/tableview/table/column-filter-full/column-filter-full.component.d.ts +85 -0
- package/lib/components/tableview/table/table.component.d.ts +8 -6
- package/lib/descriptors/editor/editor.descriptor.d.ts +139 -42
- package/lib/descriptors/editor/field.descriptor.d.ts +35 -30
- package/lib/descriptors/table/table.descriptor.d.ts +3 -0
- package/lib/descriptors/types/filter.type.d.ts +3 -1
- package/lib/directives/dialog-keydown-handler.directive.d.ts +12 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/mng-commons.module.d.ts +50 -48
- package/lib/models/common-init-event-enum.model.d.ts +9 -0
- package/lib/models/config.model.d.ts +9 -8
- package/lib/models/index.d.ts +2 -0
- package/lib/models/menu-config.model.d.ts +15 -0
- package/lib/models/menu.model.d.ts +3 -1
- package/lib/router/route-builder.d.ts +21 -3
- package/lib/router/routes-builder.d.ts +5 -0
- package/lib/services/internal/commons-init.service.d.ts +5 -0
- package/lib/utils/coercion.util.d.ts +2 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/route.util.d.ts +19 -30
- package/package.json +2 -2
- package/scss/common/layout/_breadcrumb.scss +0 -1
- package/scss/mng-commons-dark-v2.scss +9 -0
- package/scss/mng-commons-light-v2.scss +9 -0
- package/scss/mng-overrides/_theme_autocomplete.scss +10 -12
- package/scss/mng-overrides/_theme_fileupload.scss +24 -0
- package/scss/mng-overrides/_theme_styles.scss +1 -0
- package/scss/v2/layout/_animation.scss +53 -0
- package/scss/v2/layout/_breadcrumb.scss +97 -0
- package/scss/v2/layout/_config.scss +42 -0
- package/scss/v2/layout/_content.scss +3 -0
- package/scss/v2/layout/_fonts.scss +32 -0
- package/scss/v2/layout/_layout_dark.scss +12 -0
- package/scss/v2/layout/_layout_light.scss +12 -0
- package/scss/v2/layout/_main.scss +54 -0
- package/scss/v2/layout/_profile.scss +10 -0
- package/scss/v2/layout/_responsive.scss +131 -0
- package/scss/v2/layout/_sidebar_drawer.scss +283 -0
- package/scss/v2/layout/_sidebar_horizontal.scss +168 -0
- package/scss/v2/layout/_sidebar_reveal.scss +201 -0
- package/scss/v2/layout/_sidebar_slim.scss +157 -0
- package/scss/v2/layout/_sidebar_slim_plus.scss +167 -0
- package/scss/v2/layout/_sidebar_vertical.scss +176 -0
- package/scss/v2/layout/_topbar.scss +174 -0
- package/scss/v2/layout/_typography.scss +62 -0
- package/scss/v2/layout/_utils.scss +33 -0
- package/scss/v2/layout/layout.scss +24 -0
- package/scss/v2/layout/mng/_mng_layout_footer.scss +33 -0
- package/scss/v2/layout/mng/_mng_layout_menu.scss +10 -0
- package/scss/v2/layout/mng/_mng_layout_styles.scss +3 -0
- package/scss/v2/layout/mng/_mng_layout_topbar.scss +16 -0
- package/scss/v2/layout/preloading.scss +84 -0
- package/scss/v2/theme/theme-base/_colors.scss +18 -0
- package/scss/v2/theme/theme-base/_common.scss +73 -0
- package/scss/v2/theme/theme-base/_components.scss +106 -0
- package/scss/v2/theme/theme-base/_mixins.scss +203 -0
- package/scss/v2/theme/theme-base/components/button/_button.scss +564 -0
- package/scss/v2/theme/theme-base/components/button/_speeddial.scss +86 -0
- package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +381 -0
- package/scss/v2/theme/theme-base/components/data/_carousel.scss +37 -0
- package/scss/v2/theme/theme-base/components/data/_datatable.scss +338 -0
- package/scss/v2/theme/theme-base/components/data/_dataview.scss +55 -0
- package/scss/v2/theme/theme-base/components/data/_filter.scss +138 -0
- package/scss/v2/theme/theme-base/components/data/_fullcalendar.scss +329 -0
- package/scss/v2/theme/theme-base/components/data/_orderlist.scss +103 -0
- package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +50 -0
- package/scss/v2/theme/theme-base/components/data/_paginator.scss +92 -0
- package/scss/v2/theme/theme-base/components/data/_picklist.scss +103 -0
- package/scss/v2/theme/theme-base/components/data/_timeline.scss +38 -0
- package/scss/v2/theme/theme-base/components/data/_tree.scss +149 -0
- package/scss/v2/theme/theme-base/components/data/_treetable.scss +256 -0
- package/scss/v2/theme/theme-base/components/data/_virtualscroller.scss +28 -0
- package/scss/v2/theme/theme-base/components/file/_fileupload.scss +58 -0
- package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +117 -0
- package/scss/v2/theme/theme-base/components/input/_calendar.scss +263 -0
- package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +130 -0
- package/scss/v2/theme/theme-base/components/input/_checkbox.scss +90 -0
- package/scss/v2/theme/theme-base/components/input/_chips.scss +54 -0
- package/scss/v2/theme/theme-base/components/input/_colorpicker.scss +19 -0
- package/scss/v2/theme/theme-base/components/input/_dropdown.scss +135 -0
- package/scss/v2/theme/theme-base/components/input/_editor.scss +122 -0
- package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +75 -0
- package/scss/v2/theme/theme-base/components/input/_inputmask.scss +16 -0
- package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +28 -0
- package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +60 -0
- package/scss/v2/theme/theme-base/components/input/_inputtext.scss +99 -0
- package/scss/v2/theme/theme-base/components/input/_listbox.scss +82 -0
- package/scss/v2/theme/theme-base/components/input/_multiselect.scss +173 -0
- package/scss/v2/theme/theme-base/components/input/_password.scss +52 -0
- package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +78 -0
- package/scss/v2/theme/theme-base/components/input/_rating.scss +55 -0
- package/scss/v2/theme/theme-base/components/input/_selectbutton.scss +50 -0
- package/scss/v2/theme/theme-base/components/input/_slider.scss +71 -0
- package/scss/v2/theme/theme-base/components/input/_togglebutton.scss +48 -0
- package/scss/v2/theme/theme-base/components/input/_treeselect.scss +139 -0
- package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +42 -0
- package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +61 -0
- package/scss/v2/theme/theme-base/components/menu/_dock.scss +86 -0
- package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +106 -0
- package/scss/v2/theme/theme-base/components/menu/_menu.scss +45 -0
- package/scss/v2/theme/theme-base/components/menu/_menubar.scss +188 -0
- package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +140 -0
- package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +64 -0
- package/scss/v2/theme/theme-base/components/menu/_steps.scss +56 -0
- package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +74 -0
- package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +65 -0
- package/scss/v2/theme/theme-base/components/messages/_inlinemessage.scss +69 -0
- package/scss/v2/theme/theme-base/components/messages/_message.scss +107 -0
- package/scss/v2/theme/theme-base/components/messages/_toast.scss +100 -0
- package/scss/v2/theme/theme-base/components/misc/_avatar.scss +30 -0
- package/scss/v2/theme/theme-base/components/misc/_badge.scss +48 -0
- package/scss/v2/theme/theme-base/components/misc/_blockui.scss +0 -0
- package/scss/v2/theme/theme-base/components/misc/_chip.scss +38 -0
- package/scss/v2/theme/theme-base/components/misc/_inplace.scss +17 -0
- package/scss/v2/theme/theme-base/components/misc/_progressbar.scss +17 -0
- package/scss/v2/theme/theme-base/components/misc/_scrolltop.scss +25 -0
- package/scss/v2/theme/theme-base/components/misc/_skeleton.scss +8 -0
- package/scss/v2/theme/theme-base/components/misc/_tag.scss +40 -0
- package/scss/v2/theme/theme-base/components/misc/_terminal.scss +11 -0
- package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +149 -0
- package/scss/v2/theme/theme-base/components/multimedia/_image.scss +49 -0
- package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +72 -0
- package/scss/v2/theme/theme-base/components/overlay/_dialog.scss +69 -0
- package/scss/v2/theme/theme-base/components/overlay/_overlaypanel.scss +64 -0
- package/scss/v2/theme/theme-base/components/overlay/_sidebar.scss +27 -0
- package/scss/v2/theme/theme-base/components/overlay/_tooltip.scss +33 -0
- package/scss/v2/theme/theme-base/components/panel/_accordion.scss +119 -0
- package/scss/v2/theme/theme-base/components/panel/_card.scss +30 -0
- package/scss/v2/theme/theme-base/components/panel/_divider.scss +31 -0
- package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +47 -0
- package/scss/v2/theme/theme-base/components/panel/_panel.scss +58 -0
- package/scss/v2/theme/theme-base/components/panel/_scrollpanel.scss +6 -0
- package/scss/v2/theme/theme-base/components/panel/_splitter.scss +19 -0
- package/scss/v2/theme/theme-base/components/panel/_tabview.scss +78 -0
- package/scss/v2/theme/theme-base/components/panel/_toolbar.scss +11 -0
- package/scss/v2/theme/theme-base/mng/_mng_mixins.scss +69 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_autocomplete.scss +34 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_button.scss +68 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_datatable.scss +146 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_datepicker.scss +21 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_dialog.scss +206 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_dropdown.scss +22 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_fileupload.scss +24 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_forms.scss +66 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_image.scss +27 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_input.scss +31 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_menu.scss +5 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_multiselect.scss +20 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_styles.scss +17 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_tableview.scss +97 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_tabview.scss +11 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_toast.scss +3 -0
- package/scss/v2/theme/theme-base/mng/_mng_theme_toolbar.scss +5 -0
- package/scss/v2/theme/theme-base/mng/_mng_variables.scss +15 -0
- package/scss/v2/theme/theme-dark/_extensions.scss +100 -0
- package/scss/v2/theme/theme-dark/_variables.scss +937 -0
- package/scss/v2/theme/theme-dark/blue/theme.scss +13 -0
- package/scss/v2/theme/theme-light/_extensions.scss +100 -0
- package/scss/v2/theme/theme-light/_variables.scss +937 -0
- package/scss/v2/theme/theme-light/blue/theme.scss +13 -0
|
@@ -7,7 +7,7 @@ import { CalendarModule } from 'primeng/calendar';
|
|
|
7
7
|
import { ColumnFilter, TableModule } from 'primeng/table';
|
|
8
8
|
import { Subject, debounceTime, distinctUntilChanged } from 'rxjs';
|
|
9
9
|
import { FilterDescriptor } from '../../../../descriptors/filter';
|
|
10
|
-
import { FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum
|
|
10
|
+
import { FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum } from '../../../../descriptors/types';
|
|
11
11
|
import { MngAutocompleteComponent, MngDateRangeComponent, MngDropdownComponent } from '../../../form';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "primeng/api";
|
|
@@ -106,7 +106,7 @@ export class MngTableColumnFilterComponent {
|
|
|
106
106
|
filterCallback(value);
|
|
107
107
|
}
|
|
108
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngTableColumnFilterComponent, isStandalone: true, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor"
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngTableColumnFilterComponent, isStandalone: true, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor" }, viewQueries: [{ propertyName: "primeColumnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"primeMatchModeCustomOptions\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container *ngIf=\"activeMatchMode === 'between'; else datePicker\">\n <mng-date-range\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [dateFormat]=\"descriptor.datePickerFormat\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"></mng-date-range>\n </ng-container>\n <ng-template #datePicker>\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [firstDayOfWeek]=\"1\">\n </p-calendar>\n </ng-template>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: MngDateRangeComponent, selector: "mng-date-range", inputs: ["placeholder", "showTime", "showSeconds", "dateFormat", "disabled"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "component", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName", "showClear", "autoClear", "selectFirst"], outputs: ["valueChange"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
110
110
|
}
|
|
111
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
@@ -114,11 +114,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
114
114
|
}], ctorParameters: function () { return [{ type: i1.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
|
|
115
115
|
type: Input,
|
|
116
116
|
args: [{ required: true }]
|
|
117
|
-
}], display: [{
|
|
118
|
-
type: Input,
|
|
119
|
-
args: [{ required: true }]
|
|
120
117
|
}], primeColumnFilter: [{
|
|
121
118
|
type: ViewChild,
|
|
122
119
|
args: [ColumnFilter]
|
|
123
120
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFpQixhQUFhLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxPQUFPLEVBQWdCLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQXlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hJLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FB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LEVBQUUsSUFBSSxDQUFDO29HQU9oSixVQUFVO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDRSxPQUFPO3NCQUEvQixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFFUyxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGEsIFByaW1lTkdDb25maWcsIFNlbGVjdEl0ZW19IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7Q2FsZW5kYXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHtDb2x1bW5GaWx0ZXIsIFRhYmxlTW9kdWxlfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yLCBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJMb29rdXBUeXBlRW51bSwgRmlsdGVyTWF0Y2hNb2RlRW51bSwgRmlsdGVyVHlwZUVudW0sIFRhYmxlRmlsdGVyRGlzcGxheUVudW19IGZyb20gJy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBNbmdEYXRlUmFuZ2VDb21wb25lbnQsIE1uZ0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9mb3JtJztcblxuLyoqXG4gKiBDYW5ub3QgYmUgb24gcHVzaCBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IGJlY2F1c2Ugb2YgZmlsdGVyIHVwZGF0ZXMgdHJpZ2dlcmVkIGZyb20gcm91dGUgd2hpY2ggY2F1c2VzIHRvIGZvcmNlIHVwZGF0ZSB2YWx1ZXMgaW4gZm9yY2UgbWV0YWRhdGFcbiAqIGFuZCB0aGVzZSBtdXN0IGJlIHByb3BhZ2F0ZWQgdGhyb3VnaCB0byB0aGlzIGNvbXBvbmVudCBhbmQgYmV5b25kIHRvIHByaW1lTkcuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLWZpbHRlcicsXG4gICAgaW1wb3J0czogW1RhYmxlTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1uZ0RhdGVSYW5nZUNvbXBvbmVudCwgQ2FsZW5kYXJNb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ1N3aXRjaCwgTW5nQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBOZ1N3aXRjaENhc2UsIE1uZ0Ryb3Bkb3duQ29tcG9uZW50LCBOZ0lmXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHJlYWRvbmx5IGxvb2t1cFR5cGVEcm9wZG93bjogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZUF1dG9jb21wbGV0ZTogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU7XG5cbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgZGVzY3JpcHRvciE6IEZpbHRlckRlc2NyaXB0b3I8VD47XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIGRpc3BsYXkhOiBUYWJsZUZpbHRlckRpc3BsYXlFbnVtO1xuXG4gICAgQFZpZXdDaGlsZChDb2x1bW5GaWx0ZXIpIHB1YmxpYyBwcmltZUNvbHVtbkZpbHRlciE6IENvbHVtbkZpbHRlcjtcblxuICAgIHB1YmxpYyBsb29rdXBEZXNjcmlwdG9yPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcblxuICAgIHB1YmxpYyBwcmltZUZpZWxkITogc3RyaW5nO1xuICAgIHB1YmxpYyBwcmltZVR5cGUgPSAndGV4dCc7XG4gICAgcHVibGljIHByaW1lU2hvd01hdGNoTW9kZSA9IHRydWU7XG4gICAgcHVibGljIHByaW1lRGVmYXVsdE1hdGNoTW9kZSE6IEZpbHRlck1hdGNoTW9kZUVudW07XG4gICAgcHVibGljIHByaW1lRGlzcGxheSA9ICdyb3cnO1xuICAgIHB1YmxpYyBwcmltZU1hdGNoTW9kZUN1c3RvbU9wdGlvbnM/OiBTZWxlY3RJdGVtW107XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIHByaXZhdGUgZGF0ZUZpbHRlckNhbGxiYWNrPzogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBkYXRlRGVib3VuY2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8RGF0ZSB8IERhdGVbXSB8IG51bGw+KCk7XG4gICAgcHJpdmF0ZSBkYXRlRGVib3VuY2VTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByaW1lQ29uZmlnOiBQcmltZU5HQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuZGF0ZURlYm91bmNlU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRlRGVib3VuY2VTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZpbHRlckNhbGxiYWNrPy4odik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aXZlTWF0Y2hNb2RlKCk6IEZpbHRlck1hdGNoTW9kZUVudW0gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLnByaW1lQ29sdW1uRmlsdGVyPy5kdC5maWx0ZXJzW3RoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eV0gYXMgRmlsdGVyTWV0YWRhdGE7XG4gICAgICAgIHJldHVybiBmaWx0ZXI/Lm1hdGNoTW9kZSBhcyBGaWx0ZXJNYXRjaE1vZGVFbnVtIHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IHRoaXMuZGVzY3JpcHRvci5kZWZhdWx0RmlsdGVyTWF0Y2hNb2RlID8/IEZpbHRlck1hdGNoTW9kZUVudW0uRXF1YWxzO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5kZXNjcmlwdG9yLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uQm9vbGVhbjpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdib29sZWFuJztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lU2hvd01hdGNoTW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnbnVtZXJpYyc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnZGF0ZSc7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSBGaWx0ZXJNYXRjaE1vZGVFbnVtLkRhdGVJcztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uTG9va3VwOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2xvb2t1cCc7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBEZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yIGFzIEZpbHRlckxvb2t1cERlc2NyaXB0b3I8VD47XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZUZpZWxkID0gYCR7dGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5fSR7dGhpcy5sb29rdXBEZXNjcmlwdG9yLml0ZW1zVmFsdWVQcm9wZXJ0eSA/IGAuJHt0aGlzLmxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5fWAgOiAnJ31gO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVNYXRjaE1vZGVDdXN0b21PcHRpb25zID0gW1xuICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IEZpbHRlck1hdGNoTW9kZUVudW0uRXF1YWxzLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihGaWx0ZXJNYXRjaE1vZGVFbnVtLkVxdWFscyl9LFxuICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IEZpbHRlck1hdGNoTW9kZUVudW0uTm90RXF1YWxzLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihGaWx0ZXJNYXRjaE1vZGVFbnVtLk5vdEVxdWFscyl9XG4gICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvb2t1cERlc2NyaXB0b3IubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZUN1c3RvbU9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlID0gRmlsdGVyTWF0Y2hNb2RlRW51bS5JbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uU3RyaW5nOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ3RleHQnO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlID0gRmlsdGVyTWF0Y2hNb2RlRW51bS5Db250YWlucztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcykge1xuICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZUN1c3RvbU9wdGlvbnMgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlcy5tYXAobW0gPT4gPFNlbGVjdEl0ZW0+e3ZhbHVlOiBtbSwgbGFiZWw6IHRoaXMucHJpbWVDb25maWcuZ2V0VHJhbnNsYXRpb24obW0pfSk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5wcmltZU1hdGNoTW9kZUN1c3RvbU9wdGlvbnMubWFwKG1hdGNoTW9kZSA9PiBtYXRjaE1vZGUudmFsdWUpLmluY2x1ZGVzKHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlID0gdGhpcy5kZXNjcmlwdG9yLm1hdGNoTW9kZXNbMF0gYXMgRmlsdGVyTWF0Y2hNb2RlRW51bTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wcmltZVNob3dNYXRjaE1vZGUgPSB0aGlzLnByaW1lTWF0Y2hNb2RlQ3VzdG9tT3B0aW9ucz8ubGVuZ3RoID4gMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRhdGVEZWJvdW5jZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIGRhdGVGaWx0ZXIodmFsdWU6IERhdGUgfCBEYXRlW10gfCBudWxsLCBmaWx0ZXJDYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5kYXRlRmlsdGVyQ2FsbGJhY2sgPSBmaWx0ZXJDYWxsYmFjaztcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlTWF0Y2hNb2RlID09PSBGaWx0ZXJNYXRjaE1vZGVFbnVtLkJldHdlZW4gJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVWYWx1ZXMgPSB2YWx1ZS5maWx0ZXIodiA9PiB2IGluc3RhbmNlb2YgRGF0ZSk7XG4gICAgICAgICAgICBpZiAoZGF0ZVZhbHVlcy5sZW5ndGggPD0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhdGVEZWJvdW5jZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBkYXRlUmFuZ2VDaGFuZ2UodmFsdWU6IERhdGVbXSB8IG51bGwsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBhdXRvY29tcGxldGVGaWx0ZXIodmFsdWU6IFQsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBkcm9wZG93bkZpbHRlcih2YWx1ZTogYW55LCBmaWx0ZXJDYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgZmlsdGVyQ2FsbGJhY2sodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxwLWNvbHVtbkZpbHRlclxuICAgIGNsYXNzPVwibWwtYXV0b1wiXG4gICAgW3R5cGVdPVwicHJpbWVUeXBlXCJcbiAgICBbZmllbGRdPVwiZGVzY3JpcHRvci5wcm9wZXJ0eVwiXG4gICAgW2Rpc3BsYXldPVwicHJpbWVEaXNwbGF5XCJcbiAgICBbbWF0Y2hNb2RlXT1cInByaW1lRGVmYXVsdE1hdGNoTW9kZVwiXG4gICAgW21hdGNoTW9kZU9wdGlvbnNdPVwicHJpbWVNYXRjaE1vZGVDdXN0b21PcHRpb25zXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUudHlwZVRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3Nob3dNYXRjaE1vZGVzXT1cInRydWVcIlxuICAgIFtzaG93T3BlcmF0b3JdPVwiZmFsc2VcIlxuICAgIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbaGlkZU9uQ2xlYXJdPVwidHJ1ZVwiXG4gICAgW3Nob3dNZW51XT1cInByaW1lU2hvd01hdGNoTW9kZVwiXG4gICAgW21pbkZyYWN0aW9uRGlnaXRzXT1cImRlc2NyaXB0b3IubnVtYmVyTWluRnJhY3Rpb25EaWdpdHNcIlxuICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCJkZXNjcmlwdG9yLm51bWJlck1heEZyYWN0aW9uRGlnaXRzXCJcbiAgICBbdXNlR3JvdXBpbmddPVwiZGVzY3JpcHRvci5udW1iZXJVc2VHcm91cGluZ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInByaW1lVHlwZSA9PT0gJ2RhdGUnXCIgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LXZhbHVlIGxldC1maWx0ZXJDYWxsYmFjaz1cImZpbHRlckNhbGxiYWNrXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVNYXRjaE1vZGUgPT09ICdiZXR3ZWVuJzsgZWxzZSBkYXRlUGlja2VyXCI+XG4gICAgICAgICAgICA8bW5nLWRhdGUtcmFuZ2VcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZGF0ZUZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cImRlc2NyaXB0b3IuZGF0ZVBpY2tlclNob3dUaW1lXCJcbiAgICAgICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkZXNjcmlwdG9yLmRhdGVQaWNrZXJGb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdG9yLnBsYWNlaG9sZGVyID8/ICdtbmdUYWJsZS50eXBlVG9GaWx0ZXInIHwgdHJhbnNsYXRlXCI+PC9tbmctZGF0ZS1yYW5nZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGF0ZVBpY2tlcj5cbiAgICAgICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZGF0ZUZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnR5cGVUb0ZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkZXNjcmlwdG9yLmRhdGVQaWNrZXJGb3JtYXQgPz8gJ2RkLm1tLnl5J1wiXG4gICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cImRlc2NyaXB0b3IuZGF0ZVBpY2tlclNob3dUaW1lXCJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiMVwiPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibG9va3VwRGVzY3JpcHRvclwiIHBUZW1wbGF0ZT1cImZpbHRlclwiIGxldC12YWx1ZSBsZXQtZmlsdGVyQ2FsbGJhY2s9XCJmaWx0ZXJDYWxsYmFja1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJsb29rdXBEZXNjcmlwdG9yLmxvb2t1cFR5cGVcIj5cbiAgICAgICAgICAgIDxtbmctYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cImxvb2t1cFR5cGVBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YVByb3ZpZGVyXCJcbiAgICAgICAgICAgICAgICBbZGF0YUtleVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNWYWx1ZVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFRyYW5zbGF0ZV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJsb29rdXBEZXNjcmlwdG9yLm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbb3Blbk9uRm9jdXNdPVwibG9va3VwRGVzY3JpcHRvci5hdXRvY29tcGxldGVPcGVuT25Gb2N1c1wiXG4gICAgICAgICAgICAgICAgW2lubGluZVNlYXJjaF09XCJsb29rdXBEZXNjcmlwdG9yLmF1dG9jb21wbGV0ZUlubGluZVNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlYXJjaFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJhdXRvY29tcGxldGVGaWx0ZXIoJGV2ZW50LCBmaWx0ZXJDYWxsYmFjaylcIj5cbiAgICAgICAgICAgIDwvbW5nLWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgIDxtbmctZHJvcGRvd25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwibG9va3VwVHlwZURyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFQcm92aWRlcl09XCJsb29rdXBEZXNjcmlwdG9yLmRhdGFQcm92aWRlclwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zVmFsdWVQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zVmFsdWVQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxQcm9wZXJ0eV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxQcm9wZXJ0eVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zTGFiZWxUcmFuc2xhdGVdPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwibG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnNlbGVjdFRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJsb29rdXBEZXNjcmlwdG9yLmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQ2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuZHJvcGRvd25DbGFzc05hbWVcIlxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtjaGFuZ2VWYWx1ZU9uQmx1cl09XCJsb29rdXBEZXNjcmlwdG9yLm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiZHJvcGRvd25GaWx0ZXIoJGV2ZW50LCBmaWx0ZXJDYWxsYmFjaylcIj5cbiAgICAgICAgICAgIDwvbW5nLWRyb3Bkb3duPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9wLWNvbHVtbkZpbHRlcj5cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L3RhYmxlL2NvbHVtbi1maWx0ZXIvY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFpQixhQUFhLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxPQUFPLEVBQWdCLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQXlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hHLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUVw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QUFDO29HQU9oSixVQUFVO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFFUyxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGEsIFByaW1lTkdDb25maWcsIFNlbGVjdEl0ZW19IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7Q2FsZW5kYXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHtDb2x1bW5GaWx0ZXIsIFRhYmxlTW9kdWxlfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yLCBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJMb29rdXBUeXBlRW51bSwgRmlsdGVyTWF0Y2hNb2RlRW51bSwgRmlsdGVyVHlwZUVudW19IGZyb20gJy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBNbmdEYXRlUmFuZ2VDb21wb25lbnQsIE1uZ0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9mb3JtJztcblxuLyoqXG4gKiBDYW5ub3QgYmUgb24gcHVzaCBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IGJlY2F1c2Ugb2YgZmlsdGVyIHVwZGF0ZXMgdHJpZ2dlcmVkIGZyb20gcm91dGUgd2hpY2ggY2F1c2VzIHRvIGZvcmNlIHVwZGF0ZSB2YWx1ZXMgaW4gZm9yY2UgbWV0YWRhdGFcbiAqIGFuZCB0aGVzZSBtdXN0IGJlIHByb3BhZ2F0ZWQgdGhyb3VnaCB0byB0aGlzIGNvbXBvbmVudCBhbmQgYmV5b25kIHRvIHByaW1lTkcuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdGFibGUtY29sdW1uLWZpbHRlcicsXG4gICAgaW1wb3J0czogW1RhYmxlTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1uZ0RhdGVSYW5nZUNvbXBvbmVudCwgQ2FsZW5kYXJNb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ1N3aXRjaCwgTW5nQXV0b2NvbXBsZXRlQ29tcG9uZW50LCBOZ1N3aXRjaENhc2UsIE1uZ0Ryb3Bkb3duQ29tcG9uZW50LCBOZ0lmXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGVDb2x1bW5GaWx0ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHJlYWRvbmx5IGxvb2t1cFR5cGVEcm9wZG93bjogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9va3VwVHlwZUF1dG9jb21wbGV0ZTogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU7XG5cbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgZGVzY3JpcHRvciE6IEZpbHRlckRlc2NyaXB0b3I8VD47XG5cbiAgICBAVmlld0NoaWxkKENvbHVtbkZpbHRlcikgcHVibGljIHByaW1lQ29sdW1uRmlsdGVyITogQ29sdW1uRmlsdGVyO1xuXG4gICAgcHVibGljIGxvb2t1cERlc2NyaXB0b3I/OiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPFQ+O1xuXG4gICAgcHVibGljIHByaW1lRmllbGQhOiBzdHJpbmc7XG4gICAgcHVibGljIHByaW1lVHlwZSA9ICd0ZXh0JztcbiAgICBwdWJsaWMgcHJpbWVTaG93TWF0Y2hNb2RlID0gdHJ1ZTtcbiAgICBwdWJsaWMgcHJpbWVEZWZhdWx0TWF0Y2hNb2RlITogRmlsdGVyTWF0Y2hNb2RlRW51bTtcbiAgICBwdWJsaWMgcHJpbWVEaXNwbGF5ID0gJ3Jvdyc7XG4gICAgcHVibGljIHByaW1lTWF0Y2hNb2RlQ3VzdG9tT3B0aW9ucz86IFNlbGVjdEl0ZW1bXTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgcHJpdmF0ZSBkYXRlRmlsdGVyQ2FsbGJhY2s/OiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIGRhdGVEZWJvdW5jZVN1YmplY3QgPSBuZXcgU3ViamVjdDxEYXRlIHwgRGF0ZVtdIHwgbnVsbD4oKTtcbiAgICBwcml2YXRlIGRhdGVEZWJvdW5jZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJpbWVDb25maWc6IFByaW1lTkdDb25maWcpIHtcbiAgICAgICAgdGhpcy5kYXRlRGVib3VuY2VTdWJzY3JpcHRpb24gPSB0aGlzLmRhdGVEZWJvdW5jZVN1YmplY3QucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdGhpcy5kYXRlRmlsdGVyQ2FsbGJhY2s/Lih2KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVNYXRjaE1vZGUoKTogRmlsdGVyTWF0Y2hNb2RlRW51bSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMucHJpbWVDb2x1bW5GaWx0ZXI/LmR0LmZpbHRlcnNbdGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5XSBhcyBGaWx0ZXJNZXRhZGF0YTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcj8ubWF0Y2hNb2RlIGFzIEZpbHRlck1hdGNoTW9kZUVudW0gfCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucHJpbWVEZWZhdWx0TWF0Y2hNb2RlID0gdGhpcy5kZXNjcmlwdG9yLmRlZmF1bHRGaWx0ZXJNYXRjaE1vZGUgPz8gRmlsdGVyTWF0Y2hNb2RlRW51bS5FcXVhbHM7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLmRlc2NyaXB0b3IuZmlsdGVyVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVUeXBlID0gJ2Jvb2xlYW4nO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbWVTaG93TWF0Y2hNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdudW1lcmljJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZUVudW0uRGF0ZTpcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lVHlwZSA9ICdkYXRlJztcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRGVmYXVsdE1hdGNoTW9kZSA9IEZpbHRlck1hdGNoTW9kZUVudW0uRGF0ZUlzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5Mb29rdXA6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAnbG9va3VwJztcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cERlc2NyaXB0b3IgPSB0aGlzLmRlc2NyaXB0b3IgYXMgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxUPjtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW1lRmllbGQgPSBgJHt0aGlzLmRlc2NyaXB0b3IucHJvcGVydHl9JHt0aGlzLmxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5ID8gYC4ke3RoaXMubG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHl9YCA6ICcnfWA7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZU1hdGNoTW9kZUN1c3RvbU9wdGlvbnMgPSBbXG4gICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogRmlsdGVyTWF0Y2hNb2RlRW51bS5FcXVhbHMsIGxhYmVsOiB0aGlzLnByaW1lQ29uZmlnLmdldFRyYW5zbGF0aW9uKEZpbHRlck1hdGNoTW9kZUVudW0uRXF1YWxzKX0sXG4gICAgICAgICAgICAgICAgICAgIHt2YWx1ZTogRmlsdGVyTWF0Y2hNb2RlRW51bS5Ob3RFcXVhbHMsIGxhYmVsOiB0aGlzLnByaW1lQ29uZmlnLmdldFRyYW5zbGF0aW9uKEZpbHRlck1hdGNoTW9kZUVudW0uTm90RXF1YWxzKX1cbiAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubG9va3VwRGVzY3JpcHRvci5tdWx0aXNlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaW1lTWF0Y2hNb2RlQ3VzdG9tT3B0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSBGaWx0ZXJNYXRjaE1vZGVFbnVtLkluO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlRW51bS5TdHJpbmc6XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZVR5cGUgPSAndGV4dCc7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSBGaWx0ZXJNYXRjaE1vZGVFbnVtLkNvbnRhaW5zO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzKSB7XG4gICAgICAgICAgICB0aGlzLnByaW1lTWF0Y2hNb2RlQ3VzdG9tT3B0aW9ucyA9IHRoaXMuZGVzY3JpcHRvci5tYXRjaE1vZGVzLm1hcChtbSA9PiA8U2VsZWN0SXRlbT57dmFsdWU6IG1tLCBsYWJlbDogdGhpcy5wcmltZUNvbmZpZy5nZXRUcmFuc2xhdGlvbihtbSl9KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLnByaW1lTWF0Y2hNb2RlQ3VzdG9tT3B0aW9ucy5tYXAobWF0Y2hNb2RlID0+IG1hdGNoTW9kZS52YWx1ZSkuaW5jbHVkZXModGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltZURlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLmRlc2NyaXB0b3IubWF0Y2hNb2Rlc1swXSBhcyBGaWx0ZXJNYXRjaE1vZGVFbnVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnByaW1lU2hvd01hdGNoTW9kZSA9IHRoaXMucHJpbWVNYXRjaE1vZGVDdXN0b21PcHRpb25zPy5sZW5ndGggPiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGF0ZURlYm91bmNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgZGF0ZUZpbHRlcih2YWx1ZTogRGF0ZSB8IERhdGVbXSB8IG51bGwsIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLmRhdGVGaWx0ZXJDYWxsYmFjayA9IGZpbHRlckNhbGxiYWNrO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVNYXRjaE1vZGUgPT09IEZpbHRlck1hdGNoTW9kZUVudW0uQmV0d2VlbiAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVZhbHVlcyA9IHZhbHVlLmZpbHRlcih2ID0+IHYgaW5zdGFuY2VvZiBEYXRlKTtcbiAgICAgICAgICAgIGlmIChkYXRlVmFsdWVzLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0ZURlYm91bmNlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIGRhdGVSYW5nZUNoYW5nZSh2YWx1ZTogRGF0ZVtdIHwgbnVsbCwgZmlsdGVyQ2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIGF1dG9jb21wbGV0ZUZpbHRlcih2YWx1ZTogVCwgZmlsdGVyQ2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG4gICAgICAgIGZpbHRlckNhbGxiYWNrKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGRyb3Bkb3duRmlsdGVyKHZhbHVlOiBhbnksIGZpbHRlckNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXJDYWxsYmFjayh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPHAtY29sdW1uRmlsdGVyXG4gICAgY2xhc3M9XCJtbC1hdXRvXCJcbiAgICBbdHlwZV09XCJwcmltZVR5cGVcIlxuICAgIFtmaWVsZF09XCJkZXNjcmlwdG9yLnByb3BlcnR5XCJcbiAgICBbZGlzcGxheV09XCJwcmltZURpc3BsYXlcIlxuICAgIFttYXRjaE1vZGVdPVwicHJpbWVEZWZhdWx0TWF0Y2hNb2RlXCJcbiAgICBbbWF0Y2hNb2RlT3B0aW9uc109XCJwcmltZU1hdGNoTW9kZUN1c3RvbU9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdG9yLnBsYWNlaG9sZGVyID8/ICdtbmdUYWJsZS50eXBlVG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICBbc2hvd01hdGNoTW9kZXNdPVwidHJ1ZVwiXG4gICAgW3Nob3dPcGVyYXRvcl09XCJmYWxzZVwiXG4gICAgW3Nob3dBZGRCdXR0b25dPVwiZmFsc2VcIlxuICAgIFtoaWRlT25DbGVhcl09XCJ0cnVlXCJcbiAgICBbc2hvd01lbnVdPVwicHJpbWVTaG93TWF0Y2hNb2RlXCJcbiAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiZGVzY3JpcHRvci5udW1iZXJNaW5GcmFjdGlvbkRpZ2l0c1wiXG4gICAgW21heEZyYWN0aW9uRGlnaXRzXT1cImRlc2NyaXB0b3IubnVtYmVyTWF4RnJhY3Rpb25EaWdpdHNcIlxuICAgIFt1c2VHcm91cGluZ109XCJkZXNjcmlwdG9yLm51bWJlclVzZUdyb3VwaW5nXCI+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwicHJpbWVUeXBlID09PSAnZGF0ZSdcIiBwVGVtcGxhdGU9XCJmaWx0ZXJcIiBsZXQtdmFsdWUgbGV0LWZpbHRlckNhbGxiYWNrPVwiZmlsdGVyQ2FsbGJhY2tcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZU1hdGNoTW9kZSA9PT0gJ2JldHdlZW4nOyBlbHNlIGRhdGVQaWNrZXJcIj5cbiAgICAgICAgICAgIDxtbmctZGF0ZS1yYW5nZVxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJkYXRlRmlsdGVyKCRldmVudCwgZmlsdGVyQ2FsbGJhY2spXCJcbiAgICAgICAgICAgICAgICBbc2hvd1RpbWVdPVwiZGVzY3JpcHRvci5kYXRlUGlja2VyU2hvd1RpbWVcIlxuICAgICAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRlc2NyaXB0b3IuZGF0ZVBpY2tlckZvcm1hdFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0b3IucGxhY2Vob2xkZXIgPz8gJ21uZ1RhYmxlLnR5cGVUb0ZpbHRlcicgfCB0cmFuc2xhdGVcIj48L21uZy1kYXRlLXJhbmdlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkYXRlUGlja2VyPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJkYXRlRmlsdGVyKCRldmVudCwgZmlsdGVyQ2FsbGJhY2spXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUudHlwZVRvRmlsdGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRlc2NyaXB0b3IuZGF0ZVBpY2tlckZvcm1hdCA/PyAnZGQubW0ueXknXCJcbiAgICAgICAgICAgICAgICBbc2hvd1RpbWVdPVwiZGVzY3JpcHRvci5kYXRlUGlja2VyU2hvd1RpbWVcIlxuICAgICAgICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCIxXCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsb29rdXBEZXNjcmlwdG9yXCIgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LXZhbHVlIGxldC1maWx0ZXJDYWxsYmFjaz1cImZpbHRlckNhbGxiYWNrXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImxvb2t1cERlc2NyaXB0b3IubG9va3VwVHlwZVwiPlxuICAgICAgICAgICAgPG1uZy1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwibG9va3VwVHlwZUF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIFtkYXRhUHJvdmlkZXJdPVwibG9va3VwRGVzY3JpcHRvci5kYXRhUHJvdmlkZXJcIlxuICAgICAgICAgICAgICAgIFtkYXRhS2V5UHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc1ZhbHVlUHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc0xhYmVsUHJvcGVydHldPVwibG9va3VwRGVzY3JpcHRvci5pdGVtc0xhYmVsUHJvcGVydHlcIlxuICAgICAgICAgICAgICAgIFtpdGVtc0xhYmVsVHJhbnNsYXRlXT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImxvb2t1cERlc2NyaXB0b3IubXVsdGlzZWxlY3RcIlxuICAgICAgICAgICAgICAgIFtvcGVuT25Gb2N1c109XCJsb29rdXBEZXNjcmlwdG9yLmF1dG9jb21wbGV0ZU9wZW5PbkZvY3VzXCJcbiAgICAgICAgICAgICAgICBbaW5saW5lU2VhcmNoXT1cImxvb2t1cERlc2NyaXB0b3IuYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUuc2VhcmNoVG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuY2xhc3NOYW1lXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25DbGFzc05hbWVdPVwibG9va3VwRGVzY3JpcHRvci5kcm9wZG93bkNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImF1dG9jb21wbGV0ZUZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiPlxuICAgICAgICAgICAgPC9tbmctYXV0b2NvbXBsZXRlPlxuICAgICAgICAgICAgPG1uZy1kcm9wZG93blxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJsb29rdXBUeXBlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVByb3ZpZGVyXT1cImxvb2t1cERlc2NyaXB0b3IuZGF0YVByb3ZpZGVyXCJcbiAgICAgICAgICAgICAgICBbaXRlbXNWYWx1ZVByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNWYWx1ZVByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cImxvb2t1cERlc2NyaXB0b3IuaXRlbXNMYWJlbFByb3BlcnR5XCJcbiAgICAgICAgICAgICAgICBbaXRlbXNMYWJlbFRyYW5zbGF0ZV09XCJsb29rdXBEZXNjcmlwdG9yLml0ZW1zTGFiZWxUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJsb29rdXBEZXNjcmlwdG9yLm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGVzY3JpcHRvci5wbGFjZWhvbGRlciA/PyAnbW5nVGFibGUuc2VsZWN0VG9GaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImxvb2t1cERlc2NyaXB0b3IuY2xhc3NOYW1lXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25DbGFzc05hbWVdPVwibG9va3VwRGVzY3JpcHRvci5kcm9wZG93bkNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2NoYW5nZVZhbHVlT25CbHVyXT1cImxvb2t1cERlc2NyaXB0b3IubXVsdGlzZWxlY3RcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJkcm9wZG93bkZpbHRlcigkZXZlbnQsIGZpbHRlckNhbGxiYWNrKVwiPlxuICAgICAgICAgICAgPC9tbmctZHJvcGRvd24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3AtY29sdW1uRmlsdGVyPlxuIl19
|