@theseam/ui-common 0.4.28-beta.4 → 0.4.28
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/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
- package/datatable/datatable/datatable.component.d.ts +9 -61
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
- package/datatable/datatable.module.d.ts +20 -29
- package/datatable/models/table-column.d.ts +1 -22
- package/datatable/public-api.d.ts +0 -14
- package/datatable/services/columns-manager.service.d.ts +0 -7
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
- package/esm2020/datatable/datatable/datatable.component.mjs +31 -240
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +2 -2
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +1 -1
- package/esm2020/datatable/datatable.module.mjs +7 -49
- package/esm2020/datatable/models/table-column.mjs +1 -1
- package/esm2020/datatable/public-api.mjs +1 -15
- package/esm2020/datatable/services/columns-manager.service.mjs +2 -27
- package/esm2020/datatable/utils/create-action-menu-column.mjs +3 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +1 -1
- package/esm2020/framework/base-layout/base-layout.component.mjs +4 -14
- package/esm2020/framework/base-layout/base-layout.module.mjs +1 -6
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +5 -21
- package/esm2020/framework/base-layout/index.mjs +1 -2
- package/esm2020/framework/public-api.mjs +1 -2
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +2 -2
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +78 -28
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -12
- package/esm2020/framework/side-nav/side-nav-tokens.mjs +5 -1
- package/esm2020/framework/side-nav/side-nav-utils.mjs +13 -3
- package/esm2020/framework/side-nav/side-nav.component.mjs +52 -119
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +39 -9
- package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
- package/esm2020/framework/top-bar/index.mjs +1 -3
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +4 -10
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
- package/esm2020/framework/top-bar/top-bar.component.mjs +11 -55
- package/esm2020/framework/top-bar/top-bar.module.mjs +5 -15
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +1 -1
- package/esm2020/graphql/datatable/index.mjs +1 -4
- package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
- package/esm2020/layout/layout.service.mjs +2 -12
- package/esm2020/menu/menu-toggle.directive.mjs +2 -7
- package/esm2020/navigation-reload/navigation-reload.config.mjs +2 -0
- package/esm2020/navigation-reload/navigation-reload.provider.mjs +14 -0
- package/esm2020/navigation-reload/navigation-reload.service.mjs +54 -0
- package/esm2020/navigation-reload/public-api.mjs +4 -0
- package/esm2020/navigation-reload/theseam-ui-common-navigation-reload.mjs +5 -0
- package/esm2020/popover/popover/popover.component.mjs +3 -7
- package/esm2020/popover/popover.directive.mjs +2 -6
- package/esm2020/table/public-api.mjs +1 -4
- package/esm2020/table/table/table.component.mjs +5 -90
- package/esm2020/table/table.module.mjs +5 -21
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +3 -5
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +1 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +2 -2
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +2 -2
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +62 -1035
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +193 -910
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +1 -254
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +2 -11
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +1 -6
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +75 -0
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -0
- package/fesm2015/theseam-ui-common-popover.mjs +3 -11
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +2 -4
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table.mjs +9 -201
- package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +2 -2
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +2 -2
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +62 -1019
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +196 -912
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +1 -254
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +2 -11
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +1 -6
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +74 -0
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -0
- package/fesm2020/theseam-ui-common-popover.mjs +3 -11
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +2 -4
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table.mjs +9 -199
- package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +2 -4
- package/framework/base-layout/base-layout.component.scss +10 -18
- package/framework/base-layout/base-layout.module.d.ts +10 -11
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +3 -8
- package/framework/base-layout/index.d.ts +0 -1
- package/framework/base-layout/styles/_variables.scss +0 -21
- package/framework/public-api.d.ts +0 -1
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +20 -7
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +16 -8
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +3 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +6 -3
- package/framework/side-nav/side-nav-tokens.d.ts +8 -0
- package/framework/side-nav/side-nav-utils.d.ts +12 -6
- package/framework/side-nav/side-nav.component.d.ts +6 -16
- package/framework/side-nav/side-nav.component.scss +1 -0
- package/framework/side-nav/side-nav.models.d.ts +14 -9
- package/framework/side-nav/side-nav.module.d.ts +9 -1
- package/framework/side-nav/styles/_themes/light/_variables.scss +14 -24
- package/framework/side-nav/styles/_themes/primary/_variables.scss +0 -8
- package/framework/top-bar/index.d.ts +0 -2
- package/framework/top-bar/top-bar-item.directive.d.ts +1 -4
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +2 -5
- package/framework/top-bar/top-bar.component.d.ts +3 -25
- package/framework/top-bar/top-bar.component.scss +2 -7
- package/framework/top-bar/top-bar.module.d.ts +8 -10
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/index.d.ts +0 -3
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/layout/layout.service.d.ts +1 -9
- package/menu/menu-toggle.directive.d.ts +1 -2
- package/navigation-reload/index.d.ts +5 -0
- package/navigation-reload/navigation-reload.config.d.ts +5 -0
- package/navigation-reload/navigation-reload.provider.d.ts +3 -0
- package/navigation-reload/navigation-reload.service.d.ts +13 -0
- package/navigation-reload/public-api.d.ts +3 -0
- package/package.json +11 -3
- package/popover/popover/popover.component.d.ts +1 -4
- package/popover/popover.directive.d.ts +1 -2
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +14 -83
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +3 -38
- package/table/public-api.d.ts +0 -3
- package/table/table/table.component.d.ts +3 -21
- package/table/table.module.d.ts +1 -4
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +0 -25
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +0 -18
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +0 -16
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +0 -15
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +0 -8
- package/datatable/directives/datatable-column-filter.directive.d.ts +0 -10
- package/datatable/models/action-item-column-position.d.ts +0 -13
- package/datatable/models/columns-data-filter.d.ts +0 -57
- package/datatable/models/columns-data-filters/models.d.ts +0 -65
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +0 -23
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +0 -22
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +0 -21
- package/datatable/models/columns-data-filters/utils.d.ts +0 -15
- package/datatable/models/datatable-config.d.ts +0 -97
- package/datatable/services/columns-filters.service.d.ts +0 -29
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +0 -55
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +0 -54
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +0 -48
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +0 -44
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +0 -16
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +0 -26
- package/esm2020/datatable/models/action-item-column-position.mjs +0 -5
- package/esm2020/datatable/models/columns-data-filter.mjs +0 -10
- package/esm2020/datatable/models/columns-data-filters/models.mjs +0 -74
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +0 -113
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +0 -104
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +0 -86
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +0 -28
- package/esm2020/datatable/models/datatable-config.mjs +0 -3
- package/esm2020/datatable/services/columns-filters.service.mjs +0 -109
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +0 -16
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +0 -55
- package/esm2020/framework/nav/index.mjs +0 -6
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +0 -227
- package/esm2020/framework/nav/nav-utils.mjs +0 -107
- package/esm2020/framework/nav/nav.models.mjs +0 -2
- package/esm2020/framework/nav/nav.module.mjs +0 -67
- package/esm2020/framework/nav/nav.service.mjs +0 -204
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +0 -16
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +0 -16
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +0 -139
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +0 -75
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +0 -44
- package/esm2020/table/table-cell-tpl.directive.mjs +0 -17
- package/esm2020/table/table-column-header-tpl.directive.mjs +0 -17
- package/esm2020/table/table-column.component.mjs +0 -68
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -9
- package/framework/nav/_nav-theme.scss +0 -4
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -25
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +0 -50
- package/framework/nav/index.d.ts +0 -5
- package/framework/nav/nav-item/nav-item.component.d.ts +0 -74
- package/framework/nav/nav-item/nav-item.component.scss +0 -203
- package/framework/nav/nav-utils.d.ts +0 -20
- package/framework/nav/nav.models.d.ts +0 -77
- package/framework/nav/nav.module.d.ts +0 -17
- package/framework/nav/nav.service.d.ts +0 -27
- package/framework/nav/styles/_themes/light/_variables.scss +0 -56
- package/framework/nav/styles/_themes/primary/_variables.scss +0 -56
- package/framework/nav/styles/_utilities.scss +0 -3
- package/framework/nav/styles/_variables.scss +0 -2
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -8
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -8
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +0 -4
- package/table/table-cell-tpl.directive.d.ts +0 -7
- package/table/table-column-header-tpl.directive.d.ts +0 -7
- package/table/table-column.component.d.ts +0 -24
|
@@ -93,13 +93,13 @@ export class DatatableActionMenuComponent {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
DatatableActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableActionMenuComponent, deps: [{ token: i1.SeamConfirmDialogService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
DatatableActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableActionMenuComponent, selector: "seam-datatable-action-menu", inputs: { isSubMenu: "isSubMenu" }, queries: [{ propertyName: "items", predicate: DatatableActionMenuItemComponent }], viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], exportAs: ["seamDatatableActionMenu"], ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{position:relative;
|
|
96
|
+
DatatableActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableActionMenuComponent, selector: "seam-datatable-action-menu", inputs: { isSubMenu: "isSubMenu" }, queries: [{ propertyName: "items", predicate: DatatableActionMenuItemComponent }], viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], exportAs: ["seamDatatableActionMenu"], ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i5.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }] });
|
|
97
97
|
__decorate([
|
|
98
98
|
InputBoolean()
|
|
99
99
|
], DatatableActionMenuComponent.prototype, "isSubMenu", void 0);
|
|
100
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableActionMenuComponent, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
|
-
args: [{ selector: 'seam-datatable-action-menu', exportAs: 'seamDatatableActionMenu', template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{position:relative;
|
|
102
|
+
args: [{ selector: 'seam-datatable-action-menu', exportAs: 'seamDatatableActionMenu', template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
|
|
103
103
|
}], ctorParameters: function () { return [{ type: i1.SeamConfirmDialogService }, { type: i2.Router }]; }, propDecorators: { menu: [{
|
|
104
104
|
type: ViewChild,
|
|
105
105
|
args: [MenuComponent, { static: true }]
|
|
@@ -43,7 +43,7 @@ export class DatatableColumnPreferencesButtonComponent {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
DatatableColumnPreferencesButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnPreferencesButtonComponent, deps: [{ token: i1.ColumnsAlterationsManagerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
DatatableColumnPreferencesButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnPreferencesButtonComponent, selector: "seam-datatable-column-preferences-button", ngImport: i0, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n", styles: [""], dependencies: [{ kind: "component", type: i2.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i2.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["
|
|
46
|
+
DatatableColumnPreferencesButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnPreferencesButtonComponent, selector: "seam-datatable-column-preferences-button", ngImport: i0, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n", styles: [""], dependencies: [{ kind: "component", type: i2.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i2.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i2.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i4.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "component", type: i5.DatatableColumnPreferencesComponent, selector: "seam-datatable-column-preferences" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnPreferencesButtonComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{ selector: 'seam-datatable-column-preferences-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n" }]
|
|
@@ -88,7 +88,7 @@ export class DatatableExportButtonComponent {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
DatatableExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableExportButtonComponent, deps: [{ token: THESEAM_DATATABLE }, { token: i1.ToastrService }, { token: i2.TheSeamLoadingOverlayService }, { token: i3.DynamicValueHelperService }, { token: THESEAM_DYNAMIC_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
DatatableExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableExportButtonComponent, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i5.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["
|
|
91
|
+
DatatableExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableExportButtonComponent, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i5.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i5.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i6.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i7.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableExportButtonComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'seam-datatable-export-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"] }]
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
46
46
|
type: ContentChildren,
|
|
47
47
|
args: [DatatableFilterDirective]
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLW1lbnUtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLW1lbnUtYmFyL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUUvRixPQUFPLEVBQWUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7QUFFbkYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQVE7SUFDakQsT0FBTyxFQUFFLDZCQUE2QjtJQUN0QyxpREFBaUQ7SUFDakQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztDQUN6RCxDQUFBO0FBUUQsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQWtCVSxnQkFBVyxHQUFrQixFQUFFLENBQUE7UUFFdkIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQTtLQXNCbkU7SUFsQ0MsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBc0Q7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBT00sT0FBTztRQUNaLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUI7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1lBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVzthQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRSxPQUFPLENBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUUsQ0FBQTtJQUNwQyxDQUFDO0lBRU0sU0FBUyxDQUFDLFVBQXVCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFTSxZQUFZLENBQUMsVUFBdUI7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDOztzSEFsQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsa0RBRnpCLENBQUUsOEJBQThCLENBQUUsMkRBSTVCLHdCQUF3Qiw2QkNyQjNDLG9GQUdBOzJGRGdCYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCLENBQUUsOEJBQThCLENBQUU7OEJBS3pDLGdCQUFnQjtzQkFEbkIsZUFBZTt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBJRGF0YUZpbHRlciwgVEhFU0VBTV9EQVRBX0ZJTFRFUl9DT05UQUlORVIgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1maWx0ZXIuZGlyZWN0aXZlJ1xuXG5leHBvcnQgY29uc3QgX1RIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSOiBhbnkgPSB7XG4gIHByb3ZpZGU6IFRIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSLFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdXNlLWJlZm9yZS1kZWNsYXJlXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQpXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFsgX1RIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCB7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUpXG4gIGdldCBmaWx0ZXJEaXJlY3RpdmVzKCk6IFF1ZXJ5TGlzdDxEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmU+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyRGlyZWN0aXZlc1xuICB9XG4gIHNldCBmaWx0ZXJEaXJlY3RpdmVzKHZhbHVlOiBRdWVyeUxpc3Q8RGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2ZpbHRlckRpcmVjdGl2ZXMgPSB2YWx1ZVxuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQuZW1pdCh0aGlzLmZpbHRlcnMoKSlcbiAgfVxuICBwcml2YXRlIF9maWx0ZXJEaXJlY3RpdmVzOiBRdWVyeUxpc3Q8RGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuXG4gIHByaXZhdGUgX2ZpbHRlcnNBcnI6IElEYXRhRmlsdGVyW10gPSBbXVxuXG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SURhdGFGaWx0ZXJbXT4oKVxuXG4gIHB1YmxpYyBmaWx0ZXJzKCk6IElEYXRhRmlsdGVyW10ge1xuICAgIGNvbnN0IGZEaXJlY3RpdmVzID0gdGhpcy5fZmlsdGVyRGlyZWN0aXZlc1xuICAgICAgPyB0aGlzLl9maWx0ZXJEaXJlY3RpdmVzLm1hcChmID0+IGYuZmlsdGVyKS5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKVxuICAgICAgOiBbXVxuXG4gICAgY29uc3QgZkFyciA9IHRoaXMuX2ZpbHRlcnNBcnJcbiAgICAuZmlsdGVyKGYgPT4gZkRpcmVjdGl2ZXMuZmluZEluZGV4KGZkID0+IGZkLnVpZCA9PT0gZi51aWQpID09PSAtMSlcbiAgICByZXR1cm4gWyAuLi5mQXJyLCAuLi5mRGlyZWN0aXZlcyBdXG4gIH1cblxuICBwdWJsaWMgYWRkRmlsdGVyKGRhdGFGaWx0ZXI6IElEYXRhRmlsdGVyKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyc0Fyci5wdXNoKGRhdGFGaWx0ZXIpXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsdGVycygpKVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUZpbHRlcihkYXRhRmlsdGVyOiBJRGF0YUZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcnNBcnIgPSB0aGlzLl9maWx0ZXJzQXJyLmZpbHRlcihmID0+IGYgIT09IGRhdGFGaWx0ZXIpXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsdGVycygpKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiZy1saWdodCBib3JkZXIgcm91bmRlZCBwLTJcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -18,8 +18,6 @@ import { TheSeamMenuModule } from '@theseam/ui-common/menu';
|
|
|
18
18
|
import { TheSeamPopoverModule } from '@theseam/ui-common/popover';
|
|
19
19
|
import { TheSeamSharedModule } from '@theseam/ui-common/shared';
|
|
20
20
|
import { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type';
|
|
21
|
-
import { TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters';
|
|
22
|
-
import { TheSeamToggleGroupModule } from '@theseam/ui-common/toggle-group';
|
|
23
21
|
import { DatatableActionMenuItemComponent } from './datatable-action-menu-item/datatable-action-menu-item.component';
|
|
24
22
|
import { DatatableActionMenuComponent } from './datatable-action-menu/datatable-action-menu.component';
|
|
25
23
|
import { DatatableColumnPreferencesButtonComponent } from './datatable-column-preferences-button/datatable-column-preferences-button.component'; // tslint:disable-line: max-line-length
|
|
@@ -43,13 +41,6 @@ import { DatatableCellTplDirective } from './directives/datatable-cell-tpl.direc
|
|
|
43
41
|
import { DatatableFilterDirective } from './directives/datatable-filter.directive';
|
|
44
42
|
import { DatatableRowActionItemDirective } from './directives/datatable-row-action-item.directive';
|
|
45
43
|
import { TheSeamDatatableScrollbarHelperService } from './services/datatable-scrollbar-helper.service';
|
|
46
|
-
import { DatatableColumnFilterMenuComponent } from './datatable-column-filter-menu/datatable-column-filter-menu.component';
|
|
47
|
-
import { NgSelectModule } from '@ng-select/ng-select';
|
|
48
|
-
import { DatatableColumnFilterSearchTextComponent } from './datatable-column-filter-search-text/datatable-column-filter-search-text.component';
|
|
49
|
-
import { DatatableColumnFilterSearchNumericComponent } from './datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component';
|
|
50
|
-
import { DatatableColumnFilterSearchDateComponent } from './datatable-column-filter-search-date/datatable-column-filter-search-date.component';
|
|
51
|
-
import { DatatableColumnFilterTplDirective } from './directives/datatable-column-filter-tpl.directive';
|
|
52
|
-
import { TheSeamDatatableColumnFilterDirective } from './directives/datatable-column-filter.directive';
|
|
53
44
|
import * as i0 from "@angular/core";
|
|
54
45
|
export class TheSeamDatatableModule {
|
|
55
46
|
}
|
|
@@ -75,13 +66,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
75
66
|
DatatableMenuBarColumnLeftComponent,
|
|
76
67
|
DatatableMenuBarColumnCenterComponent,
|
|
77
68
|
DatatableMenuBarColumnRightComponent,
|
|
78
|
-
DatatableMenuBarTextComponent,
|
|
79
|
-
DatatableColumnFilterMenuComponent,
|
|
80
|
-
DatatableColumnFilterSearchTextComponent,
|
|
81
|
-
DatatableColumnFilterSearchNumericComponent,
|
|
82
|
-
DatatableColumnFilterSearchDateComponent,
|
|
83
|
-
DatatableColumnFilterTplDirective,
|
|
84
|
-
TheSeamDatatableColumnFilterDirective], imports: [CommonModule,
|
|
69
|
+
DatatableMenuBarTextComponent], imports: [CommonModule,
|
|
85
70
|
NgxDatatableModule,
|
|
86
71
|
FontAwesomeModule,
|
|
87
72
|
OverlayModule,
|
|
@@ -99,10 +84,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
99
84
|
TheSeamCheckboxComponent,
|
|
100
85
|
TheSeamFormFieldModule,
|
|
101
86
|
ReactiveFormsModule,
|
|
102
|
-
TheSeamTableCellTypeModule,
|
|
103
|
-
TheSeamDataFiltersModule,
|
|
104
|
-
NgSelectModule,
|
|
105
|
-
TheSeamToggleGroupModule], exports: [DatatableComponent,
|
|
87
|
+
TheSeamTableCellTypeModule], exports: [DatatableComponent,
|
|
106
88
|
DatatableCellTplDirective,
|
|
107
89
|
DatatableColumnComponent,
|
|
108
90
|
DatatableActionMenuComponent,
|
|
@@ -122,13 +104,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
122
104
|
DatatableMenuBarColumnLeftComponent,
|
|
123
105
|
DatatableMenuBarColumnCenterComponent,
|
|
124
106
|
DatatableMenuBarColumnRightComponent,
|
|
125
|
-
DatatableMenuBarTextComponent
|
|
126
|
-
DatatableColumnFilterMenuComponent,
|
|
127
|
-
DatatableColumnFilterSearchTextComponent,
|
|
128
|
-
DatatableColumnFilterSearchNumericComponent,
|
|
129
|
-
DatatableColumnFilterSearchDateComponent,
|
|
130
|
-
DatatableColumnFilterTplDirective,
|
|
131
|
-
TheSeamDatatableColumnFilterDirective] });
|
|
107
|
+
DatatableMenuBarTextComponent] });
|
|
132
108
|
TheSeamDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableModule, providers: [
|
|
133
109
|
{ provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService }
|
|
134
110
|
], imports: [CommonModule,
|
|
@@ -149,10 +125,7 @@ TheSeamDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
149
125
|
TheSeamCheckboxComponent,
|
|
150
126
|
TheSeamFormFieldModule,
|
|
151
127
|
ReactiveFormsModule,
|
|
152
|
-
TheSeamTableCellTypeModule
|
|
153
|
-
TheSeamDataFiltersModule,
|
|
154
|
-
NgSelectModule,
|
|
155
|
-
TheSeamToggleGroupModule] });
|
|
128
|
+
TheSeamTableCellTypeModule] });
|
|
156
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableModule, decorators: [{
|
|
157
130
|
type: NgModule,
|
|
158
131
|
args: [{
|
|
@@ -179,12 +152,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
179
152
|
DatatableMenuBarColumnCenterComponent,
|
|
180
153
|
DatatableMenuBarColumnRightComponent,
|
|
181
154
|
DatatableMenuBarTextComponent,
|
|
182
|
-
DatatableColumnFilterMenuComponent,
|
|
183
|
-
DatatableColumnFilterSearchTextComponent,
|
|
184
|
-
DatatableColumnFilterSearchNumericComponent,
|
|
185
|
-
DatatableColumnFilterSearchDateComponent,
|
|
186
|
-
DatatableColumnFilterTplDirective,
|
|
187
|
-
TheSeamDatatableColumnFilterDirective
|
|
188
155
|
],
|
|
189
156
|
imports: [
|
|
190
157
|
CommonModule,
|
|
@@ -205,10 +172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
205
172
|
TheSeamCheckboxComponent,
|
|
206
173
|
TheSeamFormFieldModule,
|
|
207
174
|
ReactiveFormsModule,
|
|
208
|
-
TheSeamTableCellTypeModule
|
|
209
|
-
TheSeamDataFiltersModule,
|
|
210
|
-
NgSelectModule,
|
|
211
|
-
TheSeamToggleGroupModule
|
|
175
|
+
TheSeamTableCellTypeModule
|
|
212
176
|
],
|
|
213
177
|
exports: [
|
|
214
178
|
DatatableComponent,
|
|
@@ -231,17 +195,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
231
195
|
DatatableMenuBarColumnLeftComponent,
|
|
232
196
|
DatatableMenuBarColumnCenterComponent,
|
|
233
197
|
DatatableMenuBarColumnRightComponent,
|
|
234
|
-
DatatableMenuBarTextComponent
|
|
235
|
-
DatatableColumnFilterMenuComponent,
|
|
236
|
-
DatatableColumnFilterSearchTextComponent,
|
|
237
|
-
DatatableColumnFilterSearchNumericComponent,
|
|
238
|
-
DatatableColumnFilterSearchDateComponent,
|
|
239
|
-
DatatableColumnFilterTplDirective,
|
|
240
|
-
TheSeamDatatableColumnFilterDirective
|
|
198
|
+
DatatableMenuBarTextComponent
|
|
241
199
|
],
|
|
242
200
|
providers: [
|
|
243
201
|
{ provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService }
|
|
244
202
|
]
|
|
245
203
|
}]
|
|
246
204
|
}] });
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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QUFZO3dCQUNaLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCx3QkFBd0I7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLCtCQUErQjt3QkFDL0IsOEJBQThCO3dCQUM5QixrQ0FBa0M7d0JBQ2xDLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLG1DQUFtQzt3QkFDbkMseUNBQXlDO3dCQUN6QyxnQ0FBZ0M7d0JBQ2hDLDRCQUE0Qjt3QkFDNUIsbUNBQW1DO3dCQUNuQyxxQ0FBcUM7d0JBQ3JDLG9DQUFvQzt3QkFDcEMsNkJBQTZCO3dCQUM3QixrQ0FBa0M7d0JBQ2xDLHdDQUF3Qzt3QkFDeEMsMkNBQTJDO3dCQUMzQyx3Q0FBd0M7d0JBQ3hDLGlDQUFpQzt3QkFDakMscUNBQXFDO3FCQUN4QztvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxzQ0FBc0MsRUFBRTtxQkFDakY7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJ1xuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTW9kdWxlLCBTY3JvbGxiYXJIZWxwZXIgfSBmcm9tICdAbWFya2xiL25neC1kYXRhdGFibGUnXG5pbXBvcnQgeyBUb2FzdHJNb2R1bGUgfSBmcm9tICduZ3gtdG9hc3RyJ1xuXG5pbXBvcnQgeyBUaGVTZWFtQnV0dG9uc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9idXR0b25zJ1xuaW1wb3J0IHsgVGhlU2VhbUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NoZWNrYm94J1xuaW1wb3J0IHsgVGhlU2VhbUNvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vY29uZmlybS1kaWFsb2cnXG5pbXBvcnQgeyBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUaGVTZWFtSWNvbk1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgVGhlU2VhbUxvYWRpbmdNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbG9hZGluZydcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9wb3BvdmVyJ1xuaW1wb3J0IHsgVGhlU2VhbVNoYXJlZE1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9zaGFyZWQnXG5pbXBvcnQgeyBUaGVTZWFtVGFibGVDZWxsVHlwZU1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgeyBUaGVTZWFtRGF0YUZpbHRlcnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgVGhlU2VhbVRvZ2dsZUdyb3VwTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RvZ2dsZS1ncm91cCdcblxuaW1wb3J0IHsgRGF0YXRhYmxlQWN0aW9uTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCcgLy8gdHNsaW50OmRpc2FibGUtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uQ2VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uUmlnaHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItcm93L2RhdGF0YWJsZS1tZW51LWJhci1yb3cuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlTWVudUJhclRleHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlUm93RGV0YWlsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVJvd0RldGFpbERpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVDZWxsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1yb3ctYWN0aW9uLWl0ZW0uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1zY3JvbGxiYXItaGVscGVyLnNlcnZpY2UnXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5GaWx0ZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1tZW51L2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaFRleHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0L2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaE51bWVyaWNDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaERhdGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclRwbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51VG9nZ2xlRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyTWVudUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoTnVtZXJpY0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoRGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyRGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmd4RGF0YXRhYmxlTW9kdWxlLFxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgVGhlU2VhbVNoYXJlZE1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUaGVTZWFtTWVudU1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUJ1dHRvbnNNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgICAgICBUb2FzdHJNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1Mb2FkaW5nTW9kdWxlLFxuICAgICAgICBQb3J0YWxNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1Db25maXJtRGlhbG9nTW9kdWxlLFxuICAgICAgICBUaGVTZWFtUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUNoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUaGVTZWFtVGFibGVDZWxsVHlwZU1vZHVsZSxcbiAgICAgICAgVGhlU2VhbURhdGFGaWx0ZXJzTW9kdWxlLFxuICAgICAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICAgICAgVGhlU2VhbVRvZ2dsZUdyb3VwTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyTWVudUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoTnVtZXJpY0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoRGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyRGlyZWN0aXZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTY3JvbGxiYXJIZWxwZXIsIHVzZUNsYXNzOiBUaGVTZWFtRGF0YXRhYmxlU2Nyb2xsYmFySGVscGVyU2VydmljZSB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtRGF0YXRhYmxlTW9kdWxlIHsgfVxuIl19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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QjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLDBCQUEwQjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQiw4QkFBOEI7d0JBQzlCLGtDQUFrQzt3QkFDbEMsOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLDJCQUEyQjt3QkFDM0IsbUNBQW1DO3dCQUNuQyx5Q0FBeUM7d0JBQ3pDLGdDQUFnQzt3QkFDaEMsNEJBQTRCO3dCQUM1QixtQ0FBbUM7d0JBQ25DLHFDQUFxQzt3QkFDckMsb0NBQW9DO3dCQUNwQyw2QkFBNkI7cUJBQ2hDO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLHNDQUFzQyxFQUFFO3FCQUNqRjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnXG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVNb2R1bGUsIFNjcm9sbGJhckhlbHBlciB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInXG5cbmltcG9ydCB7IFRoZVNlYW1CdXR0b25zTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2J1dHRvbnMnXG5pbXBvcnQgeyBUaGVTZWFtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vY2hlY2tib3gnXG5pbXBvcnQgeyBUaGVTZWFtQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb25maXJtLWRpYWxvZydcbmltcG9ydCB7IFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZm9ybS1maWVsZCdcbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtTG9hZGluZ01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9sb2FkaW5nJ1xuaW1wb3J0IHsgVGhlU2VhbU1lbnVNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbWVudSdcbmltcG9ydCB7IFRoZVNlYW1Qb3BvdmVyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3BvcG92ZXInXG5pbXBvcnQgeyBUaGVTZWFtU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3NoYXJlZCdcbmltcG9ydCB7IFRoZVNlYW1UYWJsZUNlbGxUeXBlTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcblxuaW1wb3J0IHsgRGF0YXRhYmxlQWN0aW9uTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCcgLy8gdHNsaW50OmRpc2FibGUtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uQ2VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uUmlnaHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItcm93L2RhdGF0YWJsZS1tZW51LWJhci1yb3cuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlTWVudUJhclRleHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlUm93RGV0YWlsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVJvd0RldGFpbERpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVDZWxsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1yb3ctYWN0aW9uLWl0ZW0uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1zY3JvbGxiYXItaGVscGVyLnNlcnZpY2UnXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51VG9nZ2xlRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ3hEYXRhdGFibGVNb2R1bGUsXG4gICAgICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxuICAgICAgICBPdmVybGF5TW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBUaGVTZWFtU2hhcmVkTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1NZW51TW9kdWxlLFxuICAgICAgICBUaGVTZWFtQnV0dG9uc01vZHVsZSxcbiAgICAgICAgVGhlU2VhbUljb25Nb2R1bGUsXG4gICAgICAgIFRvYXN0ck1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUxvYWRpbmdNb2R1bGUsXG4gICAgICAgIFBvcnRhbE1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUNvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1Qb3BvdmVyTW9kdWxlLFxuICAgICAgICBUaGVTZWFtQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1UYWJsZUNlbGxUeXBlTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogU2Nyb2xsYmFySGVscGVyLCB1c2VDbGFzczogVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2UgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbURhdGF0YWJsZU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbHVtbiwgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzLCBUYWJsZUNlbGxUeXBlTmFtZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGUge1xuXG4gIC8qKlxuICAgKiBIaWRlIGEgY29sdW1uLCBidXQgbGV0IHRoZSBkYXRhdGFibGUgc3RpbGwga25vdyBhYm91dCBpdC4gVXNlZnVsIGZvclxuICAgKiBoaWRkaW5nIGEgY29sdW1ucyB0aGF0IGNhbiBiZSB1bmhpZGRlbiB0aHJvdWdoIGEgc2V0dGluZy5cbiAgICpcbiAgICogTk9URTogSWYgeW91IGZpbHRlciBvdXQgdGhlIGNvbHVtbiBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgZGF0YXRhYmxlIGl0XG4gICAqIHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0aGF0IGNvbHVtbiBhcyBhbiBvcHRpb24gaW4gdGhlIGNvbHVtbiB0b2dnbGVcbiAgICogbGlzdC5cbiAgICovXG4gIGhpZGRlbj86IGJvb2xlYW5cblxufVxuXG5leHBvcnQgdHlwZSBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uPFQgZXh0ZW5kcyBUYWJsZUNlbGxUeXBlTmFtZSA9IGFueSwgQyBleHRlbmRzIFRhYmxlQ2VsbFR5cGVDb25maWc8VD4gPSBhbnk+ID1cbiAgVGFibGVDb2x1bW4gJlxuICBUYWJsZUNlbGxUeXBlQ29sdW1uPFQsIEM+ICZcbiAgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzICZcbiAgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGVcbiJdfQ==
|
|
@@ -2,10 +2,6 @@ export * from './datatable/datatable.component';
|
|
|
2
2
|
export * from './datatable-action-menu/datatable-action-menu.component';
|
|
3
3
|
export * from './datatable-action-menu-item/datatable-action-menu-item.component';
|
|
4
4
|
export * from './datatable-column/datatable-column.component';
|
|
5
|
-
export * from './datatable-column-filter-menu/datatable-column-filter-menu.component';
|
|
6
|
-
export * from './datatable-column-filter-search-date/datatable-column-filter-search-date.component';
|
|
7
|
-
export * from './datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component';
|
|
8
|
-
export * from './datatable-column-filter-search-text/datatable-column-filter-search-text.component';
|
|
9
5
|
export * from './datatable-column-preferences/datatable-column-preferences.component';
|
|
10
6
|
export * from './datatable-column-preferences-button/datatable-column-preferences-button.component';
|
|
11
7
|
export * from './datatable-export-button/datatable-export-button.component';
|
|
@@ -22,18 +18,9 @@ export * from './datatable-row-detail/datatable-row-detail.directive';
|
|
|
22
18
|
export * from './directives/datatable-action-menu-item.directive';
|
|
23
19
|
export * from './directives/datatable-action-menu-toggle.directive';
|
|
24
20
|
export * from './directives/datatable-cell-tpl.directive';
|
|
25
|
-
export * from './directives/datatable-column-filter-tpl.directive';
|
|
26
|
-
export * from './directives/datatable-column-filter.directive';
|
|
27
21
|
export * from './directives/datatable-filter.directive';
|
|
28
22
|
export * from './directives/datatable-row-action-item.directive';
|
|
29
|
-
export * from './models/columns-data-filter';
|
|
30
|
-
export * from './models/columns-data-filters/search-date.columns-data-filter';
|
|
31
|
-
export * from './models/columns-data-filters/search-numeric.columns-data-filter';
|
|
32
|
-
export * from './models/columns-data-filters/search-text.columns-data-filter';
|
|
33
|
-
export * from './models/columns-data-filters/models';
|
|
34
|
-
export * from './models/columns-data-filters/utils';
|
|
35
23
|
export * from './models/datatable-accessor';
|
|
36
|
-
export * from './models/datatable-config';
|
|
37
24
|
export * from './models/datatable-data-source';
|
|
38
25
|
export * from './models/datatable-gql-data-source';
|
|
39
26
|
export * from './models/menubar-item-data';
|
|
@@ -44,7 +31,6 @@ export * from './models/table-column';
|
|
|
44
31
|
export * from './models/sort-event';
|
|
45
32
|
export * from './models/sort-item';
|
|
46
33
|
export * from './models/table-column';
|
|
47
|
-
export * from './services/columns-filters.service';
|
|
48
34
|
export * from './services/datatable-column-changes.service';
|
|
49
35
|
export * from './services/datatable-preferences.service';
|
|
50
36
|
export * from './services/datatable-scrollbar-helper.service';
|
|
@@ -52,4 +38,4 @@ export * from './tokens/datatable-preferences-accessor';
|
|
|
52
38
|
export * from './tokens/menubar-item-data';
|
|
53
39
|
export * from './utils/with-stored-column-info';
|
|
54
40
|
export * from './datatable.module';
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUVBQXVFLENBQUE7QUFDckYsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsK0VBQStFLENBQUE7QUFDN0YsY0FBYywyRUFBMkUsQ0FBQTtBQUN6RixjQUFjLDZFQUE2RSxDQUFBO0FBQzNGLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFFckUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGtEQUFrRCxDQUFBO0FBRWhFLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUVyQyxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQTtBQUU3RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNEJBQTRCLENBQUE7QUFFMUMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUUvQyxjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWFjdGlvbi1tZW51L2RhdGF0YWJsZS1hY3Rpb24tbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy1idXR0b24vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbi9kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci10cGwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXIuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXIvZGF0YXRhYmxlLW1lbnUtYmFyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWxlZnQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLXJpZ2h0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLXJvdy9kYXRhdGFibGUtbWVudS1iYXItcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLXRleHQvZGF0YXRhYmxlLW1lbnUtYmFyLXRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC5kaXJlY3RpdmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWNlbGwtdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtZmlsdGVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtcm93LWFjdGlvbi1pdGVtLmRpcmVjdGl2ZSdcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWFjY2Vzc29yJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWRhdGEtc291cmNlJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWdxbC1kYXRhLXNvdXJjZSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL21lbnViYXItaXRlbS1kYXRhJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcGFnZS1pbmZvJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wcmVmZXJlbmNlcydcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NvcnQtZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9zb3J0LWl0ZW0nXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy90YWJsZS1jb2x1bW4nXG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGF0YXRhYmxlLWNvbHVtbi1jaGFuZ2VzLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kYXRhdGFibGUtc2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kYXRhdGFibGUtcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tZW51YmFyLWl0ZW0tZGF0YSdcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUubW9kdWxlJ1xuIl19
|
|
@@ -78,13 +78,6 @@ export class ColumnsManagerService {
|
|
|
78
78
|
this._updateColumns.next(undefined);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
setActionItemColumnPosition(actionItemColumnPosition) {
|
|
82
|
-
const changed = this._actionItemColumnPosition !== actionItemColumnPosition;
|
|
83
|
-
this._actionItemColumnPosition = actionItemColumnPosition;
|
|
84
|
-
if (changed) {
|
|
85
|
-
this._updateColumns.next(undefined);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
81
|
setActionMenuCellTpl(actionMenuCellTpl) {
|
|
89
82
|
const changed = this._actionMenuCellTpl !== actionMenuCellTpl;
|
|
90
83
|
this._actionMenuCellTpl = actionMenuCellTpl;
|
|
@@ -163,13 +156,7 @@ export class ColumnsManagerService {
|
|
|
163
156
|
cols.push(_col);
|
|
164
157
|
}
|
|
165
158
|
if (this._shouldAddRowActionColumn()) {
|
|
166
|
-
|
|
167
|
-
if (this._rowActionColumnIsStaticLeft()) {
|
|
168
|
-
cols.unshift(actionMenuColumn);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
cols.push(actionMenuColumn);
|
|
172
|
-
}
|
|
159
|
+
cols.push(createActionMenuColumn(this._actionMenuCellTpl, this._blankHeaderTpl));
|
|
173
160
|
}
|
|
174
161
|
// Make sure the default for any missing props are set.
|
|
175
162
|
// TODO: Determine if this should be done earlier, because I don't like
|
|
@@ -255,18 +242,6 @@ export class ColumnsManagerService {
|
|
|
255
242
|
_shouldAddRowActionColumn() {
|
|
256
243
|
return this._rowActionItem !== undefined;
|
|
257
244
|
}
|
|
258
|
-
_rowActionColumnIsFrozenLeft() {
|
|
259
|
-
return this._actionItemColumnPosition === 'frozenLeft';
|
|
260
|
-
}
|
|
261
|
-
_rowActionColumnIsFrozenRight() {
|
|
262
|
-
return this._actionItemColumnPosition === 'frozenRight';
|
|
263
|
-
}
|
|
264
|
-
_rowActionColumnIsStaticLeft() {
|
|
265
|
-
return this._actionItemColumnPosition === 'staticLeft';
|
|
266
|
-
}
|
|
267
|
-
_rowActionColumnIsStaticRight() {
|
|
268
|
-
return this._actionItemColumnPosition === 'staticRight';
|
|
269
|
-
}
|
|
270
245
|
_shouldAddTreeToggleColumn(column) {
|
|
271
246
|
return column.isTreeColumn !== undefined && column.isTreeColumn &&
|
|
272
247
|
(!hasProperty(column, 'treeToggleTemplate') || !notNullOrUndefined(column.treeToggleTemplate));
|
|
@@ -283,4 +258,4 @@ ColumnsManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
|
|
|
283
258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ColumnsManagerService, decorators: [{
|
|
284
259
|
type: Injectable
|
|
285
260
|
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.DatatableColumnChangesService }]; } });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlFLE1BQU0sZUFBZSxDQUFBO0FBQ3pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRWxGLE9BQU8sRUFJTCxhQUFhLEdBR2QsTUFBTSx1QkFBdUIsQ0FBQTtBQUU5QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFLMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBOzs7QUFJdkUsSUFBSyxZQUlKO0FBSkQsV0FBSyxZQUFZO0lBQ2YsaURBQUssQ0FBQTtJQUNMLHVEQUFRLENBQUE7SUFDUixtREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUpJLFlBQVksS0FBWixZQUFZLFFBSWhCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQXlCaEMsWUFDbUIsUUFBeUIsRUFDekIscUJBQW9EO1FBRHBELGFBQVEs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LENBQUE7SUFDekQsQ0FBQztJQUVPLDBCQUEwQixDQUFDLE1BQThCO1FBQy9ELE9BQU8sTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFlBQVk7WUFDN0QsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUE7SUFDbEcsQ0FBQztJQUVPLHdCQUF3QixDQUFDLE1BQThCO1FBQzdELE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVPLDZCQUE2QixDQUFDLE1BQThCO1FBQ2xFLE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUN4QyxDQUFDOztrSEFwV1UscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEtleVZhbHVlQ2hhbmdlcywgS2V5VmFsdWVEaWZmZXIsIEtleVZhbHVlRGlmZmVycywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWZlciwgRU1QVFksIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGF1ZGl0VGltZSwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHtcbiAgRGF0YVRhYmxlQ29sdW1uQ2VsbFRyZWVUb2dnbGUsXG4gIERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZSxcbiAgRGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlLFxuICBTZWxlY3Rpb25UeXBlLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVDb2x1bW5Qcm9wLFxufSBmcm9tICdAbWFya2xiL25neC1kYXRhdGFibGUnXG5cbmltcG9ydCB7IGhhc1Byb3BlcnR5LCBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGF0YWJsZS1jb2x1bW4vZGF0YXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kYXRhdGFibGUtcm93LWFjdGlvbi1pdGVtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtY29sdW1uJ1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uTWVudUNvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS1hY3Rpb24tbWVudS1jb2x1bW4nXG5pbXBvcnQgeyBjcmVhdGVDaGVja2JveENvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS1jaGVja2JveC1jb2x1bW4nXG5pbXBvcnQgeyBnZXRDb2x1bW5Qcm9wIH0gZnJvbSAnLi4vdXRpbHMvZ2V0LWNvbHVtbi1wcm9wJ1xuaW1wb3J0IHsgc2V0Q29sdW1uRGVmYXVsdHMgfSBmcm9tICcuLi91dGlscy9zZXQtY29sdW1uLWRlZmF1bHRzJ1xuaW1wb3J0IHsgdHJhbnNsYXRlVGVtcGxhdGVDb2x1bW5zIH0gZnJvbSAnLi4vdXRpbHMvdHJhbnNsYXRlLXRlbXBsYXRlcydcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNoYW5nZXNTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWNoYW5nZXMuc2VydmljZSdcbmltcG9ydCB7IEFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiB9IGZyb20gJy4uL21vZGVscy9hY3Rpb24taXRlbS1jb2x1bW4tcG9zaXRpb24nXG5cbmVudW0gQ29sdW1uc1R5cGVzIHtcbiAgSW5wdXQsXG4gIFRlbXBsYXRlLFxuICBSZXN1bHQsXG59XG5cbmV4cG9ydCB0eXBlIEludGVybmFsQ29sdW1uc0dldHRlciA9ICgpID0+IFRhYmxlQ29sdW1uW11cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbnNNYW5hZ2VyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VwZGF0ZUNvbHVtbnMgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRDb2x1bW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10+KFtdKVxuICBwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZUNvbHVtbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudFtdPihbXSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnBDb2xEaWZmZXJzTWFwID0gbmV3IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4oKVxuICBwcml2YXRlIHJlYWRvbmx5IF90cGxDb2xEaWZmZXJzTWFwID0gbmV3IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4oKVxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXN1bHRDb2xEaWZmZXJzTWFwID0gbmV3IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4oKVxuICBwcml2YXRlIF9jb2xQcm9wc0RpZmZlcj86IEtleVZhbHVlRGlmZmVyPGFueSwgYW55PlxuXG4gIHByaXZhdGUgX2ludGVybmFsQ29sdW1uc0dldHRlcj86IEludGVybmFsQ29sdW1uc0dldHRlclxuXG4gIHByaXZhdGUgX3NlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfcm93QWN0aW9uSXRlbTogRGF0YXRhYmxlUm93QWN0aW9uSXRlbURpcmVjdGl2ZSB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9hY3Rpb25NZW51Q2VsbFRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9hY3Rpb25JdGVtQ29sdW1uUG9zaXRpb246IEFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9ibGFua0hlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF90cmVlVG9nZ2xlVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5DZWxsVHJlZVRvZ2dsZT4gfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfaGVhZGVyVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5IZWFkZXJEaXJlY3RpdmU+IHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX2NlbGxUeXBlU2VsZWN0b3JUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWRcblxuICAvLyBUT0RPOiBDb25zaWRlciBtYWtpbmcgdGhpcyBhIGNvbHVtbnMgY2hhbmdlZCBvYmVydmFibGUsIHRvIG1ha2UgY2hhbmdlcyBtb3JlIHByZWRpY3RhYmxlLlxuICBwdWJsaWMgcmVhZG9ubHkgY29sdW1ucyQ6IE9ic2VydmFibGU8VGhlU2VhbURhdGF0YWJsZUNvbHVtbltdPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb2x1bW5DaGFuZ2VzU2VydmljZTogRGF0YXRhYmxlQ29sdW1uQ2hhbmdlc1NlcnZpY2UsXG4gICkge1xuICAgIGNvbnN0IHRlbXBsYXRlQ29sdW1ucyQgPSB0aGlzLl9jb2x1bW5DaGFuZ2VzU2VydmljZS5jb2x1bW5JbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZUNvbHVtbnMuYXNPYnNlcnZhYmxlKCkucGlwZShtYXAodHJhbnNsYXRlVGVtcGxhdGVDb2x1bW5zKSlcbiAgICAgIH0pXG4gICAgKVxuXG4gICAgdGhpcy5jb2x1bW5zJCA9IGRlZmVyKCgpID0+IHtcbiAgICAgIGxldCBpc0ZpcnN0ID0gdHJ1ZVxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLl9pbnB1dENvbHVtbnMuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgIHRlbXBsYXRlQ29sdW1ucyQsXG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMuYXNPYnNlcnZhYmxlKCkucGlwZShhdWRpdFRpbWUoMCksIHN0YXJ0V2l0aCh1bmRlZmluZWQpKVxuICAgICAgXSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChbIGlucHV0Q29sdW1ucywgdGVtcGxhdGVDb2x1bW5zIF0pID0+IHtcbiAgICAgICAgICBjb25zdCBjb2xzID0gdGhpcy5fbWVyZ2VDb2x1bW5zKGlucHV0Q29sdW1ucywgdGVtcGxhdGVDb2x1bW5zKVxuXG4gICAgICAgICAgY29uc3QgaGFzQ29sdW1uc0NoYW5nZWQgPSB0aGlzLl9oYXNDb2x1bW5zQ2hhbmdlZChjb2xzKVxuXG4gICAgICAgICAgLy8gVE9ETzogTG9vayBmb3IgY29sdW1ucyBhZGRlZC9yZW1vdmVkIGFuZCByZW1vdmUgdGhlIHJlbW92ZWQgY29sdW1uc1xuICAgICAgICAgIC8vIGRpZmZlcnMsIG5vdCBqdXN0IGNoYW5nZXMgdG8gY29sdW1ucy5cbiAgICAgICAgICBjb25zdCBoYXNBZGRlZE9yUmVtb3ZlZENvbHVtbnMgPSB0aGlzLl9oYXNBZGRlZE9yUmVtb3ZlZENvbHVtbnMoY29scylcblxuICAgICAgICAgIC8vIE5PVEU6IEJvdGggY2hlY2tzIG5lZWQgdG8gYmUgcnVuLCBldmVuIHRob3VnaCBvbmx5IG9uZSBuZWVkcyB0byBiZVxuICAgICAgICAgIC8vIHRydWUsIGJlY2F1c2UgdGhlaXIgZGlmZmVycyBuZWVkIHRvIGJlIGNhbGxlZC5cbiAgICAgICAgICBpZiAoaGFzQ29sdW1uc0NoYW5nZWQgfHwgaGFzQWRkZWRPclJlbW92ZWRDb2x1bW5zIHx8IGlzRmlyc3QpIHtcbiAgICAgICAgICAgIGlzRmlyc3QgPSBmYWxzZVxuICAgICAgICAgICAgcmV0dXJuIG9mKGNvbHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIEVNUFRZXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH0pLnBpcGUoXG4gICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICAgKVxuICB9XG5cbiAgcHVibGljIHNldElucHV0Q29sdW1ucyhjb2x1bW5zOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10pOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dENvbHVtbnMubmV4dChjb2x1bW5zKVxuICB9XG5cbiAgcHVibGljIHNldFRlbXBsYXRlQ29sdW1ucyhjb2x1bW5zOiBEYXRhdGFibGVDb2x1bW5Db21wb25lbnRbXSk6IHZvaWQge1xuICAgIHRoaXMuX3RlbXBsYXRlQ29sdW1ucy5uZXh0KGNvbHVtbnMpXG4gIH1cblxuICBwdWJsaWMgc2V0SW50ZXJuYWxDb2x1bW5zR2V0dGVyKGdldHRlcjogSW50ZXJuYWxDb2x1bW5zR2V0dGVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlciA9IGdldHRlciB8fCB1bmRlZmluZWRcbiAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGlvblR5cGUoc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9zZWxlY3Rpb25UeXBlICE9PSBzZWxlY3Rpb25UeXBlXG4gICAgdGhpcy5fc2VsZWN0aW9uVHlwZSA9IHNlbGVjdGlvblR5cGVcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0aW9uVHlwZSgpOiBTZWxlY3Rpb25UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uVHlwZVxuICB9XG5cbiAgcHVibGljIHNldFJvd0FjdGlvbkl0ZW0ocm93QWN0aW9uSXRlbTogRGF0YXRhYmxlUm93QWN0aW9uSXRlbURpcmVjdGl2ZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9yb3dBY3Rpb25JdGVtICE9PSByb3dBY3Rpb25JdGVtXG4gICAgdGhpcy5fcm93QWN0aW9uSXRlbSA9IHJvd0FjdGlvbkl0ZW1cbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uKGFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbjogQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiAhPT0gYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uXG4gICAgdGhpcy5fYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uID0gYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbk1lbnVDZWxsVHBsKGFjdGlvbk1lbnVDZWxsVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsICE9PSBhY3Rpb25NZW51Q2VsbFRwbFxuICAgIHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsID0gYWN0aW9uTWVudUNlbGxUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QmxhbmtIZWFkZXJUcGwoYmxhbmtIZWFkZXJUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkhlYWRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fYmxhbmtIZWFkZXJUcGwgIT09IGJsYW5rSGVhZGVyVHBsXG4gICAgdGhpcy5fYmxhbmtIZWFkZXJUcGwgPSBibGFua0hlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRUcmVlVG9nZ2xlVHBsKHRyZWVUb2dnbGVUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkNlbGxUcmVlVG9nZ2xlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl90cmVlVG9nZ2xlVHBsICE9PSB0cmVlVG9nZ2xlVHBsXG4gICAgdGhpcy5fdHJlZVRvZ2dsZVRwbCA9IHRyZWVUb2dnbGVUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0SGVhZGVyVHBsKGhlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oZWFkZXJUcGwgIT09IGhlYWRlclRwbFxuICAgIHRoaXMuX2hlYWRlclRwbCA9IGhlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRDZWxsVHlwZVNlbGVjdG9yVHBsKGNlbGxUeXBlU2VsZWN0b3JUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fY2VsbFR5cGVTZWxlY3RvclRwbCAhPT0gY2VsbFR5cGVTZWxlY3RvclRwbFxuICAgIHRoaXMuX2NlbGxUeXBlU2VsZWN0b3JUcGwgPSBjZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWVyZ2VDb2x1bW5zKFxuICAgIGlucHV0Q29sdW1uczogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdLFxuICAgIHRlbXBsYXRlQ29sdW1uczogRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50W11cbiAgKTogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdIHtcbiAgICBjb25zdCBjb2xzOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10gPSBbXVxuXG4gICAgLy8gQWRkIHRoZSBmaXJzdCBjb2x1bW4gY2hlY2tib3ggaWYgJ2NoZWNrYm94JyBzZWxlY3Rpb24gaXMgZW5hYmxlZC5cbiAgICBpZiAodGhpcy5fc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKSkge1xuICAgICAgY29scy5wdXNoKGNyZWF0ZUNoZWNrYm94Q29sdW1uKCkpXG4gICAgfVxuXG4gICAgLy8gQ29sdW1uIG5lZWRzIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBpbnB1dENvbHVtbnMsIHNvIGl0ZXJhdGUgdGhlXG4gICAgLy8gaW5wdXRDb2x1bW5zLlxuICAgIGZvciAoY29uc3QgaW5wQ29sIG9mIGlucHV0Q29sdW1ucykge1xuICAgICAgY29uc3QgcHJvcCA9IGdldENvbHVtblByb3AoaW5wQ29sKVxuICAgICAgaWYgKCFub3ROdWxsT3JVbmRlZmluZWQocHJvcCkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBtYXkgaGF2ZSAncHJvcCcgb3IgJ25hbWUnIGRlZmluZWQuYClcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW50ZXJuYWxDb2wgPSB0aGlzLl9nZXRJbnRlcm5hbENvbHVtbihwcm9wKVxuXG4gICAgICBjb25zdCBpbnBDb2xEaWYgPSB0aGlzLl9nZXRDb2xEaWYoaW5wQ29sLCBDb2x1bW5zVHlwZXMuSW5wdXQpXG4gICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKGlucENvbERpZikpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ29sRGlmKGlucENvbERpZiwgaW50ZXJuYWxDb2wsIGlucENvbClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHBsQ29sID0gdGhpcy5fZmluZENvbHVtbkJ5UHJvcChwcm9wLCB0ZW1wbGF0ZUNvbHVtbnMpXG4gICAgICBpZiAodHBsQ29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgdHBsQ29sRGlmID0gdGhpcy5fZ2V0Q29sRGlmKHRwbENvbCwgQ29sdW1uc1R5cGVzLlRlbXBsYXRlKVxuICAgICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKHRwbENvbERpZikpIHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVDb2xEaWYodHBsQ29sRGlmLCBpbnRlcm5hbENvbCwgdHBsQ29sKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9jb2w6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gPSB7XG4gICAgICAgIC4uLihpbnRlcm5hbENvbCB8fCB7fSksXG4gICAgICAgIC4uLmlucENvbCxcbiAgICAgICAgLy8gVE9ETzogUmV0aGluayB0aGlzLCBiZWNhdXNlIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGlzIGNvcnJlY3QuXG4gICAgICAgIC4uLih0cGxDb2wgYXMgYW55IHx8IHt9KVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fc2hvdWxkQWRkVHJlZVRvZ2dsZUNvbHVtbihfY29sKSkge1xuICAgICAgICBfY29sLnRyZWVUb2dnbGVUZW1wbGF0ZSA9IHRoaXMuX3RyZWVUb2dnbGVUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZEhlYWRlclRlbXBsYXRlKF9jb2wpKSB7XG4gICAgICAgIF9jb2wuaGVhZGVyVGVtcGxhdGUgPSB0aGlzLl9oZWFkZXJUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZENlbGxUeXBlU2VsZWN0b3JUcGwoX2NvbCkpIHtcbiAgICAgICAgX2NvbC5jZWxsVGVtcGxhdGUgPSB0aGlzLl9jZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgICB9XG5cbiAgICAgIGNvbHMucHVzaChfY29sKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9zaG91bGRBZGRSb3dBY3Rpb25Db2x1bW4oKSkge1xuICAgICAgY29uc3QgYWN0aW9uTWVudUNvbHVtbiA9IGNyZWF0ZUFjdGlvbk1lbnVDb2x1bW4odGhpcy5fYWN0aW9uTWVudUNlbGxUcGwsIHRoaXMuX2JsYW5rSGVhZGVyVHBsLCB0aGlzLl9yb3dBY3Rpb25Db2x1bW5Jc0Zyb3plbkxlZnQoKSwgdGhpcy5fcm93QWN0aW9uQ29sdW1uSXNGcm96ZW5SaWdodCgpKVxuXG4gICAgICBpZiAodGhpcy5fcm93QWN0aW9uQ29sdW1uSXNTdGF0aWNMZWZ0KCkpIHtcbiAgICAgICAgY29scy51bnNoaWZ0KGFjdGlvbk1lbnVDb2x1bW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2xzLnB1c2goYWN0aW9uTWVudUNvbHVtbilcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIGRlZmF1bHQgZm9yIGFueSBtaXNzaW5nIHByb3BzIGFyZSBzZXQuXG4gICAgLy8gVE9ETzogRGV0ZXJtaW5lIGlmIHRoaXMgc2hvdWxkIGJlIGRvbmUgZWFybGllciwgYmVjYXVzZSBJIGRvbid0IGxpa2VcbiAgICAvLyBob3cgdGhpcyBpcyBkb25lIGFmdGVyIGRpZiBjaGVja3MuXG4gICAgc2V0Q29sdW1uRGVmYXVsdHMoY29scylcblxuICAgIHJldHVybiBjb2xzXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbnMoKTogVGFibGVDb2x1bW5bXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlcigpXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbihwcm9wOiBUYWJsZUNvbHVtblByb3ApOiBUYWJsZUNvbHVtbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW50ZXJuYWxDb2xzID0gdGhpcy5fZ2V0SW50ZXJuYWxDb2x1bW5zKClcblxuICAgIGlmIChpbnRlcm5hbENvbHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHJldHVybiBpbnRlcm5hbENvbHMuZmluZChjID0+IGdldENvbHVtblByb3AoYykgPT09IHByb3ApXG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29sdW1uQnlQcm9wPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50PihcbiAgICBwcm9wOiBUYWJsZUNvbHVtblByb3AsXG4gICAgY29sdW1uczogVFtdXG4gICk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjb2x1bW5zLmZpbmQoYyA9PiBnZXRDb2x1bW5Qcm9wKGMpID09PSBwcm9wKVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sdW1uc1R5cGU6IENvbHVtbnNUeXBlcyk6IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4ge1xuICAgIHN3aXRjaCAoY29sdW1uc1R5cGUpIHtcbiAgICAgIGNhc2UgQ29sdW1uc1R5cGVzLklucHV0OiByZXR1cm4gdGhpcy5faW5wQ29sRGlmZmVyc01hcFxuICAgICAgY2FzZSBDb2x1bW5zVHlwZXMuVGVtcGxhdGU6IHJldHVybiB0aGlzLl90cGxDb2xEaWZmZXJzTWFwXG4gICAgICBjYXNlIENvbHVtbnNUeXBlcy5SZXN1bHQ6IHJldHVybiB0aGlzLl9yZXN1bHRDb2xEaWZmZXJzTWFwXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sdW1uRGlmZmVyKHByb3A6IFRhYmxlQ29sdW1uUHJvcCwgY29sc1R5cGU6IENvbHVtbnNUeXBlcyk6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgZGlmTWFwID0gdGhpcy5fZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sc1R5cGUpXG4gICAgaWYgKGRpZk1hcCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgY29sdW1ucyB0eXBlLmApXG4gICAgfVxuXG4gICAgaWYgKCFkaWZNYXAuaGFzKHByb3ApKSB7XG4gICAgICBkaWZNYXAuc2V0KHByb3AsIHRoaXMuX2RpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCkpXG4gICAgfVxuXG4gICAgY29uc3QgZGlmZmVyID0gZGlmTWFwLmdldChwcm9wKVxuICAgIGlmIChkaWZmZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYERpZmZlciBub3QgZm91bmQuIE5ldyBkaWZmZXIgc2hvdWxkIGhhdmUgYmVlbiBjcmVhdGVkLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZmZlclxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sRGlmKFxuICAgIGNvbDogVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB8IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBjb2xzVHlwZTogQ29sdW1uc1R5cGVzXG4gICk6IEtleVZhbHVlQ2hhbmdlczxzdHJpbmcsIGFueT4gfCBudWxsIHtcbiAgICBjb25zdCBwcm9wID0gZ2V0Q29sdW1uUHJvcChjb2wpXG4gICAgaWYgKHByb3AgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBwcm9wIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9nZXRDb2x1bW5EaWZmZXIocHJvcCwgY29sc1R5cGUpLmRpZmYoY29sKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ29sRGlmKFxuICAgIGNvbERpZjogS2V5VmFsdWVDaGFuZ2VzPHN0cmluZywgYW55PixcbiAgICBpbnRlcm5hbENvbHVtbjogVGFibGVDb2x1bW4gfCB1bmRlZmluZWQsXG4gICAgY29sOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50XG4gICk6IHZvaWQge1xuICAgIGNvbERpZi5mb3JFYWNoUmVtb3ZlZEl0ZW0ociA9PiB7XG4gICAgICBpZiAoaW50ZXJuYWxDb2x1bW4gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGludGVybmFsQ29sdW1uLCByLmtleSkpIHtcbiAgICAgICAgY29uc3QgayA9IHIua2V5IGFzIGtleW9mIFRhYmxlQ29sdW1uXG4gICAgICAgIGRlbGV0ZSBpbnRlcm5hbENvbHVtbltrXVxuICAgICAgfVxuICAgIH0pXG4gICAgY29sRGlmLmZvckVhY2hBZGRlZEl0ZW0ociA9PiAoY29sIGFzIGFueSlbci5rZXldID0gci5jdXJyZW50VmFsdWUpXG4gICAgY29sRGlmLmZvckVhY2hDaGFuZ2VkSXRlbShyID0+IChjb2wgYXMgYW55KVtyLmtleV0gPSByLmN1cnJlbnRWYWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0FkZGVkT3JSZW1vdmVkQ29sdW1ucyhjb2x1bW5zOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2NvbFByb3BzRGlmZmVyKSB7XG4gICAgICB0aGlzLl9jb2xQcm9wc0RpZmZlciA9IHRoaXMuX2RpZmZlcnMuZmluZChbXSkuY3JlYXRlKClcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IGNvbHVtbnMubWFwKGMgPT4gZ2V0Q29sdW1uUHJvcChjKSlcbiAgICByZXR1cm4gdGhpcy5fY29sUHJvcHNEaWZmZXIuZGlmZihwcm9wcykgIT09IG51bGxcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0NvbHVtbnNDaGFuZ2VkKGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSk6IGJvb2xlYW4ge1xuICAgIGxldCBjb2xDaGFuZ2VkID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XG4gICAgICBjb25zdCByZXN1bHREaWYgPSB0aGlzLl9nZXRDb2xEaWYoY29sLCBDb2x1bW5zVHlwZXMuUmVzdWx0KVxuICAgICAgaWYgKHJlc3VsdERpZikge1xuICAgICAgICAvLyBOT1RFOiBDYW4ndCByZXR1cm4gZWFybHksIGJlY2F1c2UgdGhlIGRpZmZlcnMgbmVlZCB0byBiZSB1cGRhdGVkLlxuICAgICAgICBjb2xDaGFuZ2VkID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29sQ2hhbmdlZFxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuY2hlY2tib3hcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZEFkZFJvd0FjdGlvbkNvbHVtbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcm93QWN0aW9uSXRlbSAhPT0gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIF9yb3dBY3Rpb25Db2x1bW5Jc0Zyb3plbkxlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiA9PT0gJ2Zyb3plbkxlZnQnXG4gIH1cblxuICBwcml2YXRlIF9yb3dBY3Rpb25Db2x1bW5Jc0Zyb3plblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25JdGVtQ29sdW1uUG9zaXRpb24gPT09ICdmcm96ZW5SaWdodCdcbiAgfVxuXG4gIHByaXZhdGUgX3Jvd0FjdGlvbkNvbHVtbklzU3RhdGljTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uID09PSAnc3RhdGljTGVmdCdcbiAgfVxuXG4gIHByaXZhdGUgX3Jvd0FjdGlvbkNvbHVtbklzU3RhdGljUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiA9PT0gJ3N0YXRpY1JpZ2h0J1xuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkVHJlZVRvZ2dsZUNvbHVtbihjb2x1bW46IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29sdW1uLmlzVHJlZUNvbHVtbiAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbi5pc1RyZWVDb2x1bW4gJiZcbiAgICAgICghaGFzUHJvcGVydHkoY29sdW1uLCAndHJlZVRvZ2dsZVRlbXBsYXRlJykgfHwgIW5vdE51bGxPclVuZGVmaW5lZChjb2x1bW4udHJlZVRvZ2dsZVRlbXBsYXRlKSlcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZEFkZEhlYWRlclRlbXBsYXRlKGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaGFzUHJvcGVydHkoY29sdW1uLCAnaGVhZGVyVGVtcGxhdGUnKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkQ2VsbFR5cGVTZWxlY3RvclRwbChjb2x1bW46IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzUHJvcGVydHkoY29sdW1uLCAnY2VsbFR5cGUnKVxuICB9XG5cbn1cbiJdfQ==
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlFLE1BQU0sZUFBZSxDQUFBO0FBQ3pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRWxGLE9BQU8sRUFJTCxhQUFhLEdBR2QsTUFBTSx1QkFBdUIsQ0FBQTtBQUU5QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFLMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBOzs7QUFHdkUsSUFBSyxZQUlKO0FBSkQsV0FBSyxZQUFZO0lBQ2YsaURBQUssQ0FBQTtJQUNMLHVEQUFRLENBQUE7SUFDUixtREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUpJLFlBQVksS0FBWixZQUFZLFFBSWhCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQXdCaEMsWUFDbUIsUUFBeUIsRUFDekIscUJBQW9EO1FBRHBELGFBQVEs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QUMsTUFBTSxDQUFDLENBQUE7WUFDM0QsSUFBSSxTQUFTLEVBQUU7Z0JBQ2Isb0VBQW9FO2dCQUNwRSxVQUFVLEdBQUcsSUFBSSxDQUFBO2FBQ2xCO1NBQ0Y7UUFDRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFBO0lBQ3ZELENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQTtJQUMxQyxDQUFDO0lBRU8sMEJBQTBCLENBQUMsTUFBOEI7UUFDL0QsT0FBTyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWTtZQUM3RCxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtJQUNsRyxDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBOEI7UUFDN0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRU8sNkJBQTZCLENBQUMsTUFBOEI7UUFDbEUsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7O2tIQXJVVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgS2V5VmFsdWVDaGFuZ2VzLCBLZXlWYWx1ZURpZmZlciwgS2V5VmFsdWVEaWZmZXJzLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlZmVyLCBFTVBUWSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQge1xuICBEYXRhVGFibGVDb2x1bW5DZWxsVHJlZVRvZ2dsZSxcbiAgRGF0YVRhYmxlQ29sdW1uRGlyZWN0aXZlLFxuICBEYXRhVGFibGVDb2x1bW5IZWFkZXJEaXJlY3RpdmUsXG4gIFNlbGVjdGlvblR5cGUsXG4gIFRhYmxlQ29sdW1uLFxuICBUYWJsZUNvbHVtblByb3AsXG59IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgaGFzUHJvcGVydHksIG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZVJvd0FjdGlvbkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1yb3ctYWN0aW9uLWl0ZW0uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB9IGZyb20gJy4uL21vZGVscy90YWJsZS1jb2x1bW4nXG5pbXBvcnQgeyBjcmVhdGVBY3Rpb25NZW51Q29sdW1uIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWFjdGlvbi1tZW51LWNvbHVtbidcbmltcG9ydCB7IGNyZWF0ZUNoZWNrYm94Q29sdW1uIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWNoZWNrYm94LWNvbHVtbidcbmltcG9ydCB7IGdldENvbHVtblByb3AgfSBmcm9tICcuLi91dGlscy9nZXQtY29sdW1uLXByb3AnXG5pbXBvcnQgeyBzZXRDb2x1bW5EZWZhdWx0cyB9IGZyb20gJy4uL3V0aWxzL3NldC1jb2x1bW4tZGVmYXVsdHMnXG5pbXBvcnQgeyB0cmFuc2xhdGVUZW1wbGF0ZUNvbHVtbnMgfSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUtdGVtcGxhdGVzJ1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uQ2hhbmdlc1NlcnZpY2UgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tY2hhbmdlcy5zZXJ2aWNlJ1xuXG5lbnVtIENvbHVtbnNUeXBlcyB7XG4gIElucHV0LFxuICBUZW1wbGF0ZSxcbiAgUmVzdWx0LFxufVxuXG5leHBvcnQgdHlwZSBJbnRlcm5hbENvbHVtbnNHZXR0ZXIgPSAoKSA9PiBUYWJsZUNvbHVtbltdXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb2x1bW5zTWFuYWdlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF91cGRhdGVDb2x1bW5zID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0Q29sdW1ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGhlU2VhbURhdGF0YWJsZUNvbHVtbltdPihbXSlcbiAgcHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGVDb2x1bW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhdGFibGVDb2x1bW5Db21wb25lbnRbXT4oW10pXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wQ29sRGlmZmVyc01hcCA9IG5ldyBNYXA8VGFibGVDb2x1bW5Qcm9wLCBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT4+KClcbiAgcHJpdmF0ZSByZWFkb25seSBfdHBsQ29sRGlmZmVyc01hcCA9IG5ldyBNYXA8VGFibGVDb2x1bW5Qcm9wLCBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT4+KClcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzdWx0Q29sRGlmZmVyc01hcCA9IG5ldyBNYXA8VGFibGVDb2x1bW5Qcm9wLCBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT4+KClcbiAgcHJpdmF0ZSBfY29sUHJvcHNEaWZmZXI/OiBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT5cblxuICBwcml2YXRlIF9pbnRlcm5hbENvbHVtbnNHZXR0ZXI/OiBJbnRlcm5hbENvbHVtbnNHZXR0ZXJcblxuICBwcml2YXRlIF9zZWxlY3Rpb25UeXBlOiBTZWxlY3Rpb25UeXBlIHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX3Jvd0FjdGlvbkl0ZW06IERhdGF0YWJsZVJvd0FjdGlvbkl0ZW1EaXJlY3RpdmUgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfYWN0aW9uTWVudUNlbGxUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfYmxhbmtIZWFkZXJUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkhlYWRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfdHJlZVRvZ2dsZVRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uQ2VsbFRyZWVUb2dnbGU+IHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX2hlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9jZWxsVHlwZVNlbGVjdG9yVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU+IHwgdW5kZWZpbmVkXG5cbiAgLy8gVE9ETzogQ29uc2lkZXIgbWFraW5nIHRoaXMgYSBjb2x1bW5zIGNoYW5nZWQgb2JlcnZhYmxlLCB0byBtYWtlIGNoYW5nZXMgbW9yZSBwcmVkaWN0YWJsZS5cbiAgcHVibGljIHJlYWRvbmx5IGNvbHVtbnMkOiBPYnNlcnZhYmxlPFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uQ2hhbmdlc1NlcnZpY2U6IERhdGF0YWJsZUNvbHVtbkNoYW5nZXNTZXJ2aWNlLFxuICApIHtcbiAgICBjb25zdCB0ZW1wbGF0ZUNvbHVtbnMkID0gdGhpcy5fY29sdW1uQ2hhbmdlc1NlcnZpY2UuY29sdW1uSW5wdXRDaGFuZ2VzJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVDb2x1bW5zLmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKHRyYW5zbGF0ZVRlbXBsYXRlQ29sdW1ucykpXG4gICAgICB9KVxuICAgIClcblxuICAgIHRoaXMuY29sdW1ucyQgPSBkZWZlcigoKSA9PiB7XG4gICAgICBsZXQgaXNGaXJzdCA9IHRydWVcbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5faW5wdXRDb2x1bW5zLmFzT2JzZXJ2YWJsZSgpLFxuICAgICAgICB0ZW1wbGF0ZUNvbHVtbnMkLFxuICAgICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLmFzT2JzZXJ2YWJsZSgpLnBpcGUoYXVkaXRUaW1lKDApLCBzdGFydFdpdGgodW5kZWZpbmVkKSlcbiAgICAgIF0pLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoWyBpbnB1dENvbHVtbnMsIHRlbXBsYXRlQ29sdW1ucyBdKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29scyA9IHRoaXMuX21lcmdlQ29sdW1ucyhpbnB1dENvbHVtbnMsIHRlbXBsYXRlQ29sdW1ucylcblxuICAgICAgICAgIGNvbnN0IGhhc0NvbHVtbnNDaGFuZ2VkID0gdGhpcy5faGFzQ29sdW1uc0NoYW5nZWQoY29scylcblxuICAgICAgICAgIC8vIFRPRE86IExvb2sgZm9yIGNvbHVtbnMgYWRkZWQvcmVtb3ZlZCBhbmQgcmVtb3ZlIHRoZSByZW1vdmVkIGNvbHVtbnNcbiAgICAgICAgICAvLyBkaWZmZXJzLCBub3QganVzdCBjaGFuZ2VzIHRvIGNvbHVtbnMuXG4gICAgICAgICAgY29uc3QgaGFzQWRkZWRPclJlbW92ZWRDb2x1bW5zID0gdGhpcy5faGFzQWRkZWRPclJlbW92ZWRDb2x1bW5zKGNvbHMpXG5cbiAgICAgICAgICAvLyBOT1RFOiBCb3RoIGNoZWNrcyBuZWVkIHRvIGJlIHJ1biwgZXZlbiB0aG91Z2ggb25seSBvbmUgbmVlZHMgdG8gYmVcbiAgICAgICAgICAvLyB0cnVlLCBiZWNhdXNlIHRoZWlyIGRpZmZlcnMgbmVlZCB0byBiZSBjYWxsZWQuXG4gICAgICAgICAgaWYgKGhhc0NvbHVtbnNDaGFuZ2VkIHx8IGhhc0FkZGVkT3JSZW1vdmVkQ29sdW1ucyB8fCBpc0ZpcnN0KSB7XG4gICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2VcbiAgICAgICAgICAgIHJldHVybiBvZihjb2xzKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBFTVBUWVxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9KS5waXBlKFxuICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbnB1dENvbHVtbnMoY29sdW1uczogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXRDb2x1bW5zLm5leHQoY29sdW1ucylcbiAgfVxuXG4gIHB1YmxpYyBzZXRUZW1wbGF0ZUNvbHVtbnMoY29sdW1uczogRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50W10pOiB2b2lkIHtcbiAgICB0aGlzLl90ZW1wbGF0ZUNvbHVtbnMubmV4dChjb2x1bW5zKVxuICB9XG5cbiAgcHVibGljIHNldEludGVybmFsQ29sdW1uc0dldHRlcihnZXR0ZXI6IEludGVybmFsQ29sdW1uc0dldHRlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcm5hbENvbHVtbnNHZXR0ZXIgPSBnZXR0ZXIgfHwgdW5kZWZpbmVkXG4gICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3Rpb25UeXBlKHNlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fc2VsZWN0aW9uVHlwZSAhPT0gc2VsZWN0aW9uVHlwZVxuICAgIHRoaXMuX3NlbGVjdGlvblR5cGUgPSBzZWxlY3Rpb25UeXBlXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvblR5cGUoKTogU2VsZWN0aW9uVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGVcbiAgfVxuXG4gIHB1YmxpYyBzZXRSb3dBY3Rpb25JdGVtKHJvd0FjdGlvbkl0ZW06IERhdGF0YWJsZVJvd0FjdGlvbkl0ZW1EaXJlY3RpdmUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fcm93QWN0aW9uSXRlbSAhPT0gcm93QWN0aW9uSXRlbVxuICAgIHRoaXMuX3Jvd0FjdGlvbkl0ZW0gPSByb3dBY3Rpb25JdGVtXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbk1lbnVDZWxsVHBsKGFjdGlvbk1lbnVDZWxsVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsICE9PSBhY3Rpb25NZW51Q2VsbFRwbFxuICAgIHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsID0gYWN0aW9uTWVudUNlbGxUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QmxhbmtIZWFkZXJUcGwoYmxhbmtIZWFkZXJUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkhlYWRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fYmxhbmtIZWFkZXJUcGwgIT09IGJsYW5rSGVhZGVyVHBsXG4gICAgdGhpcy5fYmxhbmtIZWFkZXJUcGwgPSBibGFua0hlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRUcmVlVG9nZ2xlVHBsKHRyZWVUb2dnbGVUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkNlbGxUcmVlVG9nZ2xlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl90cmVlVG9nZ2xlVHBsICE9PSB0cmVlVG9nZ2xlVHBsXG4gICAgdGhpcy5fdHJlZVRvZ2dsZVRwbCA9IHRyZWVUb2dnbGVUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0SGVhZGVyVHBsKGhlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oZWFkZXJUcGwgIT09IGhlYWRlclRwbFxuICAgIHRoaXMuX2hlYWRlclRwbCA9IGhlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRDZWxsVHlwZVNlbGVjdG9yVHBsKGNlbGxUeXBlU2VsZWN0b3JUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fY2VsbFR5cGVTZWxlY3RvclRwbCAhPT0gY2VsbFR5cGVTZWxlY3RvclRwbFxuICAgIHRoaXMuX2NlbGxUeXBlU2VsZWN0b3JUcGwgPSBjZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWVyZ2VDb2x1bW5zKFxuICAgIGlucHV0Q29sdW1uczogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdLFxuICAgIHRlbXBsYXRlQ29sdW1uczogRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50W11cbiAgKTogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdIHtcbiAgICBjb25zdCBjb2xzOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10gPSBbXVxuXG4gICAgLy8gQWRkIHRoZSBmaXJzdCBjb2x1bW4gY2hlY2tib3ggaWYgJ2NoZWNrYm94JyBzZWxlY3Rpb24gaXMgZW5hYmxlZC5cbiAgICBpZiAodGhpcy5fc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKSkge1xuICAgICAgY29scy5wdXNoKGNyZWF0ZUNoZWNrYm94Q29sdW1uKCkpXG4gICAgfVxuXG4gICAgLy8gQ29sdW1uIG5lZWRzIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBpbnB1dENvbHVtbnMsIHNvIGl0ZXJhdGUgdGhlXG4gICAgLy8gaW5wdXRDb2x1bW5zLlxuICAgIGZvciAoY29uc3QgaW5wQ29sIG9mIGlucHV0Q29sdW1ucykge1xuICAgICAgY29uc3QgcHJvcCA9IGdldENvbHVtblByb3AoaW5wQ29sKVxuICAgICAgaWYgKCFub3ROdWxsT3JVbmRlZmluZWQocHJvcCkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBtYXkgaGF2ZSAncHJvcCcgb3IgJ25hbWUnIGRlZmluZWQuYClcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW50ZXJuYWxDb2wgPSB0aGlzLl9nZXRJbnRlcm5hbENvbHVtbihwcm9wKVxuXG4gICAgICBjb25zdCBpbnBDb2xEaWYgPSB0aGlzLl9nZXRDb2xEaWYoaW5wQ29sLCBDb2x1bW5zVHlwZXMuSW5wdXQpXG4gICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKGlucENvbERpZikpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ29sRGlmKGlucENvbERpZiwgaW50ZXJuYWxDb2wsIGlucENvbClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHBsQ29sID0gdGhpcy5fZmluZENvbHVtbkJ5UHJvcChwcm9wLCB0ZW1wbGF0ZUNvbHVtbnMpXG4gICAgICBpZiAodHBsQ29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgdHBsQ29sRGlmID0gdGhpcy5fZ2V0Q29sRGlmKHRwbENvbCwgQ29sdW1uc1R5cGVzLlRlbXBsYXRlKVxuICAgICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKHRwbENvbERpZikpIHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVDb2xEaWYodHBsQ29sRGlmLCBpbnRlcm5hbENvbCwgdHBsQ29sKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9jb2w6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gPSB7XG4gICAgICAgIC4uLihpbnRlcm5hbENvbCB8fCB7fSksXG4gICAgICAgIC4uLmlucENvbCxcbiAgICAgICAgLy8gVE9ETzogUmV0aGluayB0aGlzLCBiZWNhdXNlIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGlzIGNvcnJlY3QuXG4gICAgICAgIC4uLih0cGxDb2wgYXMgYW55IHx8IHt9KVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fc2hvdWxkQWRkVHJlZVRvZ2dsZUNvbHVtbihfY29sKSkge1xuICAgICAgICBfY29sLnRyZWVUb2dnbGVUZW1wbGF0ZSA9IHRoaXMuX3RyZWVUb2dnbGVUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZEhlYWRlclRlbXBsYXRlKF9jb2wpKSB7XG4gICAgICAgIF9jb2wuaGVhZGVyVGVtcGxhdGUgPSB0aGlzLl9oZWFkZXJUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZENlbGxUeXBlU2VsZWN0b3JUcGwoX2NvbCkpIHtcbiAgICAgICAgX2NvbC5jZWxsVGVtcGxhdGUgPSB0aGlzLl9jZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgICB9XG5cbiAgICAgIGNvbHMucHVzaChfY29sKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9zaG91bGRBZGRSb3dBY3Rpb25Db2x1bW4oKSkge1xuICAgICAgY29scy5wdXNoKGNyZWF0ZUFjdGlvbk1lbnVDb2x1bW4odGhpcy5fYWN0aW9uTWVudUNlbGxUcGwsIHRoaXMuX2JsYW5rSGVhZGVyVHBsKSlcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIGRlZmF1bHQgZm9yIGFueSBtaXNzaW5nIHByb3BzIGFyZSBzZXQuXG4gICAgLy8gVE9ETzogRGV0ZXJtaW5lIGlmIHRoaXMgc2hvdWxkIGJlIGRvbmUgZWFybGllciwgYmVjYXVzZSBJIGRvbid0IGxpa2VcbiAgICAvLyBob3cgdGhpcyBpcyBkb25lIGFmdGVyIGRpZiBjaGVja3MuXG4gICAgc2V0Q29sdW1uRGVmYXVsdHMoY29scylcblxuICAgIHJldHVybiBjb2xzXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbnMoKTogVGFibGVDb2x1bW5bXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlcigpXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbihwcm9wOiBUYWJsZUNvbHVtblByb3ApOiBUYWJsZUNvbHVtbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW50ZXJuYWxDb2xzID0gdGhpcy5fZ2V0SW50ZXJuYWxDb2x1bW5zKClcblxuICAgIGlmIChpbnRlcm5hbENvbHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHJldHVybiBpbnRlcm5hbENvbHMuZmluZChjID0+IGdldENvbHVtblByb3AoYykgPT09IHByb3ApXG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29sdW1uQnlQcm9wPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50PihcbiAgICBwcm9wOiBUYWJsZUNvbHVtblByb3AsXG4gICAgY29sdW1uczogVFtdXG4gICk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjb2x1bW5zLmZpbmQoYyA9PiBnZXRDb2x1bW5Qcm9wKGMpID09PSBwcm9wKVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sdW1uc1R5cGU6IENvbHVtbnNUeXBlcyk6IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4ge1xuICAgIHN3aXRjaCAoY29sdW1uc1R5cGUpIHtcbiAgICAgIGNhc2UgQ29sdW1uc1R5cGVzLklucHV0OiByZXR1cm4gdGhpcy5faW5wQ29sRGlmZmVyc01hcFxuICAgICAgY2FzZSBDb2x1bW5zVHlwZXMuVGVtcGxhdGU6IHJldHVybiB0aGlzLl90cGxDb2xEaWZmZXJzTWFwXG4gICAgICBjYXNlIENvbHVtbnNUeXBlcy5SZXN1bHQ6IHJldHVybiB0aGlzLl9yZXN1bHRDb2xEaWZmZXJzTWFwXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sdW1uRGlmZmVyKHByb3A6IFRhYmxlQ29sdW1uUHJvcCwgY29sc1R5cGU6IENvbHVtbnNUeXBlcyk6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgZGlmTWFwID0gdGhpcy5fZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sc1R5cGUpXG4gICAgaWYgKGRpZk1hcCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgY29sdW1ucyB0eXBlLmApXG4gICAgfVxuXG4gICAgaWYgKCFkaWZNYXAuaGFzKHByb3ApKSB7XG4gICAgICBkaWZNYXAuc2V0KHByb3AsIHRoaXMuX2RpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCkpXG4gICAgfVxuXG4gICAgY29uc3QgZGlmZmVyID0gZGlmTWFwLmdldChwcm9wKVxuICAgIGlmIChkaWZmZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYERpZmZlciBub3QgZm91bmQuIE5ldyBkaWZmZXIgc2hvdWxkIGhhdmUgYmVlbiBjcmVhdGVkLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZmZlclxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sRGlmKFxuICAgIGNvbDogVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB8IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBjb2xzVHlwZTogQ29sdW1uc1R5cGVzXG4gICk6IEtleVZhbHVlQ2hhbmdlczxzdHJpbmcsIGFueT4gfCBudWxsIHtcbiAgICBjb25zdCBwcm9wID0gZ2V0Q29sdW1uUHJvcChjb2wpXG4gICAgaWYgKHByb3AgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBwcm9wIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9nZXRDb2x1bW5EaWZmZXIocHJvcCwgY29sc1R5cGUpLmRpZmYoY29sKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ29sRGlmKFxuICAgIGNvbERpZjogS2V5VmFsdWVDaGFuZ2VzPHN0cmluZywgYW55PixcbiAgICBpbnRlcm5hbENvbHVtbjogVGFibGVDb2x1bW4gfCB1bmRlZmluZWQsXG4gICAgY29sOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50XG4gICk6IHZvaWQge1xuICAgIGNvbERpZi5mb3JFYWNoUmVtb3ZlZEl0ZW0ociA9PiB7XG4gICAgICBpZiAoaW50ZXJuYWxDb2x1bW4gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGludGVybmFsQ29sdW1uLCByLmtleSkpIHtcbiAgICAgICAgY29uc3QgayA9IHIua2V5IGFzIGtleW9mIFRhYmxlQ29sdW1uXG4gICAgICAgIGRlbGV0ZSBpbnRlcm5hbENvbHVtbltrXVxuICAgICAgfVxuICAgIH0pXG4gICAgY29sRGlmLmZvckVhY2hBZGRlZEl0ZW0ociA9PiAoY29sIGFzIGFueSlbci5rZXldID0gci5jdXJyZW50VmFsdWUpXG4gICAgY29sRGlmLmZvckVhY2hDaGFuZ2VkSXRlbShyID0+IChjb2wgYXMgYW55KVtyLmtleV0gPSByLmN1cnJlbnRWYWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0FkZGVkT3JSZW1vdmVkQ29sdW1ucyhjb2x1bW5zOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2NvbFByb3BzRGlmZmVyKSB7XG4gICAgICB0aGlzLl9jb2xQcm9wc0RpZmZlciA9IHRoaXMuX2RpZmZlcnMuZmluZChbXSkuY3JlYXRlKClcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IGNvbHVtbnMubWFwKGMgPT4gZ2V0Q29sdW1uUHJvcChjKSlcbiAgICByZXR1cm4gdGhpcy5fY29sUHJvcHNEaWZmZXIuZGlmZihwcm9wcykgIT09IG51bGxcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0NvbHVtbnNDaGFuZ2VkKGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSk6IGJvb2xlYW4ge1xuICAgIGxldCBjb2xDaGFuZ2VkID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XG4gICAgICBjb25zdCByZXN1bHREaWYgPSB0aGlzLl9nZXRDb2xEaWYoY29sLCBDb2x1bW5zVHlwZXMuUmVzdWx0KVxuICAgICAgaWYgKHJlc3VsdERpZikge1xuICAgICAgICAvLyBOT1RFOiBDYW4ndCByZXR1cm4gZWFybHksIGJlY2F1c2UgdGhlIGRpZmZlcnMgbmVlZCB0byBiZSB1cGRhdGVkLlxuICAgICAgICBjb2xDaGFuZ2VkID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29sQ2hhbmdlZFxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuY2hlY2tib3hcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZEFkZFJvd0FjdGlvbkNvbHVtbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcm93QWN0aW9uSXRlbSAhPT0gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIF9zaG91bGRBZGRUcmVlVG9nZ2xlQ29sdW1uKGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjb2x1bW4uaXNUcmVlQ29sdW1uICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmlzVHJlZUNvbHVtbiAmJlxuICAgICAgKCFoYXNQcm9wZXJ0eShjb2x1bW4sICd0cmVlVG9nZ2xlVGVtcGxhdGUnKSB8fCAhbm90TnVsbE9yVW5kZWZpbmVkKGNvbHVtbi50cmVlVG9nZ2xlVGVtcGxhdGUpKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkSGVhZGVyVGVtcGxhdGUoY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFoYXNQcm9wZXJ0eShjb2x1bW4sICdoZWFkZXJUZW1wbGF0ZScpXG4gIH1cblxuICBwcml2YXRlIF9zaG91bGRBZGRDZWxsVHlwZVNlbGVjdG9yVHBsKGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNQcm9wZXJ0eShjb2x1bW4sICdjZWxsVHlwZScpXG4gIH1cblxufVxuIl19
|