@seniorsistemas/data-seniorx-core 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/constants/accordion.const.d.ts +4 -4
- package/core/constants/alert.const.d.ts +1 -1
- package/core/constants/autocomplete.const.d.ts +2 -2
- package/core/constants/badge.const.d.ts +1 -1
- package/core/constants/card.const.d.ts +8 -8
- package/core/constants/chips.const.d.ts +2 -2
- package/core/constants/code-editor.const.d.ts +4 -4
- package/core/constants/collapse-link.const.d.ts +2 -2
- package/core/constants/color-picker.const.d.ts +2 -2
- package/core/constants/combobox.const.d.ts +3 -3
- package/core/constants/context-selector.const.d.ts +1 -1
- package/core/constants/editable-overlay.const.d.ts +4 -4
- package/core/constants/fileupload.const.d.ts +3 -3
- package/core/constants/gantt.const.d.ts +1 -1
- package/core/constants/help-popover.const.d.ts +2 -2
- package/core/constants/hyperlink.const.d.ts +2 -2
- package/core/constants/info-sign.const.d.ts +1 -1
- package/core/constants/inline-edit.const.d.ts +4 -4
- package/core/constants/kanban.const.d.ts +2 -2
- package/core/constants/list.const.d.ts +1 -1
- package/core/constants/modalc.const.d.ts +1 -1
- package/core/constants/navigation-button.const.d.ts +3 -3
- package/core/constants/object-card.const.d.ts +2 -2
- package/core/constants/picklist.const.d.ts +2 -2
- package/core/constants/pin-code-field.const.d.ts +3 -3
- package/core/constants/popover.const.d.ts +1 -1
- package/core/constants/progressbar.const.d.ts +1 -1
- package/core/constants/radio.const.d.ts +2 -2
- package/core/constants/rating-scale.const.d.ts +1 -1
- package/core/constants/sidebar.const.d.ts +1 -1
- package/core/constants/slider.const.d.ts +1 -1
- package/core/constants/split-button.const.d.ts +2 -2
- package/core/constants/spotlight.const.d.ts +8 -8
- package/core/constants/star-rating.const.d.ts +2 -2
- package/core/constants/tab.const.d.ts +3 -3
- package/core/constants/table.const.d.ts +1 -0
- package/core/constants/thumbnails.const.d.ts +4 -4
- package/core/constants/token-list.const.d.ts +1 -1
- package/core/types/table-column.type.d.ts +4 -0
- package/core/types/table-options.type.d.ts +3 -0
- package/core/types/table-shared.type.d.ts +1 -1
- package/core/types/tile-select.type.d.ts +17 -0
- package/esm2022/core/constants/accordion.const.mjs +5 -5
- package/esm2022/core/constants/alert.const.mjs +2 -2
- package/esm2022/core/constants/autocomplete.const.mjs +3 -3
- package/esm2022/core/constants/badge.const.mjs +2 -2
- package/esm2022/core/constants/card.const.mjs +9 -9
- package/esm2022/core/constants/chips.const.mjs +3 -3
- package/esm2022/core/constants/code-editor.const.mjs +5 -5
- package/esm2022/core/constants/collapse-link.const.mjs +3 -3
- package/esm2022/core/constants/color-picker.const.mjs +3 -3
- package/esm2022/core/constants/combobox.const.mjs +7 -4
- package/esm2022/core/constants/context-selector.const.mjs +2 -2
- package/esm2022/core/constants/editable-overlay.const.mjs +5 -5
- package/esm2022/core/constants/fileupload.const.mjs +4 -4
- package/esm2022/core/constants/gantt.const.mjs +2 -2
- package/esm2022/core/constants/help-popover.const.mjs +3 -3
- package/esm2022/core/constants/hyperlink.const.mjs +3 -3
- package/esm2022/core/constants/info-sign.const.mjs +2 -2
- package/esm2022/core/constants/inline-edit.const.mjs +5 -5
- package/esm2022/core/constants/kanban.const.mjs +3 -3
- package/esm2022/core/constants/list.const.mjs +2 -2
- package/esm2022/core/constants/loading-state.const.mjs +2 -2
- package/esm2022/core/constants/modalc.const.mjs +2 -2
- package/esm2022/core/constants/navigation-button.const.mjs +4 -4
- package/esm2022/core/constants/object-card.const.mjs +3 -3
- package/esm2022/core/constants/picklist.const.mjs +3 -3
- package/esm2022/core/constants/pin-code-field.const.mjs +4 -4
- package/esm2022/core/constants/popover.const.mjs +8 -2
- package/esm2022/core/constants/progressbar.const.mjs +2 -2
- package/esm2022/core/constants/radio.const.mjs +3 -3
- package/esm2022/core/constants/rating-scale.const.mjs +2 -2
- package/esm2022/core/constants/sidebar.const.mjs +2 -2
- package/esm2022/core/constants/slider.const.mjs +2 -2
- package/esm2022/core/constants/split-button.const.mjs +3 -3
- package/esm2022/core/constants/spotlight.const.mjs +9 -9
- package/esm2022/core/constants/star-rating.const.mjs +3 -3
- package/esm2022/core/constants/tab.const.mjs +4 -4
- package/esm2022/core/constants/table.const.mjs +4 -3
- package/esm2022/core/constants/thumbnails.const.mjs +5 -5
- package/esm2022/core/constants/token-list.const.mjs +2 -2
- package/esm2022/core/data/fontawesome-v5-solid-icons.data.mjs +2 -2
- package/esm2022/core/types/table-column.type.mjs +1 -1
- package/esm2022/core/types/table-options.type.mjs +1 -1
- package/esm2022/core/types/table-shared.type.mjs +1 -1
- package/esm2022/core/types/tile-select.type.mjs +8 -0
- package/esm2022/core/utils/combobox.util.mjs +6 -6
- package/esm2022/features/accordion/components/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/features/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/features/bignumber-input/bignumber-input.component.mjs +1 -1
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/features/button/button.component.mjs +7 -3
- package/esm2022/features/card-list/card/card.component.mjs +2 -2
- package/esm2022/features/card-list/card-list.component.mjs +7 -3
- package/esm2022/features/chat/chat.component.mjs +4 -4
- package/esm2022/features/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/features/checkbox-list/checkbox-list.component.mjs +3 -3
- package/esm2022/features/chips/chips.component.mjs +3 -3
- package/esm2022/features/code-editor/code-editor.component.mjs +23 -5
- package/esm2022/features/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +3 -3
- package/esm2022/features/currency/currency.component.mjs +1 -1
- package/esm2022/features/editable-overlay/editable-overlay.component.mjs +3 -3
- package/esm2022/features/empty-state/empty-state.component.mjs +1 -1
- package/esm2022/features/fileupload/fileupload.component.mjs +4 -4
- package/esm2022/features/filters/filters.component.mjs +3 -3
- package/esm2022/features/help-popover/help-popover.component.mjs +2 -2
- package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
- package/esm2022/features/icon-picker/icon-picker.component.mjs +1 -1
- package/esm2022/features/image-cropper/image-cropper.component.mjs +9 -9
- package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +2 -2
- package/esm2022/features/list/list.component.mjs +7 -3
- package/esm2022/features/loading-state/loading-state.component.mjs +5 -5
- package/esm2022/features/localized-number-input/localized-number-input.component.mjs +4 -4
- package/esm2022/features/lookup/lookup.component.mjs +5 -5
- package/esm2022/features/mask/mask.component.mjs +4 -4
- package/esm2022/features/modal/modal.component.mjs +3 -3
- package/esm2022/features/modalc/modalc.component.mjs +3 -3
- package/esm2022/features/number-input/number-input.component.mjs +32 -5
- package/esm2022/features/object-card/components/object-card-field/object-card-field.component.mjs +1 -1
- package/esm2022/features/object-card/components/object-card-main/object-card-main.component.mjs +1 -1
- package/esm2022/features/object-card/object-card.component.mjs +2 -2
- package/esm2022/features/paginator/paginator.component.mjs +3 -3
- package/esm2022/features/panel/panel.component.mjs +6 -6
- package/esm2022/features/password-strength/password-strength.component.mjs +6 -6
- package/esm2022/features/picklist/picklist.component.mjs +6 -4
- package/esm2022/features/pin-code-field/pin-code-field.component.mjs +3 -3
- package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +11 -11
- package/esm2022/features/rating-scale/rating-scale.component.mjs +3 -3
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +100 -7
- package/esm2022/features/row-card-list/row-card-list.component.mjs +7 -3
- package/esm2022/features/scaffold/scaffold.component.mjs +3 -3
- package/esm2022/features/searchbox/searchbox.component.mjs +4 -4
- package/esm2022/features/select-button/select-button.component.mjs +5 -5
- package/esm2022/features/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/features/slider/slider.component.mjs +3 -3
- package/esm2022/features/speech-recognition/speech-recognition.component.mjs +12 -12
- package/esm2022/features/spotlight/spotlight.component.mjs +2 -2
- package/esm2022/features/star-rating/star-rating.component.mjs +3 -3
- package/esm2022/features/switch/switch.component.mjs +4 -4
- package/esm2022/features/table/components/table-actions-menu.component.mjs +2 -2
- package/esm2022/features/table/components/table-cell-content.component.mjs +16 -10
- package/esm2022/features/table/table.component.mjs +46 -16
- package/esm2022/features/table/utils/table-visual.util.mjs +25 -7
- package/esm2022/features/textarea/textarea.component.mjs +3 -3
- package/esm2022/features/textbox/textbox.component.mjs +3 -3
- package/esm2022/features/tile-select/tile-select.component.mjs +80 -0
- package/esm2022/features/toast/toast.component.mjs +3 -3
- package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +6 -6
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
- package/esm2022/locales/en.json +4760 -4749
- package/esm2022/locales/es-CO.json +4760 -4749
- package/esm2022/locales/pt.json +4760 -4749
- package/esm2022/providers/features.provider.mjs +3 -1
- package/esm2022/public-api.mjs +3 -1
- package/features/button/button.component.d.ts +2 -1
- package/features/card-list/card-list.component.d.ts +3 -1
- package/features/code-editor/code-editor.component.d.ts +2 -1
- package/features/help-popover/help-popover.component.d.ts +1 -1
- package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +4 -4
- package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +2 -2
- package/features/list/list.component.d.ts +3 -1
- package/features/navigation-button/navigation-button.component.d.ts +3 -3
- package/features/number-input/number-input.component.d.ts +7 -1
- package/features/panel/panel.component.d.ts +1 -1
- package/features/picklist/picklist.component.d.ts +3 -2
- package/features/pin-code-field/pin-code-field.component.d.ts +3 -3
- package/features/row-card-list/row-card/row-card.component.d.ts +15 -2
- package/features/row-card-list/row-card-list.component.d.ts +3 -1
- package/features/spotlight/spotlight.component.d.ts +8 -8
- package/features/table/components/table-cell-content.component.d.ts +4 -1
- package/features/table/table.component.d.ts +9 -2
- package/features/table/utils/table-visual.util.d.ts +5 -0
- package/features/textarea/textarea.component.d.ts +1 -1
- package/features/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +3 -3
- package/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
- package/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +1 -1
- package/features/tile-select/tile-select.component.d.ts +21 -0
- package/fesm2022/seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-fK3MF8KJ.mjs +4 -0
- package/fesm2022/{seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-B7opbaVg.mjs.map → seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-fK3MF8KJ.mjs.map} +1 -1
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14859 -14534
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +57 -22
- package/public-api.d.ts +3 -0
- package/src/locales/en.json +4760 -4749
- package/src/locales/es-CO.json +4760 -4749
- package/src/locales/pt.json +4760 -4749
- package/styles/sdc-global-variables.scss +2 -2
- package/styles.css +2 -2
- package/fesm2022/seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-B7opbaVg.mjs +0 -4
|
@@ -258,11 +258,11 @@ export class BreadcrumbComponent {
|
|
|
258
258
|
});
|
|
259
259
|
}
|
|
260
260
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
261
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", enableLinks: ["enableLinks", "enableLinks", booleanAttribute], ariaLabel: "ariaLabel", items: "items" }, ngImport: i0, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.
|
|
261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", enableLinks: ["enableLinks", "enableLinks", booleanAttribute], ariaLabel: "ariaLabel", items: "items" }, ngImport: i0, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility_breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-text,.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-current-color, #666872);cursor:default}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
262
262
|
}
|
|
263
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
264
264
|
type: Component,
|
|
265
|
-
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.
|
|
265
|
+
args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"sdc-breadcrumb\"\n [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility_breadcrumb_navigation') | translate\"\n>\n <ol class=\"sdc-breadcrumb-list\">\n @if (homeItem()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\" [class.sdc-breadcrumb-item--current]=\"isAtHome()\">\n @if (!isAtHome() && canUseRouterLink(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(homeItem()!)\"\n [queryParams]=\"queryParamsOf(homeItem()!)\"\n [fragment]=\"homeItem()!.fragment\"\n [queryParamsHandling]=\"homeItem()!.queryParamsHandling\"\n [preserveFragment]=\"homeItem()!.preserveFragment\"\n [skipLocationChange]=\"homeItem()!.skipLocationChange\"\n [replaceUrl]=\"homeItem()!.replaceUrl\"\n [state]=\"homeItem()!.state\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else if (!isAtHome() && canUseUrl(homeItem()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(homeItem()!)\"\n [attr.target]=\"targetAttrOf(homeItem()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <span\n class=\"sdc-breadcrumb-text sdc-breadcrumb-text--home\"\n [attr.aria-label]=\"'platform.datacore.accessibility_breadcrumb_home' | translate\"\n >\n @if (homeItem()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"homeItem()!.icon\" aria-hidden=\"true\"></span>\n }\n </span>\n }\n </li>\n }\n\n @for (item of trailItems(); track $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li\n class=\"sdc-breadcrumb-item\"\n [class.sdc-breadcrumb-item--current]=\"item.disabled\"\n [class.sdc-breadcrumb-item--previous]=\"!item.disabled && $index === trailItems().length - 2\"\n >\n @if (canNavigate(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"hasRouterLink(item) ? routerLinkOf(item) : null\"\n [queryParams]=\"queryParamsOf(item)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.href]=\"!hasRouterLink(item) && hasUrl(item) ? hrefOf(item) : null\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n <span class=\"sdc-breadcrumb-sr-only\">{{ ' (' + ($index + 1) + ')' }}</span>\n </a>\n } @else if (!item.disabled) {\n <span class=\"sdc-breadcrumb-text\">\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </span>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit);text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item--home .sdc-breadcrumb-link,.sdc-breadcrumb-item--previous .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-text-color, inherit);font-size:12px;line-height:1}.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-text,.sdc-breadcrumb-item--home.sdc-breadcrumb-item--current .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-current-color, #666872);cursor:default}.sdc-breadcrumb-text{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-text-color, inherit)}.sdc-breadcrumb-item--home .sdc-breadcrumb-item-icon,.sdc-breadcrumb-item--previous .sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb))}.sdc-breadcrumb-text .sdc-breadcrumb-item-icon{color:currentColor}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}\n"] }]
|
|
266
266
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
|
|
267
267
|
type: Input
|
|
268
268
|
}], targetHomeUrl: [{
|
|
@@ -275,4 +275,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
275
275
|
}], items: [{
|
|
276
276
|
type: Input
|
|
277
277
|
}] } });
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxjQUFjLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUN0QixNQUFNLHVDQUF1QyxDQUFDOzs7O0FBWS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFrRVg7SUFDQTtJQWxFRixhQUFhLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN0RCxtQkFBbUIsR0FBRyxNQUFNLENBQVMsOEJBQThCLENBQUMsQ0FBQztJQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN4RCxtQkFBbUIsR0FBRyxNQUFNLENBQStCLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLGlC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QUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN0QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNuQyxLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBaFVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDRKQWlDVixnQkFBZ0IscUVDbEV0Qyxxd0hBcUZBLGk1RUQxRFksWUFBWSw4QkFBRSxZQUFZLCtRQUFFLGVBQWU7OzRGQU0xQyxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFFBQVEsbUJBQ3hCLHVCQUF1QixDQUFDLE1BQU07d0dBZ0IzQyxPQUFPO3NCQURWLEtBQUs7Z0JBV0YsYUFBYTtzQkFEaEIsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLFNBQVM7c0JBRFosS0FBSztnQkFNRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OUyxcbiAgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMsXG4gIEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSxcbiAgQlJFQURDUlVNQl9IT01FX0lDT05fQ0xBU1MsXG4gIEJSRUFEQ1JVTUJfSU5ERVhfWkVST1xufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9icmVhZGNydW1iLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgQnJlYWRjcnVtYkl0ZW0sIEJyZWFkY3J1bWJJdGVtVmlld01vZGVsLCBCcmVhZGNydW1iTWF0Y2hPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9icmVhZGNydW1iLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtYnJlYWRjcnVtYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBob21lVXJsU2lnbmFsID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRIb21lVXJsU2lnbmFsID0gc2lnbmFsPHN0cmluZz4oQlJFQURDUlVNQl9ERUZBVUxUX1RBUkdFVF9IT01FKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcmlhTGFiZWxTaWduYWwgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1PdmVycmlkZXNTaWduYWwgPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1bXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbmFibGVMaW5rc1NpZ25hbCA9IHNpZ25hbCh0cnVlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZUl0ZW0gPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFpbEl0ZW1zID0gc2lnbmFsPEJyZWFkY3J1bWJJdGVtVmlld01vZGVsW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQXRIb21lID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUxhYmVsVGV4dCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXJpYUxhYmVsU2lnbmFsKCkpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBob21lVXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmhvbWVVcmxTaWduYWwuc2V0KHZhbHVlID8/IHVuZGVmaW5lZCk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgaG9tZVVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmhvbWVVcmxTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0YXJnZXRIb21lVXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRhcmdldEhvbWVVcmxTaWduYWwuc2V0KHZhbHVlID8/IEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgdGFyZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhcmdldEhvbWVVcmxTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgZW5hYmxlTGlua3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgZW5hYmxlTGlua3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlTGlua3NTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBhcmlhTGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYXJpYUxhYmVsU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaXRlbXModmFsdWU6IEJyZWFkY3J1bWJJdGVtW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBpdGVtLnF1ZXJ5UGFyYW1zID8geyAuLi5pdGVtLnF1ZXJ5UGFyYW1zIH0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgc3RhdGU6IGl0ZW0uc3RhdGUgPyB7IC4uLml0ZW0uc3RhdGUgfSA6IHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5pdGVtT3ZlcnJpZGVzU2lnbmFsLnNldChub3JtYWxpemVkKTtcbiAgICB0aGlzLnJlYnVpbGQoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBCcmVhZGNydW1iSXRlbVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtT3ZlcnJpZGVzU2lnbmFsKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVidWlsZCgpKTtcblxuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNSb3V0ZXJMaW5rKGl0ZW06IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhaXRlbSAmJiBpdGVtLnJvdXRlckxpbmsgIT0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNVcmwoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFpdGVtPy51cmw7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FuVXNlUm91dGVyTGluayhpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgdGhpcy5oYXNSb3V0ZXJMaW5rKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhblVzZVVybChpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgIXRoaXMuaGFzUm91dGVyTGluayhpdGVtKSAmJiB0aGlzLmhhc1VybChpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5OYXZpZ2F0ZShpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgIWl0ZW0/LmRpc2FibGVkICYmICh0aGlzLmhhc1JvdXRlckxpbmsoaXRlbSkgfHwgdGhpcy5oYXNVcmwoaXRlbSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJvdXRlckxpbmtPZihpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCk6IEJyZWFkY3J1bWJJdGVtWydyb3V0ZXJMaW5rJ10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBpdGVtLnJvdXRlckxpbms7XG4gIH1cblxuICBwcm90ZWN0ZWQgcXVlcnlQYXJhbXNPZihpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaXRlbS5xdWVyeVBhcmFtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBocmVmT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS51cmwgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YXJnZXRBdHRyT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS50YXJnZXQgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVidWlsZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbU92ZXJyaWRlc1NpZ25hbCgpO1xuXG4gICAgaWYgKGl0ZW1zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG9tZUl0ZW0uc2V0KHRoaXMuZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXMpKTtcbiAgICAgIHRoaXMudHJhaWxJdGVtcy5zZXQodGhpcy5nZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXMpKTtcbiAgICAgIHRoaXMuaXNBdEhvbWUuc2V0KHRoaXMuY2hlY2tJc0F0SG9tZSgpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3Q7XG4gICAgY29uc3QgdmFsaWRSb3V0ZXMgPSB0aGlzLmdldEFjdGl2ZUJyYW5jaChjdXJyZW50Um91dGUpO1xuXG4gICAgdGhpcy5ob21lSXRlbS5zZXQodGhpcy5nZXRDdXJyZW50SG9tZSh2YWxpZFJvdXRlcykpO1xuICAgIHRoaXMudHJhaWxJdGVtcy5zZXQodGhpcy5nZXRDdXJyZW50SXRlbXModmFsaWRSb3V0ZXMpKTtcbiAgICB0aGlzLmlzQXRIb21lLnNldCh0aGlzLmNoZWNrSXNBdEhvbWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUJyYW5jaChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZVtdIHtcbiAgICBjb25zdCBicmFuY2g6IEFjdGl2YXRlZFJvdXRlW10gPSBbXTtcbiAgICBsZXQgY3VycmVudDogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gcm91dGU7XG5cbiAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgY29uc3Qgcm91dGVDb25maWcgPSBjdXJyZW50LnJvdXRlQ29uZmlnO1xuICAgICAgY29uc3QgaGFzUmVuZGVyYWJsZSA9ICEhcm91dGVDb25maWc/LmNvbXBvbmVudCB8fCAhIXJvdXRlQ29uZmlnPy5sb2FkQ29tcG9uZW50O1xuICAgICAgY29uc3QgaGFzUm91dGVUaXRsZSA9ICEhKGN1cnJlbnQuc25hcHNob3Q/LmRhdGE/Llsncm91dGVUaXRsZSddID8/IHJvdXRlQ29uZmlnPy5kYXRhPy5bJ3JvdXRlVGl0bGUnXSk7XG4gICAgICBjb25zdCBoYXNQYXRoID0gISFyb3V0ZUNvbmZpZz8ucGF0aDtcblxuICAgICAgaWYgKGhhc1BhdGggJiYgKGhhc1JlbmRlcmFibGUgfHwgaGFzUm91dGVUaXRsZSkgJiYgY3VycmVudC5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUKSB7XG4gICAgICAgIGJyYW5jaC5wdXNoKGN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYnJhbmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGlzU2luZ2xlID0gcm91dGVzLmxlbmd0aCA9PT0gMTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldE1lbnVJdGVtKHJvdXRlc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLCBpc1NpbmdsZSksXG4gICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBCUkVBRENSVU1CX0FDVElWRV9TVUJTRVRfT1BUSU9OUyxcbiAgICAgIHRhcmdldFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnRJdGVtcyhyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tUm91dGVzID0gdGhpcy5ob21lVXJsU2lnbmFsKCkgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICBpZiAoIWZyb21Sb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gZnJvbVJvdXRlcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tUm91dGVzLm1hcCgocm91dGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRNZW51SXRlbShyb3V0ZSwgaW5kZXggPT09IGxhc3RJbmRleCk7XG4gICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rICYmIGluZGV4IDwgbGFzdEluZGV4IC0gMSkge1xuICAgICAgICBjb25zdCB7IHJvdXRlckxpbmssIHVybCwgLi4ucmVzdCB9ID0gaXRlbTtcbiAgICAgICAgcmV0dXJuIHJlc3QgYXMgQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMudG9JdGVtVm0oaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXSwgdHJ1ZSwgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMpLFxuICAgICAgaWNvbjogaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXS5pY29uID8/IEJSRUFEQ1JVTUJfSE9NRV9JQ09OX0NMQVNTLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgdGFyZ2V0OiBpdGVtc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLnRhcmdldCA/PyB0YXJnZXRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb21JdGVtcyA9IHRoaXMuaG9tZVVybFNpZ25hbCgpID8gaXRlbXMgOiBpdGVtcy5zbGljZSgxKTtcblxuICAgIGlmICghZnJvbUl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RJbmRleCA9IGZyb21JdGVtcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gdGhpcy50b0l0ZW1WbShpdGVtLCBpdGVtLmRpc2FibGVkID8/IGluZGV4ID09PSBsYXN0SW5kZXgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWVudUl0ZW0ocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBkaXNhYmxlZCA9IGZhbHNlKTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRUaXRsZShyb3V0ZSk7XG4gICAgY29uc3QgaGFzTGluayA9IHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ2JyZWFkY3J1bWJMaW5rJ10gIT09IGZhbHNlICYmXG4gICAgICByb3V0ZS5yb3V0ZUNvbmZpZz8uZGF0YT8uWydicmVhZGNydW1iTGluayddICE9PSBmYWxzZTtcblxuICAgIGlmICghaGFzTGluaykge1xuICAgICAgcmV0dXJuIHsgbGFiZWwsIGRpc2FibGVkOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhGcm9tUm9vdCA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICBjb25zdCBzdG9wSW5kZXggPSBwYXRoRnJvbVJvb3QuaW5kZXhPZihyb3V0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHBhdGhGcm9tUm9vdFxuICAgICAgLnNsaWNlKEJSRUFEQ1JVTUJfSU5ERVhfWkVSTywgc3RvcEluZGV4ICsgMSlcbiAgICAgIC5mbGF0TWFwKChjdXJyZW50Um91dGUpID0+IChjdXJyZW50Um91dGUuc25hcHNob3Q/LnVybCA/PyBbXSkubWFwKCh1cmxQYXJ0KSA9PiB1cmxQYXJ0LnBhdGgpKVxuICAgICAgLmZpbHRlcigocGF0aCk6IHBhdGggaXMgc3RyaW5nID0+IEJvb2xlYW4ocGF0aCkpO1xuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IFsnLycsIC4uLnBhcnRzXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IChyb3V0ZS5zbmFwc2hvdD8ucXVlcnlQYXJhbXMgPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgcm91dGVyTGluayxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczogQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OU1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRvSXRlbVZtKFxuICAgIGl0ZW06IEJyZWFkY3J1bWJJdGVtLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgPSBCUkVBRENSVU1CX0FDVElWRV9FWEFDVF9PUFRJT05TXG4gICk6IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGxhYmVsOiBTdHJpbmcoaXRlbS5sYWJlbCA/PyAnJyksXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zID8/IHJvdXRlckxpbmtBY3RpdmVPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGl0bGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aXRsZSA9XG4gICAgICByb3V0ZS5zbmFwc2hvdD8uZGF0YT8uWydicmVhZGNydW1iVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/LlsnYnJlYWRjcnVtYlRpdGxlJ10gPz9cbiAgICAgIHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ3JvdXRlVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/Llsncm91dGVUaXRsZSddO1xuXG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID8/ICcnO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByb3V0ZVRpdGxlIGRlZmluZWQgZm9yIHRoZSByb3V0ZSAvJHtwYXRofWApO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGl0bGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lzQXRIb21lKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhvbWUgPSB0aGlzLmhvbWVJdGVtKCk7XG4gICAgaWYgKCFob21lPy5yb3V0ZXJMaW5rKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgaG9tZVVybCA9IEFycmF5LmlzQXJyYXkoaG9tZS5yb3V0ZXJMaW5rKVxuICAgICAgPyBob21lLnJvdXRlckxpbmsuam9pbignLycpXG4gICAgICA6IFN0cmluZyhob21lLnJvdXRlckxpbmspO1xuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKGhvbWVVcmwsIHtcbiAgICAgIHBhdGhzOiAnZXhhY3QnLFxuICAgICAgcXVlcnlQYXJhbXM6ICdzdWJzZXQnLFxuICAgICAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuYXZcbiAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYlwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiKGFyaWFMYWJlbFRleHQoKSB8fCAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX25hdmlnYXRpb24nKSB8IHRyYW5zbGF0ZVwiXG4+XG4gIDxvbCBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpc3RcIj5cbiAgICBAaWYgKGhvbWVJdGVtKCkpIHtcbiAgICAgIDxsaSBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0gc2RjLWJyZWFkY3J1bWItaXRlbS0taG9tZVwiIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cImlzQXRIb21lKClcIj5cbiAgICAgICAgQGlmICghaXNBdEhvbWUoKSAmJiBjYW5Vc2VSb3V0ZXJMaW5rKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua09mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNPZihob21lSXRlbSgpISlcIlxuICAgICAgICAgICAgW2ZyYWdtZW50XT1cImhvbWVJdGVtKCkhLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cImhvbWVJdGVtKCkhLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaG9tZUl0ZW0oKSEucHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cImhvbWVJdGVtKCkhLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJob21lSXRlbSgpIS5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJob21lSXRlbSgpIS5zdGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwidGFyZ2V0QXR0ck9mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmJyZWFkY3J1bWJfaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaG9tZUl0ZW0oKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lSXRlbSgpIS5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoIWlzQXRIb21lKCkgJiYgY2FuVXNlVXJsKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuYnJlYWRjcnVtYl9ob21lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChob21lSXRlbSgpIS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1pY29uXCIgW2NsYXNzXT1cImhvbWVJdGVtKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi10ZXh0IHNkYy1icmVhZGNydW1iLXRleHQtLWhvbWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWVJdGVtKCkhLmljb24pIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWljb25cIiBbY2xhc3NdPVwiaG9tZUl0ZW0oKSEuaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGk+XG4gICAgfVxuXG4gICAgQGZvciAoaXRlbSBvZiB0cmFpbEl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9saT5cblxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbVwiXG4gICAgICAgIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3Muc2RjLWJyZWFkY3J1bWItaXRlbS0tcHJldmlvdXNdPVwiIWl0ZW0uZGlzYWJsZWQgJiYgJGluZGV4ID09PSB0cmFpbEl0ZW1zKCkubGVuZ3RoIC0gMlwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoY2FuTmF2aWdhdGUoaXRlbSkpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImhhc1JvdXRlckxpbmsoaXRlbSkgPyByb3V0ZXJMaW5rT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc09mKGl0ZW0pXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cIml0ZW0ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJpdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIml0ZW0uc3RhdGVcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCIhaGFzUm91dGVyTGluayhpdGVtKSAmJiBoYXNVcmwoaXRlbSkgPyBocmVmT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1sYWJlbFwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc3Itb25seVwiPnt7ICcgKCcgKyAoJGluZGV4ICsgMSkgKyAnKScgfX08L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItdGV4dFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWxhYmVsXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1jdXJyZW50XCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQWtCLGFBQWEsRUFBRSxjQUFjLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLHFCQUFxQixFQUN0QixNQUFNLHVDQUF1QyxDQUFDOzs7O0FBWS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFrRVg7SUFDQTtJQWxFRixhQUFhLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN0RCxtQkFBbUIsR0FBRyxNQUFNLENBQVMsOEJBQThCLENBQUMsQ0FBQztJQUNyRSxlQUFlLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUN4RCxtQkFBbUIsR0FBRyxNQUFNLENBQStCLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLGlC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QUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN0QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNuQyxLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBaFVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDRKQWlDVixnQkFBZ0IscUVDbEV0Qyxxd0hBcUZBLGk1RUQxRFksWUFBWSw4QkFBRSxZQUFZLCtRQUFFLGVBQWU7OzRGQU0xQyxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFFBQVEsbUJBQ3hCLHVCQUF1QixDQUFDLE1BQU07d0dBZ0IzQyxPQUFPO3NCQURWLEtBQUs7Z0JBV0YsYUFBYTtzQkFEaEIsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLFNBQVM7c0JBRFosS0FBSztnQkFNRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OUyxcbiAgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMsXG4gIEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSxcbiAgQlJFQURDUlVNQl9IT01FX0lDT05fQ0xBU1MsXG4gIEJSRUFEQ1JVTUJfSU5ERVhfWkVST1xufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9icmVhZGNydW1iLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgQnJlYWRjcnVtYkl0ZW0sIEJyZWFkY3J1bWJJdGVtVmlld01vZGVsLCBCcmVhZGNydW1iTWF0Y2hPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9icmVhZGNydW1iLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtYnJlYWRjcnVtYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBob21lVXJsU2lnbmFsID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRIb21lVXJsU2lnbmFsID0gc2lnbmFsPHN0cmluZz4oQlJFQURDUlVNQl9ERUZBVUxUX1RBUkdFVF9IT01FKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcmlhTGFiZWxTaWduYWwgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1PdmVycmlkZXNTaWduYWwgPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1bXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbmFibGVMaW5rc1NpZ25hbCA9IHNpZ25hbCh0cnVlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZUl0ZW0gPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFpbEl0ZW1zID0gc2lnbmFsPEJyZWFkY3J1bWJJdGVtVmlld01vZGVsW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQXRIb21lID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUxhYmVsVGV4dCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXJpYUxhYmVsU2lnbmFsKCkpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBob21lVXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmhvbWVVcmxTaWduYWwuc2V0KHZhbHVlID8/IHVuZGVmaW5lZCk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgaG9tZVVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmhvbWVVcmxTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0YXJnZXRIb21lVXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRhcmdldEhvbWVVcmxTaWduYWwuc2V0KHZhbHVlID8/IEJSRUFEQ1JVTUJfREVGQVVMVF9UQVJHRVRfSE9NRSk7XG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBnZXQgdGFyZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRhcmdldEhvbWVVcmxTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgZW5hYmxlTGlua3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgZW5hYmxlTGlua3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlTGlua3NTaWduYWwoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBhcmlhTGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYXJpYUxhYmVsU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaXRlbXModmFsdWU6IEJyZWFkY3J1bWJJdGVtW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBpdGVtLnF1ZXJ5UGFyYW1zID8geyAuLi5pdGVtLnF1ZXJ5UGFyYW1zIH0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgc3RhdGU6IGl0ZW0uc3RhdGUgPyB7IC4uLml0ZW0uc3RhdGUgfSA6IHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5pdGVtT3ZlcnJpZGVzU2lnbmFsLnNldChub3JtYWxpemVkKTtcbiAgICB0aGlzLnJlYnVpbGQoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBCcmVhZGNydW1iSXRlbVtdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtT3ZlcnJpZGVzU2lnbmFsKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVidWlsZCgpKTtcblxuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNSb3V0ZXJMaW5rKGl0ZW06IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhaXRlbSAmJiBpdGVtLnJvdXRlckxpbmsgIT0gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYXNVcmwoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFpdGVtPy51cmw7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FuVXNlUm91dGVyTGluayhpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgdGhpcy5oYXNSb3V0ZXJMaW5rKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhblVzZVVybChpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgIXRoaXMuaGFzUm91dGVyTGluayhpdGVtKSAmJiB0aGlzLmhhc1VybChpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYW5OYXZpZ2F0ZShpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuYWJsZUxpbmtzU2lnbmFsKCkgJiYgIWl0ZW0/LmRpc2FibGVkICYmICh0aGlzLmhhc1JvdXRlckxpbmsoaXRlbSkgfHwgdGhpcy5oYXNVcmwoaXRlbSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJvdXRlckxpbmtPZihpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCk6IEJyZWFkY3J1bWJJdGVtWydyb3V0ZXJMaW5rJ10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBpdGVtLnJvdXRlckxpbms7XG4gIH1cblxuICBwcm90ZWN0ZWQgcXVlcnlQYXJhbXNPZihpdGVtOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaXRlbS5xdWVyeVBhcmFtcztcbiAgfVxuXG4gIHByb3RlY3RlZCBocmVmT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS51cmwgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YXJnZXRBdHRyT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS50YXJnZXQgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVidWlsZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbU92ZXJyaWRlc1NpZ25hbCgpO1xuXG4gICAgaWYgKGl0ZW1zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG9tZUl0ZW0uc2V0KHRoaXMuZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXMpKTtcbiAgICAgIHRoaXMudHJhaWxJdGVtcy5zZXQodGhpcy5nZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXMpKTtcbiAgICAgIHRoaXMuaXNBdEhvbWUuc2V0KHRoaXMuY2hlY2tJc0F0SG9tZSgpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3Q7XG4gICAgY29uc3QgdmFsaWRSb3V0ZXMgPSB0aGlzLmdldEFjdGl2ZUJyYW5jaChjdXJyZW50Um91dGUpO1xuXG4gICAgdGhpcy5ob21lSXRlbS5zZXQodGhpcy5nZXRDdXJyZW50SG9tZSh2YWxpZFJvdXRlcykpO1xuICAgIHRoaXMudHJhaWxJdGVtcy5zZXQodGhpcy5nZXRDdXJyZW50SXRlbXModmFsaWRSb3V0ZXMpKTtcbiAgICB0aGlzLmlzQXRIb21lLnNldCh0aGlzLmNoZWNrSXNBdEhvbWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUJyYW5jaChyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBBY3RpdmF0ZWRSb3V0ZVtdIHtcbiAgICBjb25zdCBicmFuY2g6IEFjdGl2YXRlZFJvdXRlW10gPSBbXTtcbiAgICBsZXQgY3VycmVudDogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gcm91dGU7XG5cbiAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgY29uc3Qgcm91dGVDb25maWcgPSBjdXJyZW50LnJvdXRlQ29uZmlnO1xuICAgICAgY29uc3QgaGFzUmVuZGVyYWJsZSA9ICEhcm91dGVDb25maWc/LmNvbXBvbmVudCB8fCAhIXJvdXRlQ29uZmlnPy5sb2FkQ29tcG9uZW50O1xuICAgICAgY29uc3QgaGFzUm91dGVUaXRsZSA9ICEhKGN1cnJlbnQuc25hcHNob3Q/LmRhdGE/Llsncm91dGVUaXRsZSddID8/IHJvdXRlQ29uZmlnPy5kYXRhPy5bJ3JvdXRlVGl0bGUnXSk7XG4gICAgICBjb25zdCBoYXNQYXRoID0gISFyb3V0ZUNvbmZpZz8ucGF0aDtcblxuICAgICAgaWYgKGhhc1BhdGggJiYgKGhhc1JlbmRlcmFibGUgfHwgaGFzUm91dGVUaXRsZSkgJiYgY3VycmVudC5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUKSB7XG4gICAgICAgIGJyYW5jaC5wdXNoKGN1cnJlbnQpO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50ID0gY3VycmVudC5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gY2hpbGQub3V0bGV0ID09PSBQUklNQVJZX09VVExFVCkgPz8gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gYnJhbmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGlzU2luZ2xlID0gcm91dGVzLmxlbmd0aCA9PT0gMTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldE1lbnVJdGVtKHJvdXRlc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLCBpc1NpbmdsZSksXG4gICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBCUkVBRENSVU1CX0FDVElWRV9TVUJTRVRfT1BUSU9OUyxcbiAgICAgIHRhcmdldFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnRJdGVtcyhyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tUm91dGVzID0gdGhpcy5ob21lVXJsU2lnbmFsKCkgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICBpZiAoIWZyb21Sb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gZnJvbVJvdXRlcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tUm91dGVzLm1hcCgocm91dGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRNZW51SXRlbShyb3V0ZSwgaW5kZXggPT09IGxhc3RJbmRleCk7XG4gICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rICYmIGluZGV4IDwgbGFzdEluZGV4IC0gMSkge1xuICAgICAgICBjb25zdCB7IHJvdXRlckxpbmssIHVybCwgLi4ucmVzdCB9ID0gaXRlbTtcbiAgICAgICAgcmV0dXJuIHJlc3QgYXMgQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudEhvbWVGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaG9tZVVybCA9IHRoaXMuaG9tZVVybFNpZ25hbCgpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuXG4gICAgaWYgKGhvbWVVcmwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgcm91dGVyTGluazogW2hvbWVVcmxdLFxuICAgICAgICBpY29uOiBCUkVBRENSVU1CX0hPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJSRUFEQ1JVTUJfQUNUSVZFX1NVQlNFVF9PUFRJT05TLFxuICAgICAgICB0YXJnZXRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMudG9JdGVtVm0oaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXSwgdHJ1ZSwgQlJFQURDUlVNQl9BQ1RJVkVfU1VCU0VUX09QVElPTlMpLFxuICAgICAgaWNvbjogaXRlbXNbQlJFQURDUlVNQl9JTkRFWF9aRVJPXS5pY29uID8/IEJSRUFEQ1JVTUJfSE9NRV9JQ09OX0NMQVNTLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgdGFyZ2V0OiBpdGVtc1tCUkVBRENSVU1CX0lOREVYX1pFUk9dLnRhcmdldCA/PyB0YXJnZXRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SXRlbXNGcm9tSXRlbXMoaXRlbXM6IEJyZWFkY3J1bWJJdGVtW10pOiBCcmVhZGNydW1iSXRlbVZpZXdNb2RlbFtdIHtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb21JdGVtcyA9IHRoaXMuaG9tZVVybFNpZ25hbCgpID8gaXRlbXMgOiBpdGVtcy5zbGljZSgxKTtcblxuICAgIGlmICghZnJvbUl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RJbmRleCA9IGZyb21JdGVtcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gdGhpcy50b0l0ZW1WbShpdGVtLCBpdGVtLmRpc2FibGVkID8/IGluZGV4ID09PSBsYXN0SW5kZXgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWVudUl0ZW0ocm91dGU6IEFjdGl2YXRlZFJvdXRlLCBkaXNhYmxlZCA9IGZhbHNlKTogQnJlYWRjcnVtYkl0ZW1WaWV3TW9kZWwge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRUaXRsZShyb3V0ZSk7XG4gICAgY29uc3QgaGFzTGluayA9IHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ2JyZWFkY3J1bWJMaW5rJ10gIT09IGZhbHNlICYmXG4gICAgICByb3V0ZS5yb3V0ZUNvbmZpZz8uZGF0YT8uWydicmVhZGNydW1iTGluayddICE9PSBmYWxzZTtcblxuICAgIGlmICghaGFzTGluaykge1xuICAgICAgcmV0dXJuIHsgbGFiZWwsIGRpc2FibGVkOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGhGcm9tUm9vdCA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICBjb25zdCBzdG9wSW5kZXggPSBwYXRoRnJvbVJvb3QuaW5kZXhPZihyb3V0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHBhdGhGcm9tUm9vdFxuICAgICAgLnNsaWNlKEJSRUFEQ1JVTUJfSU5ERVhfWkVSTywgc3RvcEluZGV4ICsgMSlcbiAgICAgIC5mbGF0TWFwKChjdXJyZW50Um91dGUpID0+IChjdXJyZW50Um91dGUuc25hcHNob3Q/LnVybCA/PyBbXSkubWFwKCh1cmxQYXJ0KSA9PiB1cmxQYXJ0LnBhdGgpKVxuICAgICAgLmZpbHRlcigocGF0aCk6IHBhdGggaXMgc3RyaW5nID0+IEJvb2xlYW4ocGF0aCkpO1xuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IFsnLycsIC4uLnBhcnRzXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IChyb3V0ZS5zbmFwc2hvdD8ucXVlcnlQYXJhbXMgPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgcm91dGVyTGluayxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczogQlJFQURDUlVNQl9BQ1RJVkVfRVhBQ1RfT1BUSU9OU1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHRvSXRlbVZtKFxuICAgIGl0ZW06IEJyZWFkY3J1bWJJdGVtLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgPSBCUkVBRENSVU1CX0FDVElWRV9FWEFDVF9PUFRJT05TXG4gICk6IEJyZWFkY3J1bWJJdGVtVmlld01vZGVsIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGxhYmVsOiBTdHJpbmcoaXRlbS5sYWJlbCA/PyAnJyksXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBpdGVtLnJvdXRlckxpbmtBY3RpdmVPcHRpb25zID8/IHJvdXRlckxpbmtBY3RpdmVPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGl0bGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aXRsZSA9XG4gICAgICByb3V0ZS5zbmFwc2hvdD8uZGF0YT8uWydicmVhZGNydW1iVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/LlsnYnJlYWRjcnVtYlRpdGxlJ10gPz9cbiAgICAgIHJvdXRlLnNuYXBzaG90Py5kYXRhPy5bJ3JvdXRlVGl0bGUnXSA/P1xuICAgICAgcm91dGUucm91dGVDb25maWc/LmRhdGE/Llsncm91dGVUaXRsZSddO1xuXG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID8/ICcnO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByb3V0ZVRpdGxlIGRlZmluZWQgZm9yIHRoZSByb3V0ZSAvJHtwYXRofWApO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGl0bGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lzQXRIb21lKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhvbWUgPSB0aGlzLmhvbWVJdGVtKCk7XG4gICAgaWYgKCFob21lPy5yb3V0ZXJMaW5rKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgaG9tZVVybCA9IEFycmF5LmlzQXJyYXkoaG9tZS5yb3V0ZXJMaW5rKVxuICAgICAgPyBob21lLnJvdXRlckxpbmsuam9pbignLycpXG4gICAgICA6IFN0cmluZyhob21lLnJvdXRlckxpbmspO1xuXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKGhvbWVVcmwsIHtcbiAgICAgIHBhdGhzOiAnZXhhY3QnLFxuICAgICAgcXVlcnlQYXJhbXM6ICdzdWJzZXQnLFxuICAgICAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuYXZcbiAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYlwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiKGFyaWFMYWJlbFRleHQoKSB8fCAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9icmVhZGNydW1iX25hdmlnYXRpb24nKSB8IHRyYW5zbGF0ZVwiXG4+XG4gIDxvbCBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpc3RcIj5cbiAgICBAaWYgKGhvbWVJdGVtKCkpIHtcbiAgICAgIDxsaSBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0gc2RjLWJyZWFkY3J1bWItaXRlbS0taG9tZVwiIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cImlzQXRIb21lKClcIj5cbiAgICAgICAgQGlmICghaXNBdEhvbWUoKSAmJiBjYW5Vc2VSb3V0ZXJMaW5rKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua09mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNPZihob21lSXRlbSgpISlcIlxuICAgICAgICAgICAgW2ZyYWdtZW50XT1cImhvbWVJdGVtKCkhLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cImhvbWVJdGVtKCkhLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiaG9tZUl0ZW0oKSEucHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cImhvbWVJdGVtKCkhLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJob21lSXRlbSgpIS5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJob21lSXRlbSgpIS5zdGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwidGFyZ2V0QXR0ck9mKGhvbWVJdGVtKCkhKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X2JyZWFkY3J1bWJfaG9tZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaG9tZUl0ZW0oKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lSXRlbSgpIS5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoIWlzQXRIb21lKCkgJiYgY2FuVXNlVXJsKGhvbWVJdGVtKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZUl0ZW0oKSEpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfYnJlYWRjcnVtYl9ob21lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChob21lSXRlbSgpIS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1pY29uXCIgW2NsYXNzXT1cImhvbWVJdGVtKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi10ZXh0IHNkYy1icmVhZGNydW1iLXRleHQtLWhvbWVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWVJdGVtKCkhLmljb24pIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWljb25cIiBbY2xhc3NdPVwiaG9tZUl0ZW0oKSEuaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGk+XG4gICAgfVxuXG4gICAgQGZvciAoaXRlbSBvZiB0cmFpbEl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9saT5cblxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbVwiXG4gICAgICAgIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3Muc2RjLWJyZWFkY3J1bWItaXRlbS0tcHJldmlvdXNdPVwiIWl0ZW0uZGlzYWJsZWQgJiYgJGluZGV4ID09PSB0cmFpbEl0ZW1zKCkubGVuZ3RoIC0gMlwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoY2FuTmF2aWdhdGUoaXRlbSkpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImhhc1JvdXRlckxpbmsoaXRlbSkgPyByb3V0ZXJMaW5rT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc09mKGl0ZW0pXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cIml0ZW0ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJpdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJpdGVtLnNraXBMb2NhdGlvbkNoYW5nZVwiXG4gICAgICAgICAgICBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIml0ZW0uc3RhdGVcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCIhaGFzUm91dGVyTGluayhpdGVtKSAmJiBoYXNVcmwoaXRlbSkgPyBocmVmT2YoaXRlbSkgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbS1sYWJlbFwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc3Itb25seVwiPnt7ICcgKCcgKyAoJGluZGV4ICsgMSkgKyAnKScgfX08L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItdGV4dFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWxhYmVsXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1jdXJyZW50XCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==
|
|
@@ -23,6 +23,7 @@ export class ButtonComponent {
|
|
|
23
23
|
icon;
|
|
24
24
|
rightIcon;
|
|
25
25
|
auxiliary = false;
|
|
26
|
+
rounded = false;
|
|
26
27
|
caret = true;
|
|
27
28
|
tooltip;
|
|
28
29
|
animation;
|
|
@@ -82,6 +83,7 @@ export class ButtonComponent {
|
|
|
82
83
|
return {
|
|
83
84
|
...customClasses,
|
|
84
85
|
's-button-auxiliary': this.auxiliary,
|
|
86
|
+
's-button-rounded': this.rounded,
|
|
85
87
|
's-button-with-icon': !!this.icon,
|
|
86
88
|
's-button-with-text': !!this.label,
|
|
87
89
|
's-button-only-icon': !!this.icon && !this.label && !this.hasMenu,
|
|
@@ -194,11 +196,11 @@ export class ButtonComponent {
|
|
|
194
196
|
return this.animation === 'rotate';
|
|
195
197
|
}
|
|
196
198
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", ariaLabel: "ariaLabel", disabled: "disabled", loading: "loading", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", menuContext: "menuContext", legacyModel: ["model", "legacyModel"] }, outputs: { clicked: "clicked" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "style.width": "this.hostWidth" } }, ngImport: i0, template: "<ng-template #buttonSurface>\n <sdc-tooltip\n [pTooltip]=\"tooltip ? (tooltip | translate) : null\"\n [fitContent]=\"false\"\n [tooltipDisabled]=\"!tooltip\"\n >\n <div class=\"sdc-button-el\">\n <button\n [id]=\"id\"\n [type]=\"type\"\n class=\"s-button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled || loading\"\n [attr.aria-disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n [attr.aria-haspopup]=\"hasMenu ? 'menu' : null\"\n [attr.aria-expanded]=\"hasMenu ? menuOpen : null\"\n (click)=\"handleButtonClick($event)\"\n >\n @if (loading) {\n <span class=\"s-button-loader\" aria-hidden=\"true\">\n <span class=\"s-button-loader__spinner\"></span>\n </span>\n }\n\n @if (icon) {\n <span\n class=\"s-button-icon\"\n [ngClass]=\"icon\"\n [class.s-button-icon-margin-right]=\"!label && hasMenu\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (label) {\n <span\n class=\"s-button-text\"\n [class.s-button-icon-margin-right]=\"!!rightIcon || hasMenu\"\n [class.s-button-icon-margin-left]=\"!!icon\"\n >\n {{ label | translate }}\n </span>\n }\n\n @if (rightIcon) {\n <span class=\"s-button-right-icon\" [ngClass]=\"rightIcon\" aria-hidden=\"true\"></span>\n }\n\n @if ((caret && hasMenu) || hasMenu) {\n <span class=\"menu-options-icon s-button-menu-icon fa fa-fw fa-caret-down\" aria-hidden=\"true\"></span>\n }\n </button>\n </div>\n </sdc-tooltip>\n</ng-template>\n\n<div class=\"sdc-button-wrapper\" [class.sdc-button-wrapper--with-badge]=\"!!badge\">\n @if (hasMenu) {\n <sdc-popover\n [open]=\"menuOpen\"\n [toggleOnTriggerClick]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [restoreFocusOnClose]=\"true\"\n [panelClass]=\"menuPanelClass\"\n (openChange)=\"onMenuOpenChange($event)\"\n >\n <div sdc-popover-trigger class=\"sdc-button-trigger\">\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n </div>\n\n <div\n sdc-popover-content\n class=\"sdc-button-menu-panel\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n >\n <sdc-button-menu [items]=\"resolvedMenuOptions\" (action)=\"handleMenuAction($event)\"></sdc-button-menu>\n </div>\n </sdc-popover>\n } @else {\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n }\n\n @if (badge) {\n <div class=\"badge\">\n <sdc-badge [color]=\"badge.color\" [text]=\"badge.text\" [iconClass]=\"badge.iconClass\"></sdc-badge>\n </div>\n }\n</div>\n", styles: [":host{display:inline-flex;position:relative;vertical-align:top}.sdc-button-wrapper{display:inline-flex;position:relative;width:100%}.sdc-button-wrapper--with-badge{margin-right:-15px}.sdc-button-trigger,.sdc-button-el{display:block;width:100%}.sdc-button-el button{align-items:center;border:1px solid;border-radius:var(--sdc-formfield-border-radius, 4px);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--sdc-font-family, \"Open Sans\", sans-serif);font-size:14px;height:35px;justify-content:center;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;width:100%}.sdc-button-el button:disabled{background-image:none;cursor:text;filter:alpha(opacity=50);opacity:.5;pointer-events:none}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.sdc-button-el button.s-button--loading{cursor:progress;pointer-events:none}.sdc-button-el button.s-button--loading .s-button-icon,.sdc-button-el button.s-button--loading .s-button-text,.sdc-button-el button.s-button--loading .s-button-right-icon,.sdc-button-el button.s-button--loading .s-button-menu-icon{filter:blur(2px);opacity:.55}.sdc-button-el button.s-button--loading:disabled{cursor:progress;opacity:1}.s-button-loader{align-items:center;display:inline-flex;inset:0;justify-content:center;position:absolute;z-index:2}.s-button-loader__spinner{animation:sdc-button-spin .6s linear infinite;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;box-sizing:border-box;height:16px;width:16px}@keyframes sdc-button-spin{to{transform:rotate(360deg)}}.sdc-button-el button.s-button-auxiliary{border-radius:20px}.sdc-button-el button.s-button-size-small{height:25px}.sdc-button-el button.s-button-size-default{height:35px}.sdc-button-el button.s-button-with-text,.sdc-button-el button.s-button-with-icon.s-button-multiple{min-width:80px}.sdc-button-icon,.sdc-button-right-icon,.sdc-button-menu-icon{align-items:center;display:inline-flex;justify-content:center}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.sdc-button-el button.s-button-size-small.s-button-only-icon{max-height:24px;max-width:24px;min-width:24px}.sdc-button-el button.s-button-multiple .s-button-text{align-items:flex-start;display:inline-flex;justify-content:flex-start}.sdc-button-el button.s-button-with-icon .s-button-text{align-items:flex-end;display:inline-flex;justify-content:flex-end}.sdc-button-el button.s-button-priority-primary{background-color:var(--p-primary-color, #428bca);border-color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}.sdc-button-el button.s-button-priority-default{background-color:var(--sdc-formfield-default-bg, #ffffff);border-color:var(--sdc-formfield-default-border, #cccccc)}.sdc-button-el button.s-button-priority-link{background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.sdc-button-el button.s-button-priority-primary .s-button-icon,.sdc-button-el button.s-button-priority-primary .s-button-right-icon,.sdc-button-el button.s-button-priority-primary .s-button-text,.sdc-button-el button.s-button-priority-primary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:hover{background-color:#2a6496}.sdc-button-el button.s-button-priority-primary:focus-visible{background-color:#2a6496;border-color:#22dce6}.sdc-button-el button.s-button-priority-secondary .s-button-icon,.sdc-button-el button.s-button-priority-secondary .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary .s-button-text,.sdc-button-el button.s-button-priority-secondary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:hover{background-color:#546b79}.sdc-button-el button.s-button-priority-secondary:focus-visible{background-color:#546b79;border-color:#22dce6}.sdc-button-el button.s-button-priority-default .s-button-icon,.sdc-button-el button.s-button-priority-default .s-button-right-icon,.sdc-button-el button.s-button-priority-default .s-button-text,.sdc-button-el button.s-button-priority-default .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:hover{background-color:#d9d9d9}.sdc-button-el button.s-button-priority-default:focus-visible{background-color:#d9d9d9;border-color:#22dce6}.sdc-button-el button.s-button-priority-link .s-button-icon,.sdc-button-el button.s-button-priority-link .s-button-right-icon,.sdc-button-el button.s-button-priority-link .s-button-text,.sdc-button-el button.s-button-priority-link .s-button-menu-icon{color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-link:hover{background-color:transparent}.sdc-button-el button.s-button-priority-link:focus-visible{background-color:transparent;border-color:#22dce6}.sdc-button-el button.s-button-priority-danger .s-button-icon,.sdc-button-el button.s-button-priority-danger .s-button-right-icon,.sdc-button-el button.s-button-priority-danger .s-button-text,.sdc-button-el button.s-button-priority-danger .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-danger:hover{background-color:#642525}.sdc-button-el button.s-button-priority-danger:focus-visible{background-color:#642525;border-color:#22dce6}.sdc-button-el button.s-button-auxiliary.s-button-only-icon{border-radius:50%}.sdc-button-el button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}.sdc-button-el button.s-button-multiple.s-button-size-small.s-button-empty{min-width:25px;width:25px}.sdc-button-el button.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.sdc-button-el button.s-button--slide.s-button-with-text,.sdc-button-el button.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.sdc-button-el button.s-button-priority-outline .s-button-icon,.sdc-button-el button.s-button-priority-outline .s-button-right-icon,.sdc-button-el button.s-button-priority-outline .s-button-text,.sdc-button-el button.s-button-priority-outline .s-button-menu-icon{color:var(--sdc-button-outline-color, #3a4a5c)}.sdc-button-el button.s-button-priority-primary:hover .s-button-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-text,.sdc-button-el button.s-button-priority-primary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:active:not(:disabled),.sdc-button-el button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}.sdc-button-el button.s-button-priority-secondary:hover .s-button-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-text,.sdc-button-el button.s-button-priority-secondary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:active:not(:disabled),.sdc-button-el button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}.sdc-button-el button.s-button-priority-default:hover .s-button-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-text,.sdc-button-el button.s-button-priority-default:hover .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:active:not(:disabled),.sdc-button-el button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}.sdc-button-el button.s-button-priority-link:hover .s-button-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-text,.sdc-button-el button.s-button-priority-link:hover .s-button-menu-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-right-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-text,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-menu-icon{color:#2a6496}.sdc-button-el button.s-button-priority-link:active:not(:disabled),.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger:active:not(:disabled),.sdc-button-el button.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.sdc-button-el button.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.sdc-button-el button.s-button-priority-outline{background-color:var(--sdc-button-outline-bg, #ffffff);border-color:var(--sdc-button-outline-border, #d6dbe1);border-radius:var(--sdc-button-outline-radius, 6px)}.sdc-button-el button.s-button-priority-outline:hover{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-priority-outline:focus-visible{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:#22dce6}.sdc-button-el button.s-button-priority-outline:active:not(:disabled),.sdc-button-el button.s-button-priority-outline.s-button-active:not(:disabled){background-color:var(--sdc-button-outline-active-bg, #e6e9ed);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}.badge{bottom:16px;position:relative;right:15px;z-index:99}.menu-options-icon{color:#212533}::ng-deep .sdc-button-menu-popover{min-width:12rem;overflow:visible!important;padding:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: BadgeComponent, selector: "sdc-badge", inputs: ["type", "color", "title", "titleParams", "text", "textParams", "selectable", "disabled", "iconClass", "iconPosition", "infoSign", "ariaLabel", "ariaLabelParams", "infoAriaLabel"], outputs: ["selected"] }, { kind: "component", type: ButtonMenuComponent, selector: "sdc-button-menu", inputs: ["items", "level"], outputs: ["action"] }, { kind: "component", type: PopoverComponent, selector: "sdc-popover", inputs: ["open", "disabled", "toggleOnTriggerClick", "closeOnOutsideClick", "closeOnScroll", "closeOnEscape", "trapFocus", "focusOnOpen", "restoreFocusOnClose", "ariaLabel", "appendTo", "zIndex", "offset", "placement", "role", "matchTriggerWidth", "panelWidth", "panelMinWidth", "panelMaxWidth", "panelMaxHeight", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
199
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", ariaLabel: "ariaLabel", disabled: "disabled", loading: "loading", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", rounded: "rounded", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", menuContext: "menuContext", legacyModel: ["model", "legacyModel"] }, outputs: { clicked: "clicked" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "style.width": "this.hostWidth" } }, ngImport: i0, template: "<ng-template #buttonSurface>\n <sdc-tooltip\n [pTooltip]=\"tooltip ? (tooltip | translate) : null\"\n [fitContent]=\"false\"\n [tooltipDisabled]=\"!tooltip\"\n >\n <div class=\"sdc-button-el\">\n <button\n [id]=\"id\"\n [type]=\"type\"\n class=\"s-button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled || loading\"\n [attr.aria-disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n [attr.aria-haspopup]=\"hasMenu ? 'menu' : null\"\n [attr.aria-expanded]=\"hasMenu ? menuOpen : null\"\n (click)=\"handleButtonClick($event)\"\n >\n @if (loading) {\n <span class=\"s-button-loader\" aria-hidden=\"true\">\n <span class=\"s-button-loader__spinner\"></span>\n </span>\n }\n\n @if (icon) {\n <span\n class=\"s-button-icon\"\n [ngClass]=\"icon\"\n [class.s-button-icon-margin-right]=\"!label && caret && hasMenu\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (label) {\n <span\n class=\"s-button-text\"\n [class.s-button-icon-margin-right]=\"!!rightIcon || (caret && hasMenu)\"\n [class.s-button-icon-margin-left]=\"!!icon\"\n >\n {{ label | translate }}\n </span>\n }\n\n @if (rightIcon) {\n <span class=\"s-button-right-icon\" [ngClass]=\"rightIcon\" aria-hidden=\"true\"></span>\n }\n\n @if (caret && hasMenu) {\n <span class=\"menu-options-icon s-button-menu-icon fas fa-fw fa-chevron-down\" aria-hidden=\"true\"></span>\n }\n </button>\n </div>\n </sdc-tooltip>\n</ng-template>\n\n<div class=\"sdc-button-wrapper\" [class.sdc-button-wrapper--with-badge]=\"!!badge\">\n @if (hasMenu) {\n <sdc-popover\n [open]=\"menuOpen\"\n [toggleOnTriggerClick]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [restoreFocusOnClose]=\"true\"\n [panelClass]=\"menuPanelClass\"\n (openChange)=\"onMenuOpenChange($event)\"\n >\n <div sdc-popover-trigger class=\"sdc-button-trigger\">\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n </div>\n\n <div\n sdc-popover-content\n class=\"sdc-button-menu-panel\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n >\n <sdc-button-menu [items]=\"resolvedMenuOptions\" (action)=\"handleMenuAction($event)\"></sdc-button-menu>\n </div>\n </sdc-popover>\n } @else {\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n }\n\n @if (badge) {\n <div class=\"badge\">\n <sdc-badge [color]=\"badge.color\" [text]=\"badge.text\" [iconClass]=\"badge.iconClass\"></sdc-badge>\n </div>\n }\n</div>\n", styles: [":host{display:inline-flex;position:relative;vertical-align:top}.sdc-button-wrapper{display:inline-flex;position:relative;width:100%}.sdc-button-wrapper--with-badge{margin-right:-15px}.sdc-button-trigger,.sdc-button-el{display:block;width:100%}.sdc-button-el button{align-items:center;border:1px solid;border-radius:var(--sdc-formfield-border-radius, 4px);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--sdc-font-family, \"Open Sans\", sans-serif);font-size:14px;height:35px;justify-content:center;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;width:100%}.sdc-button-el button:disabled{background-image:none;cursor:text;filter:alpha(opacity=50);opacity:.5;pointer-events:none}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{font-size:.75em}.sdc-button-el button.s-button--loading{cursor:progress;pointer-events:none}.sdc-button-el button.s-button--loading .s-button-icon,.sdc-button-el button.s-button--loading .s-button-text,.sdc-button-el button.s-button--loading .s-button-right-icon,.sdc-button-el button.s-button--loading .s-button-menu-icon{filter:blur(2px);opacity:.55}.sdc-button-el button.s-button--loading:disabled{cursor:progress;opacity:1}.s-button-loader{align-items:center;display:inline-flex;inset:0;justify-content:center;position:absolute;z-index:2}.s-button-loader__spinner{animation:sdc-button-spin .6s linear infinite;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;box-sizing:border-box;height:16px;width:16px}@keyframes sdc-button-spin{to{transform:rotate(360deg)}}.sdc-button-el button.s-button-auxiliary{border-radius:20px}.sdc-button-el button.s-button-size-small{height:25px}.sdc-button-el button.s-button-size-default{height:35px}.sdc-button-el button.s-button-with-text,.sdc-button-el button.s-button-with-icon.s-button-multiple{min-width:80px}.sdc-button-icon,.sdc-button-right-icon,.sdc-button-menu-icon{align-items:center;display:inline-flex;justify-content:center}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.sdc-button-el button.s-button-size-small.s-button-only-icon{max-height:24px;max-width:24px;min-width:24px}.sdc-button-el button.s-button-multiple .s-button-text{align-items:flex-start;display:inline-flex;justify-content:flex-start}.sdc-button-el button.s-button-with-icon .s-button-text{align-items:flex-end;display:inline-flex;justify-content:flex-end}.sdc-button-el button.s-button-priority-primary{background-color:var(--p-primary-color, #428bca);border-color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}.sdc-button-el button.s-button-priority-default{background-color:var(--sdc-formfield-default-bg, #ffffff);border-color:var(--sdc-formfield-default-border, #cccccc)}.sdc-button-el button.s-button-priority-link{background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.sdc-button-el button.s-button-priority-primary .s-button-icon,.sdc-button-el button.s-button-priority-primary .s-button-right-icon,.sdc-button-el button.s-button-priority-primary .s-button-text,.sdc-button-el button.s-button-priority-primary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:hover{background-color:#2a6496}.sdc-button-el button.s-button-priority-primary:focus-visible{background-color:#2a6496;border-color:#22dce6}.sdc-button-el button.s-button-priority-secondary .s-button-icon,.sdc-button-el button.s-button-priority-secondary .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary .s-button-text,.sdc-button-el button.s-button-priority-secondary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:hover{background-color:#546b79}.sdc-button-el button.s-button-priority-secondary:focus-visible{background-color:#546b79;border-color:#22dce6}.sdc-button-el button.s-button-priority-default .s-button-icon,.sdc-button-el button.s-button-priority-default .s-button-right-icon,.sdc-button-el button.s-button-priority-default .s-button-text,.sdc-button-el button.s-button-priority-default .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:hover{background-color:#d9d9d9}.sdc-button-el button.s-button-priority-default:focus-visible{background-color:#d9d9d9;border-color:#22dce6}.sdc-button-el button.s-button-priority-link .s-button-icon,.sdc-button-el button.s-button-priority-link .s-button-right-icon,.sdc-button-el button.s-button-priority-link .s-button-text,.sdc-button-el button.s-button-priority-link .s-button-menu-icon{color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-link:hover{background-color:transparent}.sdc-button-el button.s-button-priority-link:focus-visible{background-color:transparent;border-color:#22dce6}.sdc-button-el button.s-button-priority-danger .s-button-icon,.sdc-button-el button.s-button-priority-danger .s-button-right-icon,.sdc-button-el button.s-button-priority-danger .s-button-text,.sdc-button-el button.s-button-priority-danger .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-danger:hover{background-color:#642525}.sdc-button-el button.s-button-priority-danger:focus-visible{background-color:#642525;border-color:#22dce6}.sdc-button-el button.s-button-auxiliary.s-button-only-icon{border-radius:50%}.sdc-button-el button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}.sdc-button-el button.s-button-multiple.s-button-size-small.s-button-empty{min-width:25px;width:25px}.sdc-button-el button.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.sdc-button-el button.s-button--slide.s-button-with-text,.sdc-button-el button.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.sdc-button-el button.s-button-priority-outline .s-button-icon,.sdc-button-el button.s-button-priority-outline .s-button-right-icon,.sdc-button-el button.s-button-priority-outline .s-button-text,.sdc-button-el button.s-button-priority-outline .s-button-menu-icon{color:var(--sdc-button-outline-color, #3a4a5c)}.sdc-button-el button.s-button-priority-primary:hover .s-button-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-text,.sdc-button-el button.s-button-priority-primary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:active:not(:disabled),.sdc-button-el button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}.sdc-button-el button.s-button-priority-secondary:hover .s-button-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-text,.sdc-button-el button.s-button-priority-secondary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:active:not(:disabled),.sdc-button-el button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}.sdc-button-el button.s-button-priority-default:hover .s-button-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-text,.sdc-button-el button.s-button-priority-default:hover .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:active:not(:disabled),.sdc-button-el button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}.sdc-button-el button.s-button-priority-link:hover .s-button-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-text,.sdc-button-el button.s-button-priority-link:hover .s-button-menu-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-right-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-text,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-menu-icon{color:#2a6496}.sdc-button-el button.s-button-priority-link:active:not(:disabled),.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger:active:not(:disabled),.sdc-button-el button.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.sdc-button-el button.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.sdc-button-el button.s-button-priority-outline{background-color:var(--sdc-button-outline-bg, #ffffff);border-color:var(--sdc-button-outline-border, #d6dbe1);border-radius:var(--sdc-button-outline-radius, 6px)}.sdc-button-el button.s-button-priority-outline:hover{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-priority-outline:focus-visible{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:#22dce6}.sdc-button-el button.s-button-priority-outline:active:not(:disabled),.sdc-button-el button.s-button-priority-outline.s-button-active:not(:disabled){background-color:var(--sdc-button-outline-active-bg, #e6e9ed);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-rounded{border-radius:var(--sdc-button-rounded-radius, 999px)}.sdc-button-el button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}.badge{bottom:16px;position:relative;right:15px;z-index:99}.menu-options-icon{color:#212533}::ng-deep .sdc-button-menu-popover{min-width:12rem;overflow:visible!important;padding:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: BadgeComponent, selector: "sdc-badge", inputs: ["type", "color", "title", "titleParams", "text", "textParams", "selectable", "disabled", "iconClass", "iconPosition", "infoSign", "ariaLabel", "ariaLabelParams", "infoAriaLabel"], outputs: ["selected"] }, { kind: "component", type: ButtonMenuComponent, selector: "sdc-button-menu", inputs: ["items", "level"], outputs: ["action"] }, { kind: "component", type: PopoverComponent, selector: "sdc-popover", inputs: ["open", "disabled", "toggleOnTriggerClick", "closeOnOutsideClick", "closeOnScroll", "closeOnEscape", "trapFocus", "focusOnOpen", "restoreFocusOnClose", "ariaLabel", "appendTo", "zIndex", "offset", "placement", "role", "matchTriggerWidth", "panelWidth", "panelMinWidth", "panelMaxWidth", "panelMaxHeight", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
198
200
|
}
|
|
199
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
200
202
|
type: Component,
|
|
201
|
-
args: [{ imports: [CommonModule, TranslateModule, BadgeComponent, ButtonMenuComponent, PopoverComponent, TooltipComponent], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<ng-template #buttonSurface>\n <sdc-tooltip\n [pTooltip]=\"tooltip ? (tooltip | translate) : null\"\n [fitContent]=\"false\"\n [tooltipDisabled]=\"!tooltip\"\n >\n <div class=\"sdc-button-el\">\n <button\n [id]=\"id\"\n [type]=\"type\"\n class=\"s-button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled || loading\"\n [attr.aria-disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n [attr.aria-haspopup]=\"hasMenu ? 'menu' : null\"\n [attr.aria-expanded]=\"hasMenu ? menuOpen : null\"\n (click)=\"handleButtonClick($event)\"\n >\n @if (loading) {\n <span class=\"s-button-loader\" aria-hidden=\"true\">\n <span class=\"s-button-loader__spinner\"></span>\n </span>\n }\n\n @if (icon) {\n <span\n class=\"s-button-icon\"\n [ngClass]=\"icon\"\n [class.s-button-icon-margin-right]=\"!label && hasMenu\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (label) {\n <span\n class=\"s-button-text\"\n [class.s-button-icon-margin-right]=\"!!rightIcon || hasMenu\"\n [class.s-button-icon-margin-left]=\"!!icon\"\n >\n {{ label | translate }}\n </span>\n }\n\n @if (rightIcon) {\n <span class=\"s-button-right-icon\" [ngClass]=\"rightIcon\" aria-hidden=\"true\"></span>\n }\n\n @if ((caret && hasMenu) || hasMenu) {\n <span class=\"menu-options-icon s-button-menu-icon fa fa-fw fa-caret-down\" aria-hidden=\"true\"></span>\n }\n </button>\n </div>\n </sdc-tooltip>\n</ng-template>\n\n<div class=\"sdc-button-wrapper\" [class.sdc-button-wrapper--with-badge]=\"!!badge\">\n @if (hasMenu) {\n <sdc-popover\n [open]=\"menuOpen\"\n [toggleOnTriggerClick]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [restoreFocusOnClose]=\"true\"\n [panelClass]=\"menuPanelClass\"\n (openChange)=\"onMenuOpenChange($event)\"\n >\n <div sdc-popover-trigger class=\"sdc-button-trigger\">\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n </div>\n\n <div\n sdc-popover-content\n class=\"sdc-button-menu-panel\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n >\n <sdc-button-menu [items]=\"resolvedMenuOptions\" (action)=\"handleMenuAction($event)\"></sdc-button-menu>\n </div>\n </sdc-popover>\n } @else {\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n }\n\n @if (badge) {\n <div class=\"badge\">\n <sdc-badge [color]=\"badge.color\" [text]=\"badge.text\" [iconClass]=\"badge.iconClass\"></sdc-badge>\n </div>\n }\n</div>\n", styles: [":host{display:inline-flex;position:relative;vertical-align:top}.sdc-button-wrapper{display:inline-flex;position:relative;width:100%}.sdc-button-wrapper--with-badge{margin-right:-15px}.sdc-button-trigger,.sdc-button-el{display:block;width:100%}.sdc-button-el button{align-items:center;border:1px solid;border-radius:var(--sdc-formfield-border-radius, 4px);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--sdc-font-family, \"Open Sans\", sans-serif);font-size:14px;height:35px;justify-content:center;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;width:100%}.sdc-button-el button:disabled{background-image:none;cursor:text;filter:alpha(opacity=50);opacity:.5;pointer-events:none}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{right:10px;transition:transform .2s ease-out}.s-button-active .s-button-menu-icon{transform:rotateX(180deg)}.sdc-button-el button.s-button--loading{cursor:progress;pointer-events:none}.sdc-button-el button.s-button--loading .s-button-icon,.sdc-button-el button.s-button--loading .s-button-text,.sdc-button-el button.s-button--loading .s-button-right-icon,.sdc-button-el button.s-button--loading .s-button-menu-icon{filter:blur(2px);opacity:.55}.sdc-button-el button.s-button--loading:disabled{cursor:progress;opacity:1}.s-button-loader{align-items:center;display:inline-flex;inset:0;justify-content:center;position:absolute;z-index:2}.s-button-loader__spinner{animation:sdc-button-spin .6s linear infinite;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;box-sizing:border-box;height:16px;width:16px}@keyframes sdc-button-spin{to{transform:rotate(360deg)}}.sdc-button-el button.s-button-auxiliary{border-radius:20px}.sdc-button-el button.s-button-size-small{height:25px}.sdc-button-el button.s-button-size-default{height:35px}.sdc-button-el button.s-button-with-text,.sdc-button-el button.s-button-with-icon.s-button-multiple{min-width:80px}.sdc-button-icon,.sdc-button-right-icon,.sdc-button-menu-icon{align-items:center;display:inline-flex;justify-content:center}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.sdc-button-el button.s-button-size-small.s-button-only-icon{max-height:24px;max-width:24px;min-width:24px}.sdc-button-el button.s-button-multiple .s-button-text{align-items:flex-start;display:inline-flex;justify-content:flex-start}.sdc-button-el button.s-button-with-icon .s-button-text{align-items:flex-end;display:inline-flex;justify-content:flex-end}.sdc-button-el button.s-button-priority-primary{background-color:var(--p-primary-color, #428bca);border-color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}.sdc-button-el button.s-button-priority-default{background-color:var(--sdc-formfield-default-bg, #ffffff);border-color:var(--sdc-formfield-default-border, #cccccc)}.sdc-button-el button.s-button-priority-link{background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.sdc-button-el button.s-button-priority-primary .s-button-icon,.sdc-button-el button.s-button-priority-primary .s-button-right-icon,.sdc-button-el button.s-button-priority-primary .s-button-text,.sdc-button-el button.s-button-priority-primary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:hover{background-color:#2a6496}.sdc-button-el button.s-button-priority-primary:focus-visible{background-color:#2a6496;border-color:#22dce6}.sdc-button-el button.s-button-priority-secondary .s-button-icon,.sdc-button-el button.s-button-priority-secondary .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary .s-button-text,.sdc-button-el button.s-button-priority-secondary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:hover{background-color:#546b79}.sdc-button-el button.s-button-priority-secondary:focus-visible{background-color:#546b79;border-color:#22dce6}.sdc-button-el button.s-button-priority-default .s-button-icon,.sdc-button-el button.s-button-priority-default .s-button-right-icon,.sdc-button-el button.s-button-priority-default .s-button-text,.sdc-button-el button.s-button-priority-default .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:hover{background-color:#d9d9d9}.sdc-button-el button.s-button-priority-default:focus-visible{background-color:#d9d9d9;border-color:#22dce6}.sdc-button-el button.s-button-priority-link .s-button-icon,.sdc-button-el button.s-button-priority-link .s-button-right-icon,.sdc-button-el button.s-button-priority-link .s-button-text,.sdc-button-el button.s-button-priority-link .s-button-menu-icon{color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-link:hover{background-color:transparent}.sdc-button-el button.s-button-priority-link:focus-visible{background-color:transparent;border-color:#22dce6}.sdc-button-el button.s-button-priority-danger .s-button-icon,.sdc-button-el button.s-button-priority-danger .s-button-right-icon,.sdc-button-el button.s-button-priority-danger .s-button-text,.sdc-button-el button.s-button-priority-danger .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-danger:hover{background-color:#642525}.sdc-button-el button.s-button-priority-danger:focus-visible{background-color:#642525;border-color:#22dce6}.sdc-button-el button.s-button-auxiliary.s-button-only-icon{border-radius:50%}.sdc-button-el button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}.sdc-button-el button.s-button-multiple.s-button-size-small.s-button-empty{min-width:25px;width:25px}.sdc-button-el button.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.sdc-button-el button.s-button--slide.s-button-with-text,.sdc-button-el button.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.sdc-button-el button.s-button-priority-outline .s-button-icon,.sdc-button-el button.s-button-priority-outline .s-button-right-icon,.sdc-button-el button.s-button-priority-outline .s-button-text,.sdc-button-el button.s-button-priority-outline .s-button-menu-icon{color:var(--sdc-button-outline-color, #3a4a5c)}.sdc-button-el button.s-button-priority-primary:hover .s-button-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-text,.sdc-button-el button.s-button-priority-primary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:active:not(:disabled),.sdc-button-el button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}.sdc-button-el button.s-button-priority-secondary:hover .s-button-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-text,.sdc-button-el button.s-button-priority-secondary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:active:not(:disabled),.sdc-button-el button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}.sdc-button-el button.s-button-priority-default:hover .s-button-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-text,.sdc-button-el button.s-button-priority-default:hover .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:active:not(:disabled),.sdc-button-el button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}.sdc-button-el button.s-button-priority-link:hover .s-button-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-text,.sdc-button-el button.s-button-priority-link:hover .s-button-menu-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-right-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-text,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-menu-icon{color:#2a6496}.sdc-button-el button.s-button-priority-link:active:not(:disabled),.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger:active:not(:disabled),.sdc-button-el button.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.sdc-button-el button.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.sdc-button-el button.s-button-priority-outline{background-color:var(--sdc-button-outline-bg, #ffffff);border-color:var(--sdc-button-outline-border, #d6dbe1);border-radius:var(--sdc-button-outline-radius, 6px)}.sdc-button-el button.s-button-priority-outline:hover{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-priority-outline:focus-visible{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:#22dce6}.sdc-button-el button.s-button-priority-outline:active:not(:disabled),.sdc-button-el button.s-button-priority-outline.s-button-active:not(:disabled){background-color:var(--sdc-button-outline-active-bg, #e6e9ed);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}.badge{bottom:16px;position:relative;right:15px;z-index:99}.menu-options-icon{color:#212533}::ng-deep .sdc-button-menu-popover{min-width:12rem;overflow:visible!important;padding:.25rem}\n"] }]
|
|
203
|
+
args: [{ imports: [CommonModule, TranslateModule, BadgeComponent, ButtonMenuComponent, PopoverComponent, TooltipComponent], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<ng-template #buttonSurface>\n <sdc-tooltip\n [pTooltip]=\"tooltip ? (tooltip | translate) : null\"\n [fitContent]=\"false\"\n [tooltipDisabled]=\"!tooltip\"\n >\n <div class=\"sdc-button-el\">\n <button\n [id]=\"id\"\n [type]=\"type\"\n class=\"s-button\"\n [ngClass]=\"buttonClasses\"\n [disabled]=\"disabled || loading\"\n [attr.aria-disabled]=\"disabled || loading\"\n [attr.aria-busy]=\"loading\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n [attr.aria-haspopup]=\"hasMenu ? 'menu' : null\"\n [attr.aria-expanded]=\"hasMenu ? menuOpen : null\"\n (click)=\"handleButtonClick($event)\"\n >\n @if (loading) {\n <span class=\"s-button-loader\" aria-hidden=\"true\">\n <span class=\"s-button-loader__spinner\"></span>\n </span>\n }\n\n @if (icon) {\n <span\n class=\"s-button-icon\"\n [ngClass]=\"icon\"\n [class.s-button-icon-margin-right]=\"!label && caret && hasMenu\"\n aria-hidden=\"true\"\n ></span>\n }\n\n @if (label) {\n <span\n class=\"s-button-text\"\n [class.s-button-icon-margin-right]=\"!!rightIcon || (caret && hasMenu)\"\n [class.s-button-icon-margin-left]=\"!!icon\"\n >\n {{ label | translate }}\n </span>\n }\n\n @if (rightIcon) {\n <span class=\"s-button-right-icon\" [ngClass]=\"rightIcon\" aria-hidden=\"true\"></span>\n }\n\n @if (caret && hasMenu) {\n <span class=\"menu-options-icon s-button-menu-icon fas fa-fw fa-chevron-down\" aria-hidden=\"true\"></span>\n }\n </button>\n </div>\n </sdc-tooltip>\n</ng-template>\n\n<div class=\"sdc-button-wrapper\" [class.sdc-button-wrapper--with-badge]=\"!!badge\">\n @if (hasMenu) {\n <sdc-popover\n [open]=\"menuOpen\"\n [toggleOnTriggerClick]=\"false\"\n [closeOnOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [restoreFocusOnClose]=\"true\"\n [panelClass]=\"menuPanelClass\"\n (openChange)=\"onMenuOpenChange($event)\"\n >\n <div sdc-popover-trigger class=\"sdc-button-trigger\">\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n </div>\n\n <div\n sdc-popover-content\n class=\"sdc-button-menu-panel\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel ? (ariaLabel | translate) : (label ? (label | translate) : null)\"\n >\n <sdc-button-menu [items]=\"resolvedMenuOptions\" (action)=\"handleMenuAction($event)\"></sdc-button-menu>\n </div>\n </sdc-popover>\n } @else {\n <ng-container [ngTemplateOutlet]=\"buttonSurface\"></ng-container>\n }\n\n @if (badge) {\n <div class=\"badge\">\n <sdc-badge [color]=\"badge.color\" [text]=\"badge.text\" [iconClass]=\"badge.iconClass\"></sdc-badge>\n </div>\n }\n</div>\n", styles: [":host{display:inline-flex;position:relative;vertical-align:top}.sdc-button-wrapper{display:inline-flex;position:relative;width:100%}.sdc-button-wrapper--with-badge{margin-right:-15px}.sdc-button-trigger,.sdc-button-el{display:block;width:100%}.sdc-button-el button{align-items:center;border:1px solid;border-radius:var(--sdc-formfield-border-radius, 4px);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--sdc-font-family, \"Open Sans\", sans-serif);font-size:14px;height:35px;justify-content:center;max-width:100%;min-width:40px;outline:none;overflow:visible;padding:5px 10px;position:relative;text-decoration:none;text-transform:none;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;width:100%}.sdc-button-el button:disabled{background-image:none;cursor:text;filter:alpha(opacity=50);opacity:.5;pointer-events:none}.s-button-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-button-menu-icon{font-size:.75em}.sdc-button-el button.s-button--loading{cursor:progress;pointer-events:none}.sdc-button-el button.s-button--loading .s-button-icon,.sdc-button-el button.s-button--loading .s-button-text,.sdc-button-el button.s-button--loading .s-button-right-icon,.sdc-button-el button.s-button--loading .s-button-menu-icon{filter:blur(2px);opacity:.55}.sdc-button-el button.s-button--loading:disabled{cursor:progress;opacity:1}.s-button-loader{align-items:center;display:inline-flex;inset:0;justify-content:center;position:absolute;z-index:2}.s-button-loader__spinner{animation:sdc-button-spin .6s linear infinite;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;box-sizing:border-box;height:16px;width:16px}@keyframes sdc-button-spin{to{transform:rotate(360deg)}}.sdc-button-el button.s-button-auxiliary{border-radius:20px}.sdc-button-el button.s-button-size-small{height:25px}.sdc-button-el button.s-button-size-default{height:35px}.sdc-button-el button.s-button-with-text,.sdc-button-el button.s-button-with-icon.s-button-multiple{min-width:80px}.sdc-button-icon,.sdc-button-right-icon,.sdc-button-menu-icon{align-items:center;display:inline-flex;justify-content:center}.s-button-icon-margin-left{margin-left:10px}.s-button-icon-margin-right{margin-right:10px}.sdc-button-el button.s-button-size-small.s-button-only-icon{max-height:24px;max-width:24px;min-width:24px}.sdc-button-el button.s-button-multiple .s-button-text{align-items:flex-start;display:inline-flex;justify-content:flex-start}.sdc-button-el button.s-button-with-icon .s-button-text{align-items:flex-end;display:inline-flex;justify-content:flex-end}.sdc-button-el button.s-button-priority-primary{background-color:var(--p-primary-color, #428bca);border-color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-secondary{background-color:#7892a1;border-color:#7892a1}.sdc-button-el button.s-button-priority-default{background-color:var(--sdc-formfield-default-bg, #ffffff);border-color:var(--sdc-formfield-default-border, #cccccc)}.sdc-button-el button.s-button-priority-link{background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger{background-color:#9c3a3a;border-color:#9c3a3a}.sdc-button-el button.s-button-priority-primary .s-button-icon,.sdc-button-el button.s-button-priority-primary .s-button-right-icon,.sdc-button-el button.s-button-priority-primary .s-button-text,.sdc-button-el button.s-button-priority-primary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:hover{background-color:#2a6496}.sdc-button-el button.s-button-priority-primary:focus-visible{background-color:#2a6496;border-color:#22dce6}.sdc-button-el button.s-button-priority-secondary .s-button-icon,.sdc-button-el button.s-button-priority-secondary .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary .s-button-text,.sdc-button-el button.s-button-priority-secondary .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:hover{background-color:#546b79}.sdc-button-el button.s-button-priority-secondary:focus-visible{background-color:#546b79;border-color:#22dce6}.sdc-button-el button.s-button-priority-default .s-button-icon,.sdc-button-el button.s-button-priority-default .s-button-right-icon,.sdc-button-el button.s-button-priority-default .s-button-text,.sdc-button-el button.s-button-priority-default .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:hover{background-color:#d9d9d9}.sdc-button-el button.s-button-priority-default:focus-visible{background-color:#d9d9d9;border-color:#22dce6}.sdc-button-el button.s-button-priority-link .s-button-icon,.sdc-button-el button.s-button-priority-link .s-button-right-icon,.sdc-button-el button.s-button-priority-link .s-button-text,.sdc-button-el button.s-button-priority-link .s-button-menu-icon{color:var(--p-primary-color, #428bca)}.sdc-button-el button.s-button-priority-link:hover{background-color:transparent}.sdc-button-el button.s-button-priority-link:focus-visible{background-color:transparent;border-color:#22dce6}.sdc-button-el button.s-button-priority-danger .s-button-icon,.sdc-button-el button.s-button-priority-danger .s-button-right-icon,.sdc-button-el button.s-button-priority-danger .s-button-text,.sdc-button-el button.s-button-priority-danger .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-danger:hover{background-color:#642525}.sdc-button-el button.s-button-priority-danger:focus-visible{background-color:#642525;border-color:#22dce6}.sdc-button-el button.s-button-auxiliary.s-button-only-icon{border-radius:50%}.sdc-button-el button.s-button-with-icon.s-button-with-text.s-button-multiple{min-width:100px}.sdc-button-el button.s-button-multiple.s-button-size-small.s-button-empty{min-width:25px;width:25px}.sdc-button-el button.s-button--slide .s-button-text{opacity:0;position:absolute;width:0}.sdc-button-el button.s-button--slide.s-button-with-text,.sdc-button-el button.s-button--slide.s-button-with-icon.s-button-multiple{min-width:40px}.sdc-button-el button.s-button-priority-outline .s-button-icon,.sdc-button-el button.s-button-priority-outline .s-button-right-icon,.sdc-button-el button.s-button-priority-outline .s-button-text,.sdc-button-el button.s-button-priority-outline .s-button-menu-icon{color:var(--sdc-button-outline-color, #3a4a5c)}.sdc-button-el button.s-button-priority-primary:hover .s-button-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-primary:hover .s-button-text,.sdc-button-el button.s-button-priority-primary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-primary:active:not(:disabled),.sdc-button-el button.s-button-priority-primary.s-button-active:not(:disabled){background-color:#245682;border-color:#245682}.sdc-button-el button.s-button-priority-secondary:hover .s-button-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-secondary:hover .s-button-text,.sdc-button-el button.s-button-priority-secondary:hover .s-button-menu-icon{color:#fff}.sdc-button-el button.s-button-priority-secondary:active:not(:disabled),.sdc-button-el button.s-button-priority-secondary.s-button-active:not(:disabled){background-color:#495e6a;border-color:#495e6a}.sdc-button-el button.s-button-priority-default:hover .s-button-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-default:hover .s-button-text,.sdc-button-el button.s-button-priority-default:hover .s-button-menu-icon{color:var(--sdc-button-icon-default, #333333)}.sdc-button-el button.s-button-priority-default:active:not(:disabled),.sdc-button-el button.s-button-priority-default.s-button-active:not(:disabled){background-color:#ccc;border-color:#ccc}.sdc-button-el button.s-button-priority-link:hover .s-button-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-right-icon,.sdc-button-el button.s-button-priority-link:hover .s-button-text,.sdc-button-el button.s-button-priority-link:hover .s-button-menu-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-right-icon,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-text,.sdc-button-el button.s-button-priority-link:focus-visible .s-button-menu-icon{color:#2a6496}.sdc-button-el button.s-button-priority-link:active:not(:disabled),.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled){background-color:transparent;border-color:transparent}.sdc-button-el button.s-button-priority-danger:active:not(:disabled),.sdc-button-el button.s-button-priority-danger.s-button-active:not(:disabled){background-color:#521e1e;border-color:#521e1e}.sdc-button-el button.s-button--slide:hover .s-button-text{opacity:1;position:relative;transition:1s ease;width:auto}.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link:active:not(:disabled) .s-button-menu-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-right-icon,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-text,.sdc-button-el button.s-button-priority-link.s-button-active:not(:disabled) .s-button-menu-icon{color:#245682}.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-icon,.sdc-button-el button.s-button--slide:hover.s-button--rotate-animation .s-button-right-icon{transform:rotate(360deg);transition:1.5s ease}.sdc-button-el button.s-button-priority-outline{background-color:var(--sdc-button-outline-bg, #ffffff);border-color:var(--sdc-button-outline-border, #d6dbe1);border-radius:var(--sdc-button-outline-radius, 6px)}.sdc-button-el button.s-button-priority-outline:hover{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-priority-outline:focus-visible{background-color:var(--sdc-button-outline-hover-bg, #f2f4f6);border-color:#22dce6}.sdc-button-el button.s-button-priority-outline:active:not(:disabled),.sdc-button-el button.s-button-priority-outline.s-button-active:not(:disabled){background-color:var(--sdc-button-outline-active-bg, #e6e9ed);border-color:var(--sdc-button-outline-hover-border, #c2c9d2)}.sdc-button-el button.s-button-rounded{border-radius:var(--sdc-button-rounded-radius, 999px)}.sdc-button-el button.s-button-with-icon.s-button-multiple:not(.s-button-with-text) .s-button-icon{align-items:center;display:inline-flex;justify-content:center}.badge{bottom:16px;position:relative;right:15px;z-index:99}.menu-options-icon{color:#212533}::ng-deep .sdc-button-menu-popover{min-width:12rem;overflow:visible!important;padding:.25rem}\n"] }]
|
|
202
204
|
}], propDecorators: { id: [{
|
|
203
205
|
type: Input
|
|
204
206
|
}], label: [{
|
|
@@ -223,6 +225,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
223
225
|
type: Input
|
|
224
226
|
}], auxiliary: [{
|
|
225
227
|
type: Input
|
|
228
|
+
}], rounded: [{
|
|
229
|
+
type: Input
|
|
226
230
|
}], caret: [{
|
|
227
231
|
type: Input
|
|
228
232
|
}], tooltip: [{
|
|
@@ -251,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
251
255
|
type: HostListener,
|
|
252
256
|
args: ['click', ['$event']]
|
|
253
257
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVV0RCxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUVoRSxNQUFNLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBVzFELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDakIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFNBQVMsQ0FBVTtJQUNuQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsS0FBSyxHQUFjLE1BQU0sQ0FBQztJQUMxQixRQUFRLEdBQW1CLFNBQVMsQ0FBQztJQUNyQyxJQUFJLEdBQWUsU0FBUyxDQUFD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RUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGNBQ3JHLElBQUksWUFDTixZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBR2hDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFPRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxPQUFPO2dCQVdKLE9BQU87c0JBQWhCLE1BQU07Z0JBT08sU0FBUztzQkFEdEIsV0FBVzt1QkFBQyxhQUFhO2dCQWtEaEIsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBCdXR0b25CYWRnZUNvbmZpZyxcbiAgQnV0dG9uTGVnYWN5TWVudUl0ZW0sXG4gIEJ1dHRvbk1lbnVDb21tYW5kUGF5bG9hZCxcbiAgQnV0dG9uTWVudUl0ZW1EYXRhLFxuICBCdXR0b25Qcmlvcml0eSxcbiAgQnV0dG9uU2l6ZVxufSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IEJ1dHRvbiwgRGltZW5zaW9uLCBnZXREaW1lbnNpb25TdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1lbnVBY3Rpb25FdmVudCwgQnV0dG9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5jb25zdCBCVVRUT05fTUVOVV9QQU5FTF9DTEFTUyA9ICdzZGMtYnV0dG9uLW1lbnUtcG9wb3Zlcic7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJhZGdlQ29tcG9uZW50LCBCdXR0b25NZW51Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50LCBUb29sdGlwQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnYnV0dG9uLWlkJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnYXV0byc7XG4gIEBJbnB1dCgpIHByaW9yaXR5OiBCdXR0b25Qcmlvcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJpZ2h0SWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgYXV4aWxpYXJ5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbHRpcD86IHN0cmluZztcbiAgQElucHV0KCkgYW5pbWF0aW9uPzogJ3JvdGF0ZSc7XG4gIEBJbnB1dCgpIHNsaWRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3R5bGVDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgYmFkZ2U/OiBCdXR0b25CYWRnZUNvbmZpZztcblxuICBwcml2YXRlIF9tZW51T3B0aW9uczogQnV0dG9uTWVudUl0ZW1EYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGVnYWN5TWVudU9wdGlvbnM6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX21lbnVDb250ZXh0PzogdW5rbm93bjtcblxuICBASW5wdXQoKVxuICBzZXQgbWVudU9wdGlvbnModmFsdWU6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX21lbnVPcHRpb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5yZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpO1xuICB9XG5cbiAgZ2V0IG1lbnVPcHRpb25zKCk6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPz8gdGhpcy5fbWVudU9wdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbWVudUNvbnRleHQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9tZW51Q29udGV4dCA9IHZhbHVlO1xuICAgIHRoaXMucmVidWlsZFJlc29sdmVkTWVudU9wdGlvbnMoKTtcbiAgfVxuXG4gIGdldCBtZW51Q29udGV4dCgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUNvbnRleHQ7XG4gIH1cblxuICBASW5wdXQoJ21vZGVsJylcbiAgc2V0IGxlZ2FjeU1vZGVsKHZhbHVlOiBCdXR0b25MZWdhY3lNZW51SXRlbVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID0gdGhpcy5tYXBMZWdhY3lNZW51KHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMucmVidWlsZFJlc29sdmVkTWVudU9wdGlvbnMoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVudVBhbmVsQ2xhc3MgPSBCVVRUT05fTUVOVV9QQU5FTF9DTEFTUztcbiAgcHJvdGVjdGVkIHJlc29sdmVkTWVudU9wdGlvbnM6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdID0gW107XG4gIHByb3RlY3RlZCBtZW51T3BlbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxuICBwcm90ZWN0ZWQgZ2V0IGhvc3RXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLndpZHRoU3R5bGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHdpZHRoU3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKGdldERpbWVuc2lvblN0eWxlcygnd2lkdGgnLCB0aGlzLndpZHRoKVsnd2lkdGgnXSA/PyAnYXV0bycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBoYXNNZW51KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNJbnRlcmFjdGlvbkJsb2NrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5sb2FkaW5nO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBidXR0b25DbGFzc2VzKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBjdXN0b21DbGFzc2VzID0gKHRoaXMuc3R5bGVDbGFzcyA/PyAnJylcbiAgICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PigoYWNjdW11bGF0b3IsIGNsYXNzTmFtZSkgPT4ge1xuICAgICAgICBhY2N1bXVsYXRvcltjbGFzc05hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfSwge30pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmN1c3RvbUNsYXNzZXMsXG4gICAgICAncy1idXR0b24tYXV4aWxpYXJ5JzogdGhpcy5hdXhpbGlhcnksXG4gICAgICAncy1idXR0b24td2l0aC1pY29uJzogISF0aGlzLmljb24sXG4gICAgICAncy1idXR0b24td2l0aC10ZXh0JzogISF0aGlzLmxhYmVsLFxuICAgICAgJ3MtYnV0dG9uLW9ubHktaWNvbic6ICEhdGhpcy5pY29uICYmICF0aGlzLmxhYmVsICYmICF0aGlzLmhhc01lbnUsXG4gICAgICAncy1idXR0b24tZW1wdHknOiAhdGhpcy5pY29uICYmICF0aGlzLmxhYmVsLFxuICAgICAgJ3MtYnV0dG9uLXNpemUtZGVmYXVsdCc6IHRoaXMuc2l6ZSA9PT0gJ2RlZmF1bHQnLFxuICAgICAgJ3MtYnV0dG9uLXNpemUtc21hbGwnOiB0aGlzLnNpemUgPT09ICdzbWFsbCcsXG4gICAgICAncy1idXR0b24tcHJpb3JpdHktZGVmYXVsdCc6IHRoaXMucHJpb3JpdHkgPT09ICdkZWZhdWx0JyxcbiAgICAgICdzLWJ1dHRvbi1wcmlvcml0eS1wcmltYXJ5JzogdGhpcy5wcmlvcml0eSA9PT0gJ3ByaW1hcnknLFxuICAgICAgJ3MtYnV0dG9uLXByaW9yaXR5LXNlY29uZGFyeSc6IHRoaXMucHJpb3JpdHkgPT09ICdzZWNvbmRhcnknLFxuICAgICAgJ3MtYnV0dG9uLXByaW9yaXR5LWxpbmsnOiB0aGlzLnByaW9yaXR5ID09PSAnbGluaycsXG4gICAgICAncy1idXR0b24tcHJpb3JpdHktZGFuZ2VyJzogdGhpcy5wcmlvcml0eSA9PT0gJ2RhbmdlcicsXG4gICAgICAncy1idXR0b24tcHJpb3JpdHktb3V0bGluZSc6IHRoaXMucHJpb3JpdHkgPT09ICdvdXRsaW5lJyxcbiAgICAgICdzLWJ1dHRvbi1tdWx0aXBsZSc6ICh0aGlzLmNhcmV0ICYmIHRoaXMuaGFzTWVudSkgfHwgISF0aGlzLnJpZ2h0SWNvbixcbiAgICAgICdzLWJ1dHRvbi0tc2xpZGUnOiB0aGlzLnZhbGlkYXRlU2xpZGVCdXR0b24oKSxcbiAgICAgICdzLWJ1dHRvbi0tcm90YXRlLWFuaW1hdGlvbic6IHRoaXMuaXNSb3RhdGVBbmltYXRpb24oKSxcbiAgICAgICdzLWJ1dHRvbi0tbG9hZGluZyc6IHRoaXMubG9hZGluZyxcbiAgICAgICdzLWJ1dHRvbi1hY3RpdmUnOiB0aGlzLm1lbnVPcGVuXG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uSG9zdENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzSW50ZXJhY3Rpb25CbG9ja2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW50ZXJhY3Rpb25CbG9ja2VkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLmhhc01lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMubWVudU9wZW4gPSAhdGhpcy5tZW51T3BlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVNZW51QWN0aW9uKGV2ZW50OiBCdXR0b25NZW51QWN0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuaXRlbS5kaXNhYmxlZCB8fCBldmVudC5pdGVtLmRpdmlkZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5pdGVtLmNvbW1hbmQ/LihldmVudC5vcmlnaW5hbEV2ZW50KTtcbiAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25NZW51T3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5tZW51T3BlbiA9IG9wZW47XG4gIH1cblxuICBwcml2YXRlIHJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZWRNZW51T3B0aW9ucyA9IHRoaXMud3JhcE1lbnVDb21tYW5kcyh0aGlzLm1lbnVPcHRpb25zKTtcbiAgICB0aGlzLm1lbnVPcGVuID0gdGhpcy5tZW51T3BlbiAmJiB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgd3JhcE1lbnVDb21tYW5kcyhpdGVtczogQnV0dG9uTWVudUl0ZW1EYXRhW10gPSBbXSk6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gaXRlbXNcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udmlzaWJsZSAhPT0gZmFsc2UpXG4gICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQ29tbWFuZCA9IGl0ZW0uY29tbWFuZCBhcyAoKHBheWxvYWQ/OiB1bmtub3duKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc3VibWVudSA9IGl0ZW0uc3VibWVudT8ubGVuZ3RoID8gdGhpcy53cmFwTWVudUNvbW1hbmRzKGl0ZW0uc3VibWVudSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3Qgd3JhcHBlZEl0ZW06IEJ1dHRvbk1lbnVJdGVtRGF0YSA9IHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIHN1Ym1lbnVcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAob3JpZ2luYWxDb21tYW5kKSB7XG4gICAgICAgICAgd3JhcHBlZEl0ZW0uY29tbWFuZCA9IChvcmlnaW5hbEV2ZW50PzogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGF5bG9hZDogQnV0dG9uTWVudUNvbW1hbmRQYXlsb2FkID0ge1xuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgICBjb250ZXh0OiB0aGlzLl9tZW51Q29udGV4dCxcbiAgICAgICAgICAgICAgaXRlbTogd3JhcHBlZEl0ZW0sXG4gICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG9yaWdpbmFsQ29tbWFuZChwYXlsb2FkKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdyYXBwZWRJdGVtO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcExlZ2FjeU1lbnUoaXRlbXM6IEJ1dHRvbkxlZ2FjeU1lbnVJdGVtW10gPSBbXSk6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5zZXBhcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHsgZGl2aWRlcjogdHJ1ZSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCA/PyAnJyxcbiAgICAgICAgaWNvbkNsYXNzOiBpdGVtLmljb24sXG4gICAgICAgIGRpc2FibGVkOiAhIWl0ZW0uZGlzYWJsZWQsXG4gICAgICAgIHZpc2libGU6IGl0ZW0udmlzaWJsZSxcbiAgICAgICAgZGF0YUtleTogaXRlbS5kYXRhS2V5LFxuICAgICAgICBkYXRhOiBpdGVtLmRhdGEsXG4gICAgICAgIGNvbW1hbmQ6IGl0ZW0uY29tbWFuZFxuICAgICAgICAgID8gKG9yaWdpbmFsRXZlbnQ/OiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBpdGVtLmNvbW1hbmQ/Lih7XG4gICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQsXG4gICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHRoaXMuX21lbnVDb250ZXh0XG4gICAgICAgICAgICB9IGFzIG5ldmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHN1Ym1lbnU6IGl0ZW0uaXRlbXM/Lmxlbmd0aCA/IHRoaXMubWFwTGVnYWN5TWVudShpdGVtLml0ZW1zKSA6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTbGlkZUJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5zbGlkZSAmJiAodGhpcy5wcmlvcml0eSA9PT0gJ2RlZmF1bHQnIHx8IHRoaXMucHJpb3JpdHkgPT09ICdsaW5rJykgJiYgdGhpcy5sYWJlbD8ubGVuZ3RoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNSb3RhdGVBbmltYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uID09PSAncm90YXRlJztcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNidXR0b25TdXJmYWNlPlxuICA8c2RjLXRvb2x0aXBcbiAgICBbcFRvb2x0aXBdPVwidG9vbHRpcCA/ICh0b29sdGlwIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICAgIFtmaXRDb250ZW50XT1cImZhbHNlXCJcbiAgICBbdG9vbHRpcERpc2FibGVkXT1cIiF0b29sdGlwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtYnV0dG9uLWVsXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBjbGFzcz1cInMtYnV0dG9uXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3Nlc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCJcbiAgICAgICAgW2F0dHIuYXJpYS1idXN5XT1cImxvYWRpbmdcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IChhcmlhTGFiZWwgfCB0cmFuc2xhdGUpIDogKGxhYmVsID8gKGxhYmVsIHwgdHJhbnNsYXRlKSA6IG51bGwpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJoYXNNZW51ID8gJ21lbnUnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaGFzTWVudSA/IG1lbnVPcGVuIDogbnVsbFwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChsb2FkaW5nKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzLWJ1dHRvbi1sb2FkZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicy1idXR0b24tbG9hZGVyX19zcGlubmVyXCI+PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInMtYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaWNvblwiXG4gICAgICAgICAgICBbY2xhc3Mucy1idXR0b24taWNvbi1tYXJnaW4tcmlnaHRdPVwiIWxhYmVsICYmIGhhc01lbnVcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChsYWJlbCkge1xuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInMtYnV0dG9uLXRleHRcIlxuICAgICAgICAgICAgW2NsYXNzLnMtYnV0dG9uLWljb24tbWFyZ2luLXJpZ2h0XT1cIiEhcmlnaHRJY29uIHx8IGhhc01lbnVcIlxuICAgICAgICAgICAgW2NsYXNzLnMtYnV0dG9uLWljb24tbWFyZ2luLWxlZnRdPVwiISFpY29uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAocmlnaHRJY29uKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzLWJ1dHRvbi1yaWdodC1pY29uXCIgW25nQ2xhc3NdPVwicmlnaHRJY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgoY2FyZXQgJiYgaGFzTWVudSkgfHwgaGFzTWVudSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudS1vcHRpb25zLWljb24gcy1idXR0b24tbWVudS1pY29uIGZhIGZhLWZ3IGZhLWNhcmV0LWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L3NkYy10b29sdGlwPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cInNkYy1idXR0b24td3JhcHBlclwiIFtjbGFzcy5zZGMtYnV0dG9uLXdyYXBwZXItLXdpdGgtYmFkZ2VdPVwiISFiYWRnZVwiPlxuICBAaWYgKGhhc01lbnUpIHtcbiAgICA8c2RjLXBvcG92ZXJcbiAgICAgIFtvcGVuXT1cIm1lbnVPcGVuXCJcbiAgICAgIFt0b2dnbGVPblRyaWdnZXJDbGlja109XCJmYWxzZVwiXG4gICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgICAgIFtjbG9zZU9uRXNjYXBlXT1cInRydWVcIlxuICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwidHJ1ZVwiXG4gICAgICBbcGFuZWxDbGFzc109XCJtZW51UGFuZWxDbGFzc1wiXG4gICAgICAob3BlbkNoYW5nZSk9XCJvbk1lbnVPcGVuQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgc2RjLXBvcG92ZXItdHJpZ2dlciBjbGFzcz1cInNkYy1idXR0b24tdHJpZ2dlclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvblN1cmZhY2VcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIHNkYy1wb3BvdmVyLWNvbnRlbnRcbiAgICAgICAgY2xhc3M9XCJzZGMtYnV0dG9uLW1lbnUtcGFuZWxcIlxuICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gKGFyaWFMYWJlbCB8IHRyYW5zbGF0ZSkgOiAobGFiZWwgPyAobGFiZWwgfCB0cmFuc2xhdGUpIDogbnVsbClcIlxuICAgICAgPlxuICAgICAgICA8c2RjLWJ1dHRvbi1tZW51IFtpdGVtc109XCJyZXNvbHZlZE1lbnVPcHRpb25zXCIgKGFjdGlvbik9XCJoYW5kbGVNZW51QWN0aW9uKCRldmVudClcIj48L3NkYy1idXR0b24tbWVudT5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2RjLXBvcG92ZXI+XG4gIH0gQGVsc2Uge1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uU3VyZmFjZVwiPjwvbmctY29udGFpbmVyPlxuICB9XG5cbiAgQGlmIChiYWRnZSkge1xuICAgIDxkaXYgY2xhc3M9XCJiYWRnZVwiPlxuICAgICAgPHNkYy1iYWRnZSBbY29sb3JdPVwiYmFkZ2UuY29sb3JcIiBbdGV4dF09XCJiYWRnZS50ZXh0XCIgW2ljb25DbGFzc109XCJiYWRnZS5pY29uQ2xhc3NcIj48L3NkYy1iYWRnZT5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVV0RCxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUVoRSxNQUFNLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBVzFELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDakIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFNBQVMsQ0FBVTtJQUNuQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsS0FBSyxHQUFjLE1BQU0sQ0FBQztJQUMxQixRQUFRLEdBQW1CLFNBQVMsQ0FBQztJQUNyQyxJQUFJLEdBQWUsU0FBUyxDQUFD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QUFnQiwwWkFBRSxnQkFBZ0I7OzRGQVFyRyxlQUFlO2tCQVQzQixTQUFTOzhCQUNDLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsY0FDckcsSUFBSSxZQUNOLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFPRixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxPQUFPO2dCQVdKLE9BQU87c0JBQWhCLE1BQU07Z0JBT08sU0FBUztzQkFEdEIsV0FBVzt1QkFBQyxhQUFhO2dCQW1EaEIsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBCdXR0b25CYWRnZUNvbmZpZyxcbiAgQnV0dG9uTGVnYWN5TWVudUl0ZW0sXG4gIEJ1dHRvbk1lbnVDb21tYW5kUGF5bG9hZCxcbiAgQnV0dG9uTWVudUl0ZW1EYXRhLFxuICBCdXR0b25Qcmlvcml0eSxcbiAgQnV0dG9uU2l6ZVxufSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IEJ1dHRvbiwgRGltZW5zaW9uLCBnZXREaW1lbnNpb25TdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1lbnVBY3Rpb25FdmVudCwgQnV0dG9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5jb25zdCBCVVRUT05fTUVOVV9QQU5FTF9DTEFTUyA9ICdzZGMtYnV0dG9uLW1lbnUtcG9wb3Zlcic7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEJhZGdlQ29tcG9uZW50LCBCdXR0b25NZW51Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50LCBUb29sdGlwQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQgPSAnYnV0dG9uLWlkJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnYXV0byc7XG4gIEBJbnB1dCgpIHByaW9yaXR5OiBCdXR0b25Qcmlvcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJpZ2h0SWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgYXV4aWxpYXJ5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvdW5kZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgY2FyZXQgPSB0cnVlO1xuICBASW5wdXQoKSB0b29sdGlwPzogc3RyaW5nO1xuICBASW5wdXQoKSBhbmltYXRpb24/OiAncm90YXRlJztcbiAgQElucHV0KCkgc2xpZGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBzdHlsZUNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBiYWRnZT86IEJ1dHRvbkJhZGdlQ29uZmlnO1xuXG4gIHByaXZhdGUgX21lbnVPcHRpb25zOiBCdXR0b25NZW51SXRlbURhdGFbXSA9IFtdO1xuICBwcml2YXRlIF9sZWdhY3lNZW51T3B0aW9uczogQnV0dG9uTWVudUl0ZW1EYXRhW10gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbWVudUNvbnRleHQ/OiB1bmtub3duO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBtZW51T3B0aW9ucyh2YWx1ZTogQnV0dG9uTWVudUl0ZW1EYXRhW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbWVudU9wdGlvbnMgPSB2YWx1ZSA/PyBbXTtcbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBnZXQgbWVudU9wdGlvbnMoKTogQnV0dG9uTWVudUl0ZW1EYXRhW10ge1xuICAgIHJldHVybiB0aGlzLl9sZWdhY3lNZW51T3B0aW9ucyA/PyB0aGlzLl9tZW51T3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBtZW51Q29udGV4dCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX21lbnVDb250ZXh0ID0gdmFsdWU7XG4gICAgdGhpcy5yZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpO1xuICB9XG5cbiAgZ2V0IG1lbnVDb250ZXh0KCk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLl9tZW51Q29udGV4dDtcbiAgfVxuXG4gIEBJbnB1dCgnbW9kZWwnKVxuICBzZXQgbGVnYWN5TW9kZWwodmFsdWU6IEJ1dHRvbkxlZ2FjeU1lbnVJdGVtW10gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWU/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPSB0aGlzLm1hcExlZ2FjeU1lbnUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9sZWdhY3lNZW51T3B0aW9ucyA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5yZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpO1xuICB9XG5cbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51UGFuZWxDbGFzcyA9IEJVVFRPTl9NRU5VX1BBTkVMX0NMQVNTO1xuICBwcm90ZWN0ZWQgcmVzb2x2ZWRNZW51T3B0aW9uczogQnV0dG9uTWVudUl0ZW1EYXRhW10gPSBbXTtcbiAgcHJvdGVjdGVkIG1lbnVPcGVuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gIHByb3RlY3RlZCBnZXQgaG9zdFdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2lkdGhTdHlsZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgd2lkdGhTdHlsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcoZ2V0RGltZW5zaW9uU3R5bGVzKCd3aWR0aCcsIHRoaXMud2lkdGgpWyd3aWR0aCddID8/ICdhdXRvJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGhhc01lbnUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRNZW51T3B0aW9ucy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0ludGVyYWN0aW9uQmxvY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkNsYXNzZXMoKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4ge1xuICAgIGNvbnN0IGN1c3RvbUNsYXNzZXMgPSAodGhpcy5zdHlsZUNsYXNzID8/ICcnKVxuICAgICAgLnNwbGl0KC9cXHMrLylcbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KChhY2N1bXVsYXRvciwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgIGFjY3VtdWxhdG9yW2NsYXNzTmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9LCB7fSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3VzdG9tQ2xhc3NlcyxcbiAgICAgICdzLWJ1dHRvbi1hdXhpbGlhcnknOiB0aGlzLmF1eGlsaWFyeSxcbiAgICAgICdzLWJ1dHRvbi1yb3VuZGVkJzogdGhpcy5yb3VuZGVkLFxuICAgICAgJ3MtYnV0dG9uLXdpdGgtaWNvbic6ICEhdGhpcy5pY29uLFxuICAgICAgJ3MtYnV0dG9uLXdpdGgtdGV4dCc6ICEhdGhpcy5sYWJlbCxcbiAgICAgICdzLWJ1dHRvbi1vbmx5LWljb24nOiAhIXRoaXMuaWNvbiAmJiAhdGhpcy5sYWJlbCAmJiAhdGhpcy5oYXNNZW51LFxuICAgICAgJ3MtYnV0dG9uLWVtcHR5JzogIXRoaXMuaWNvbiAmJiAhdGhpcy5sYWJlbCxcbiAgICAgICdzLWJ1dHRvbi1zaXplLWRlZmF1bHQnOiB0aGlzLnNpemUgPT09ICdkZWZhdWx0JyxcbiAgICAgICdzLWJ1dHRvbi1zaXplLXNtYWxsJzogdGhpcy5zaXplID09PSAnc21hbGwnLFxuICAgICAgJ3MtYnV0dG9uLXByaW9yaXR5LWRlZmF1bHQnOiB0aGlzLnByaW9yaXR5ID09PSAnZGVmYXVsdCcsXG4gICAgICAncy1idXR0b24tcHJpb3JpdHktcHJpbWFyeSc6IHRoaXMucHJpb3JpdHkgPT09ICdwcmltYXJ5JyxcbiAgICAgICdzLWJ1dHRvbi1wcmlvcml0eS1zZWNvbmRhcnknOiB0aGlzLnByaW9yaXR5ID09PSAnc2Vjb25kYXJ5JyxcbiAgICAgICdzLWJ1dHRvbi1wcmlvcml0eS1saW5rJzogdGhpcy5wcmlvcml0eSA9PT0gJ2xpbmsnLFxuICAgICAgJ3MtYnV0dG9uLXByaW9yaXR5LWRhbmdlcic6IHRoaXMucHJpb3JpdHkgPT09ICdkYW5nZXInLFxuICAgICAgJ3MtYnV0dG9uLXByaW9yaXR5LW91dGxpbmUnOiB0aGlzLnByaW9yaXR5ID09PSAnb3V0bGluZScsXG4gICAgICAncy1idXR0b24tbXVsdGlwbGUnOiAodGhpcy5jYXJldCAmJiB0aGlzLmhhc01lbnUpIHx8ICEhdGhpcy5yaWdodEljb24sXG4gICAgICAncy1idXR0b24tLXNsaWRlJzogdGhpcy52YWxpZGF0ZVNsaWRlQnV0dG9uKCksXG4gICAgICAncy1idXR0b24tLXJvdGF0ZS1hbmltYXRpb24nOiB0aGlzLmlzUm90YXRlQW5pbWF0aW9uKCksXG4gICAgICAncy1idXR0b24tLWxvYWRpbmcnOiB0aGlzLmxvYWRpbmcsXG4gICAgICAncy1idXR0b24tYWN0aXZlJzogdGhpcy5tZW51T3BlblxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbkhvc3RDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ludGVyYWN0aW9uQmxvY2tlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC50YXJnZXQgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0ludGVyYWN0aW9uQmxvY2tlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xpY2tlZC5lbWl0KGV2ZW50KTtcblxuICAgIGlmICghdGhpcy5oYXNNZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm1lbnVPcGVuID0gIXRoaXMubWVudU9wZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlTWVudUFjdGlvbihldmVudDogQnV0dG9uTWVudUFjdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50Lml0ZW0uZGlzYWJsZWQgfHwgZXZlbnQuaXRlbS5kaXZpZGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQuaXRlbS5jb21tYW5kPy4oZXZlbnQub3JpZ2luYWxFdmVudCk7XG4gICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTWVudU9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubWVudU9wZW4gPSBvcGVuO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMgPSB0aGlzLndyYXBNZW51Q29tbWFuZHModGhpcy5tZW51T3B0aW9ucyk7XG4gICAgdGhpcy5tZW51T3BlbiA9IHRoaXMubWVudU9wZW4gJiYgdGhpcy5yZXNvbHZlZE1lbnVPcHRpb25zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIHdyYXBNZW51Q29tbWFuZHMoaXRlbXM6IEJ1dHRvbk1lbnVJdGVtRGF0YVtdID0gW10pOiBCdXR0b25NZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnZpc2libGUgIT09IGZhbHNlKVxuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBvcmlnaW5hbENvbW1hbmQgPSBpdGVtLmNvbW1hbmQgYXMgKChwYXlsb2FkPzogdW5rbm93bikgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHN1Ym1lbnUgPSBpdGVtLnN1Ym1lbnU/Lmxlbmd0aCA/IHRoaXMud3JhcE1lbnVDb21tYW5kcyhpdGVtLnN1Ym1lbnUpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IHdyYXBwZWRJdGVtOiBCdXR0b25NZW51SXRlbURhdGEgPSB7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICBzdWJtZW51XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG9yaWdpbmFsQ29tbWFuZCkge1xuICAgICAgICAgIHdyYXBwZWRJdGVtLmNvbW1hbmQgPSAob3JpZ2luYWxFdmVudD86IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IEJ1dHRvbk1lbnVDb21tYW5kUGF5bG9hZCA9IHtcbiAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCxcbiAgICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHQsXG4gICAgICAgICAgICAgIGl0ZW06IHdyYXBwZWRJdGVtLFxuICAgICAgICAgICAgICBkYXRhOiBpdGVtLmRhdGFcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBvcmlnaW5hbENvbW1hbmQocGF5bG9hZCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB3cmFwcGVkSXRlbTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBMZWdhY3lNZW51KGl0ZW1zOiBCdXR0b25MZWdhY3lNZW51SXRlbVtdID0gW10pOiBCdXR0b25NZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uc2VwYXJhdG9yKSB7XG4gICAgICAgIHJldHVybiB7IGRpdmlkZXI6IHRydWUgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6IGl0ZW0ubGFiZWwgPz8gJycsXG4gICAgICAgIGljb25DbGFzczogaXRlbS5pY29uLFxuICAgICAgICBkaXNhYmxlZDogISFpdGVtLmRpc2FibGVkLFxuICAgICAgICB2aXNpYmxlOiBpdGVtLnZpc2libGUsXG4gICAgICAgIGRhdGFLZXk6IGl0ZW0uZGF0YUtleSxcbiAgICAgICAgZGF0YTogaXRlbS5kYXRhLFxuICAgICAgICBjb21tYW5kOiBpdGVtLmNvbW1hbmRcbiAgICAgICAgICA/IChvcmlnaW5hbEV2ZW50PzogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICAgICAgaXRlbS5jb21tYW5kPy4oe1xuICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgICBjb250ZXh0OiB0aGlzLl9tZW51Q29udGV4dFxuICAgICAgICAgICAgfSBhcyBuZXZlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBzdWJtZW51OiBpdGVtLml0ZW1zPy5sZW5ndGggPyB0aGlzLm1hcExlZ2FjeU1lbnUoaXRlbS5pdGVtcykgOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlU2xpZGVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMuc2xpZGUgJiYgKHRoaXMucHJpb3JpdHkgPT09ICdkZWZhdWx0JyB8fCB0aGlzLnByaW9yaXR5ID09PSAnbGluaycpICYmIHRoaXMubGFiZWw/Lmxlbmd0aCk7XG4gIH1cblxuICBwcml2YXRlIGlzUm90YXRlQW5pbWF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFuaW1hdGlvbiA9PT0gJ3JvdGF0ZSc7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYnV0dG9uU3VyZmFjZT5cbiAgPHNkYy10b29sdGlwXG4gICAgW3BUb29sdGlwXT1cInRvb2x0aXAgPyAodG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICBbZml0Q29udGVudF09XCJmYWxzZVwiXG4gICAgW3Rvb2x0aXBEaXNhYmxlZF09XCIhdG9vbHRpcFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLWJ1dHRvbi1lbFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgY2xhc3M9XCJzLWJ1dHRvblwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImJ1dHRvbkNsYXNzZXNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXG4gICAgICAgIFthdHRyLmFyaWEtYnVzeV09XCJsb2FkaW5nXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyAoYXJpYUxhYmVsIHwgdHJhbnNsYXRlKSA6IChsYWJlbCA/IChsYWJlbCB8IHRyYW5zbGF0ZSkgOiBudWxsKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaGFzTWVudSA/ICdtZW51JyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImhhc01lbnUgPyBtZW51T3BlbiA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAobG9hZGluZykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicy1idXR0b24tbG9hZGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInMtYnV0dG9uLWxvYWRlcl9fc3Bpbm5lclwiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzLWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImljb25cIlxuICAgICAgICAgICAgW2NsYXNzLnMtYnV0dG9uLWljb24tbWFyZ2luLXJpZ2h0XT1cIiFsYWJlbCAmJiBjYXJldCAmJiBoYXNNZW51XCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAobGFiZWwpIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzLWJ1dHRvbi10ZXh0XCJcbiAgICAgICAgICAgIFtjbGFzcy5zLWJ1dHRvbi1pY29uLW1hcmdpbi1yaWdodF09XCIhIXJpZ2h0SWNvbiB8fCAoY2FyZXQgJiYgaGFzTWVudSlcIlxuICAgICAgICAgICAgW2NsYXNzLnMtYnV0dG9uLWljb24tbWFyZ2luLWxlZnRdPVwiISFpY29uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAocmlnaHRJY29uKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzLWJ1dHRvbi1yaWdodC1pY29uXCIgW25nQ2xhc3NdPVwicmlnaHRJY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjYXJldCAmJiBoYXNNZW51KSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LW9wdGlvbnMtaWNvbiBzLWJ1dHRvbi1tZW51LWljb24gZmFzIGZhLWZ3IGZhLWNoZXZyb24tZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvc2RjLXRvb2x0aXA+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwic2RjLWJ1dHRvbi13cmFwcGVyXCIgW2NsYXNzLnNkYy1idXR0b24td3JhcHBlci0td2l0aC1iYWRnZV09XCIhIWJhZGdlXCI+XG4gIEBpZiAoaGFzTWVudSkge1xuICAgIDxzZGMtcG9wb3ZlclxuICAgICAgW29wZW5dPVwibWVudU9wZW5cIlxuICAgICAgW3RvZ2dsZU9uVHJpZ2dlckNsaWNrXT1cImZhbHNlXCJcbiAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgICAgW2Nsb3NlT25Fc2NhcGVdPVwidHJ1ZVwiXG4gICAgICBbcmVzdG9yZUZvY3VzT25DbG9zZV09XCJ0cnVlXCJcbiAgICAgIFtwYW5lbENsYXNzXT1cIm1lbnVQYW5lbENsYXNzXCJcbiAgICAgIChvcGVuQ2hhbmdlKT1cIm9uTWVudU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBzZGMtcG9wb3Zlci10cmlnZ2VyIGNsYXNzPVwic2RjLWJ1dHRvbi10cmlnZ2VyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uU3VyZmFjZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgc2RjLXBvcG92ZXItY29udGVudFxuICAgICAgICBjbGFzcz1cInNkYy1idXR0b24tbWVudS1wYW5lbFwiXG4gICAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyAoYXJpYUxhYmVsIHwgdHJhbnNsYXRlKSA6IChsYWJlbCA/IChsYWJlbCB8IHRyYW5zbGF0ZSkgOiBudWxsKVwiXG4gICAgICA+XG4gICAgICAgIDxzZGMtYnV0dG9uLW1lbnUgW2l0ZW1zXT1cInJlc29sdmVkTWVudU9wdGlvbnNcIiAoYWN0aW9uKT1cImhhbmRsZU1lbnVBY3Rpb24oJGV2ZW50KVwiPjwvc2RjLWJ1dHRvbi1tZW51PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZGMtcG9wb3Zlcj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25TdXJmYWNlXCI+PC9uZy1jb250YWluZXI+XG4gIH1cblxuICBAaWYgKGJhZGdlKSB7XG4gICAgPGRpdiBjbGFzcz1cImJhZGdlXCI+XG4gICAgICA8c2RjLWJhZGdlIFtjb2xvcl09XCJiYWRnZS5jb2xvclwiIFt0ZXh0XT1cImJhZGdlLnRleHRcIiBbaWNvbkNsYXNzXT1cImJhZGdlLmljb25DbGFzc1wiPjwvc2RjLWJhZGdlPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|