cax-design-system 2.4.1 → 2.6.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/README.md +1 -1
- package/api/confirmation.d.ts +5 -0
- package/autocomplete/autocomplete.d.ts +5 -3
- package/button/button.directive.d.ts +5 -2
- package/chips/chips.d.ts +12 -1
- package/chips/chips.module.d.ts +2 -1
- package/confirmdialog/confirmdialog.d.ts +9 -1
- package/dialog/dialog.d.ts +4 -0
- package/esm2022/api/confirmation.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +12 -8
- package/esm2022/button/button.directive.mjs +36 -4
- package/esm2022/button/button.mjs +2 -2
- package/esm2022/calendar/calendar.mjs +4 -4
- package/esm2022/chips/chips.mjs +56 -17
- package/esm2022/chips/chips.module.mjs +5 -4
- package/esm2022/confirmdialog/confirmdialog.mjs +31 -6
- package/esm2022/dialog/dialog.mjs +18 -3
- package/esm2022/dropdown/dropdown.mjs +3 -3
- package/esm2022/dynamicdialog/dynamicdialog.mjs +3 -3
- package/esm2022/inputgroup/inputgroup.mjs +10 -3
- package/esm2022/inputnumber/inputnumber.mjs +2 -2
- package/esm2022/inputtext/inputtext.component.mjs +2 -2
- package/esm2022/navigation/navigation.interface.mjs +1 -1
- package/esm2022/navigation/navigation.mjs +78 -17
- package/esm2022/selectbutton/public_api.mjs +2 -1
- package/esm2022/selectbutton/selectbutton.mjs +11 -86
- package/esm2022/selectbutton/selectbutton.module.mjs +21 -0
- package/esm2022/sidebar/sidebar.mjs +10 -3
- package/esm2022/speeddial/speeddial.mjs +1 -1
- package/esm2022/splitbutton/splitbutton.mjs +4 -4
- package/esm2022/table/components/column-filter/column-filter.mjs +146 -7
- package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +8 -7
- package/esm2022/table/components/sort-icon/sort-icon.mjs +7 -7
- package/esm2022/table/directives/sortable-column.directive.mjs +6 -6
- package/esm2022/table/table.mjs +114 -77
- package/esm2022/tableconfiguration/tableconfiguration.mjs +3 -3
- package/esm2022/tabview/tabview.mjs +31 -3
- package/esm2022/tabview/tabview.module.mjs +5 -4
- package/esm2022/timeline/timeline.mjs +2 -2
- package/esm2022/tooltip/tooltip.module.mjs +6 -4
- package/fesm2022/cax-design-system-autocomplete.mjs +11 -7
- package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +36 -4
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-calendar.mjs +3 -3
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-chips.mjs +58 -19
- package/fesm2022/cax-design-system-chips.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmdialog.mjs +31 -6
- package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-dialog.mjs +17 -2
- package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +2 -2
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-dynamicdialog.mjs +2 -2
- package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroup.mjs +9 -2
- package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +77 -16
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +12 -70
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +9 -2
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs +3 -3
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +270 -99
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +2 -2
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +34 -5
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +2 -2
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-tooltip.mjs +5 -3
- package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
- package/inputgroup/inputgroup.d.ts +6 -1
- package/navigation/navigation.d.ts +12 -7
- package/navigation/navigation.interface.d.ts +8 -5
- package/package.json +190 -190
- package/resources/cax.min.scss +1 -1
- package/resources/cax.scss +1088 -593
- package/resources/components/autocomplete/autocomplete.scss +77 -6
- package/resources/components/calendar/calendar.scss +9 -10
- package/resources/components/chips/chips.scss +110 -62
- package/resources/components/dialog/dialog.scss +2 -2
- package/resources/components/dropdown/dropdown.scss +6 -0
- package/resources/components/table/table.scss +50 -2
- package/resources/components/tabview/tabview.scss +19 -1
- package/resources/components/timeline/timeline.scss +4 -10
- package/selectbutton/public_api.d.ts +1 -0
- package/selectbutton/selectbutton.d.ts +2 -10
- package/selectbutton/selectbutton.module.d.ts +11 -0
- package/sidebar/sidebar.d.ts +8 -1
- package/splitbutton/splitbutton.d.ts +2 -2
- package/table/components/column-filter/column-filter.d.ts +30 -0
- package/table/directives/sortable-column.directive.d.ts +2 -2
- package/table/table.d.ts +3 -2
- package/tabview/tabview.d.ts +10 -1
- package/tabview/tabview.module.d.ts +2 -1
- package/tooltip/tooltip.module.d.ts +3 -1
|
@@ -527,7 +527,7 @@ export class SpeedDial {
|
|
|
527
527
|
this.unbindDocumentClickListener();
|
|
528
528
|
}
|
|
529
529
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SpeedDial, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
530
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: SpeedDial, selector: "cax-speedDial", inputs: { id: "id", model: "model", visible: "visible", style: "style", className: "className", direction: "direction", transitionDelay: ["transitionDelay", "transitionDelay", numberAttribute], type: "type", radius: ["radius", "radius", numberAttribute], mask: ["mask", "mask", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideOnClickOutside: ["hideOnClickOutside", "hideOnClickOutside", booleanAttribute], buttonStyle: "buttonStyle", buttonClassName: "buttonClassName", maskStyle: "maskStyle", maskClassName: "maskClassName", showIcon: "showIcon", hideIcon: "hideIcon", rotateAnimation: ["rotateAnimation", "rotateAnimation", booleanAttribute], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onVisibleChange: "onVisibleChange", visibleChange: "visibleChange", onClick: "onClick", onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "\r\n <div #container [ngClass]=\"containerClass()\" [class]=\"className\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'speeddial'\" [attr.data-pc-section]=\"'root'\">\r\n <button\r\n caxRipple\r\n caxButton\r\n class=\"cax-button-icon-only\"\r\n [ngStyle]=\"buttonStyle\"\r\n [icon]=\"buttonIconClass\"\r\n [ngClass]=\"buttonClass()\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-expanded]=\"visible\"\r\n [attr.aria-haspopup]=\"true\"\r\n [attr.aria-controls]=\"id + '_list'\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n (click)=\"onButtonClick($event)\"\r\n (keydown)=\"onTogglerKeydown($event)\"\r\n [attr.data-pc-name]=\"'button'\"\r\n >\r\n <PlusIcon *ngIf=\"!showIcon && !buttonTemplate\" />\r\n <ng-container *ngIf=\"buttonTemplate\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ng-container>\r\n </button>\r\n <ul\r\n #list\r\n class=\"cax-speeddial-list\"\r\n role=\"menu\"\r\n [id]=\"id + '_list'\"\r\n (focus)=\"onFocus($event)\"\r\n (focusout)=\"onBlur($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n [tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'menu'\"\r\n >\r\n <li\r\n *ngFor=\"let item of model; let i = index\"\r\n [ngStyle]=\"getItemStyle(i)\"\r\n class=\"cax-speeddial-item\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId == id + '_' + i }\"\r\n [id]=\"id + '_' + i\"\r\n [attr.aria-controls]=\"id + '_item'\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n >\r\n <ng-container *ngIf=\"itemTemplate\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!itemTemplate\">\r\n <a\r\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\r\n caxRipple\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n class=\"cax-speeddial-action\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n role=\"menuitem\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [attr.target]=\"item.target\"\r\n [attr.tabindex]=\"item.disabled || readonly || !visible ? null : item.tabindex ? item.tabindex : '0'\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n [attr.aria-label]=\"item.label\"\r\n [attr.data-pc-section]=\"'action'\"\r\n >\r\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\r\n </a>\r\n <ng-template #elseBlock>\r\n <a\r\n [attr.href]=\"item.url || null\"\r\n class=\"cax-speeddial-action\"\r\n role=\"menuitem\"\r\n caxRipple\r\n (click)=\"onItemClick($event, item)\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [attr.target]=\"item.target\"\r\n [attr.data-pc-section]=\"'action'\"\r\n [attr.aria-label]=\"item.label\"\r\n [attr.tabindex]=\"item.disabled || (i !== activeIndex && readonly) || !visible ? null : item.tabindex ? item.tabindex : '0'\"\r\n >\r\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"mask && visible\" [ngClass]=\"{ 'cax-speeddial-mask': true, 'cax-speeddial-mask-visible': visible }\" [class]=\"maskClassName\" [ngStyle]=\"maskStyle\"></div>\r\n ", styles: ["@layer cax{.cax-speeddial{position:absolute;display:flex;z-index:1}.cax-speeddial:not(.cax-speeddial-opened){pointer-events:none}.cax-speeddial:not(.cax-speeddial-opened) .cax-speeddial-button{pointer-events:auto}.cax-speeddial-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;justify-content:center;transition:top 0s linear .2s;pointer-events:none}.cax-speeddial-item{transform:scale(0);opacity:0;transition:transform .2s cubic-bezier(.4,0,.2,1) 0ms,opacity .8s;will-change:transform}.cax-speeddial-action{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;overflow:hidden;cursor:pointer}.cax-speeddial-circle .cax-speeddial-item,.cax-speeddial-semi-circle .cax-speeddial-item,.cax-speeddial-quarter-circle .cax-speeddial-item{position:absolute}.cax-speeddial-rotate{transition:transform .25s cubic-bezier(.4,0,.2,1) 0ms;will-change:transform}.cax-speeddial-mask{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .25s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-mask-visible{pointer-events:none;opacity:1;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-opened .cax-speeddial-list{pointer-events:auto}.cax-speeddial-opened .cax-speeddial-item{transform:scale(1);opacity:1}.cax-speeddial-opened .cax-speeddial-rotate{transform:rotate(45deg)}.cax-speeddial-direction-up{align-items:center;flex-direction:column-reverse}.cax-speeddial-direction-up .cax-speeddial-list{flex-direction:column-reverse}.cax-speeddial-direction-down{align-items:center;flex-direction:column}.cax-speeddial-direction-down .cax-speeddial-list{flex-direction:column}.cax-speeddial-direction-left{justify-content:center;flex-direction:row-reverse}.cax-speeddial-direction-left .cax-speeddial-list{flex-direction:row-reverse}.cax-speeddial-direction-right{justify-content:center;flex-direction:row}.cax-speeddial-direction-right .cax-speeddial-list{flex-direction:row}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "directive", type: i4.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.PlusIcon, selector: "PlusIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
530
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: SpeedDial, selector: "cax-speedDial", inputs: { id: "id", model: "model", visible: "visible", style: "style", className: "className", direction: "direction", transitionDelay: ["transitionDelay", "transitionDelay", numberAttribute], type: "type", radius: ["radius", "radius", numberAttribute], mask: ["mask", "mask", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideOnClickOutside: ["hideOnClickOutside", "hideOnClickOutside", booleanAttribute], buttonStyle: "buttonStyle", buttonClassName: "buttonClassName", maskStyle: "maskStyle", maskClassName: "maskClassName", showIcon: "showIcon", hideIcon: "hideIcon", rotateAnimation: ["rotateAnimation", "rotateAnimation", booleanAttribute], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onVisibleChange: "onVisibleChange", visibleChange: "visibleChange", onClick: "onClick", onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "\r\n <div #container [ngClass]=\"containerClass()\" [class]=\"className\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'speeddial'\" [attr.data-pc-section]=\"'root'\">\r\n <button\r\n caxRipple\r\n caxButton\r\n class=\"cax-button-icon-only\"\r\n [ngStyle]=\"buttonStyle\"\r\n [icon]=\"buttonIconClass\"\r\n [ngClass]=\"buttonClass()\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-expanded]=\"visible\"\r\n [attr.aria-haspopup]=\"true\"\r\n [attr.aria-controls]=\"id + '_list'\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n (click)=\"onButtonClick($event)\"\r\n (keydown)=\"onTogglerKeydown($event)\"\r\n [attr.data-pc-name]=\"'button'\"\r\n >\r\n <PlusIcon *ngIf=\"!showIcon && !buttonTemplate\" />\r\n <ng-container *ngIf=\"buttonTemplate\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ng-container>\r\n </button>\r\n <ul\r\n #list\r\n class=\"cax-speeddial-list\"\r\n role=\"menu\"\r\n [id]=\"id + '_list'\"\r\n (focus)=\"onFocus($event)\"\r\n (focusout)=\"onBlur($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n [tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'menu'\"\r\n >\r\n <li\r\n *ngFor=\"let item of model; let i = index\"\r\n [ngStyle]=\"getItemStyle(i)\"\r\n class=\"cax-speeddial-item\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId == id + '_' + i }\"\r\n [id]=\"id + '_' + i\"\r\n [attr.aria-controls]=\"id + '_item'\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n >\r\n <ng-container *ngIf=\"itemTemplate\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!itemTemplate\">\r\n <a\r\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\r\n caxRipple\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n class=\"cax-speeddial-action\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n role=\"menuitem\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [attr.target]=\"item.target\"\r\n [attr.tabindex]=\"item.disabled || readonly || !visible ? null : item.tabindex ? item.tabindex : '0'\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n [attr.aria-label]=\"item.label\"\r\n [attr.data-pc-section]=\"'action'\"\r\n >\r\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\r\n </a>\r\n <ng-template #elseBlock>\r\n <a\r\n [attr.href]=\"item.url || null\"\r\n class=\"cax-speeddial-action\"\r\n role=\"menuitem\"\r\n caxRipple\r\n (click)=\"onItemClick($event, item)\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [attr.target]=\"item.target\"\r\n [attr.data-pc-section]=\"'action'\"\r\n [attr.aria-label]=\"item.label\"\r\n [attr.tabindex]=\"item.disabled || (i !== activeIndex && readonly) || !visible ? null : item.tabindex ? item.tabindex : '0'\"\r\n >\r\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"mask && visible\" [ngClass]=\"{ 'cax-speeddial-mask': true, 'cax-speeddial-mask-visible': visible }\" [class]=\"maskClassName\" [ngStyle]=\"maskStyle\"></div>\r\n ", styles: ["@layer cax{.cax-speeddial{position:absolute;display:flex;z-index:1}.cax-speeddial:not(.cax-speeddial-opened){pointer-events:none}.cax-speeddial:not(.cax-speeddial-opened) .cax-speeddial-button{pointer-events:auto}.cax-speeddial-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;justify-content:center;transition:top 0s linear .2s;pointer-events:none}.cax-speeddial-item{transform:scale(0);opacity:0;transition:transform .2s cubic-bezier(.4,0,.2,1) 0ms,opacity .8s;will-change:transform}.cax-speeddial-action{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;overflow:hidden;cursor:pointer}.cax-speeddial-circle .cax-speeddial-item,.cax-speeddial-semi-circle .cax-speeddial-item,.cax-speeddial-quarter-circle .cax-speeddial-item{position:absolute}.cax-speeddial-rotate{transition:transform .25s cubic-bezier(.4,0,.2,1) 0ms;will-change:transform}.cax-speeddial-mask{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .25s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-mask-visible{pointer-events:none;opacity:1;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-opened .cax-speeddial-list{pointer-events:auto}.cax-speeddial-opened .cax-speeddial-item{transform:scale(1);opacity:1}.cax-speeddial-opened .cax-speeddial-rotate{transform:rotate(45deg)}.cax-speeddial-direction-up{align-items:center;flex-direction:column-reverse}.cax-speeddial-direction-up .cax-speeddial-list{flex-direction:column-reverse}.cax-speeddial-direction-down{align-items:center;flex-direction:column}.cax-speeddial-direction-down .cax-speeddial-list{flex-direction:column}.cax-speeddial-direction-left{justify-content:center;flex-direction:row-reverse}.cax-speeddial-direction-left .cax-speeddial-list{flex-direction:row-reverse}.cax-speeddial-direction-right{justify-content:center;flex-direction:row}.cax-speeddial-direction-right .cax-speeddial-list{flex-direction:row}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "directive", type: i4.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.PlusIcon, selector: "PlusIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
531
531
|
}
|
|
532
532
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SpeedDial, decorators: [{
|
|
533
533
|
type: Component,
|
|
@@ -48,7 +48,7 @@ export class SplitButton {
|
|
|
48
48
|
* Defines the size of the button.
|
|
49
49
|
* @group Props
|
|
50
50
|
*/
|
|
51
|
-
size =
|
|
51
|
+
size = 'medium';
|
|
52
52
|
/**
|
|
53
53
|
* Add a plain textual class to the button without a background initially.
|
|
54
54
|
* @group Props
|
|
@@ -271,13 +271,13 @@ export class SplitButton {
|
|
|
271
271
|
this.onMenuShow.emit();
|
|
272
272
|
}
|
|
273
273
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SplitButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
274
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: SplitButton, selector: "cax-splitButton", inputs: { model: "model", severity: "severity", raised: ["raised", "raised", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], text: ["text", "text", booleanAttribute], outlined: ["outlined", "outlined", booleanAttribute], size: "size", plain: ["plain", "plain", booleanAttribute], icon: "icon", iconPos: "iconPos", label: "label", tooltip: "tooltip", tooltipOptions: "tooltipOptions", style: "style", styleClass: "styleClass", menuStyle: "menuStyle", menuStyleClass: "menuStyleClass", appendTo: "appendTo", dir: "dir", expandAriaLabel: "expandAriaLabel", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", buttonProps: "buttonProps", menuButtonProps: "menuButtonProps", autofocus: ["autofocus", "autofocus", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], menuButtonDisabled: "menuButtonDisabled", buttonDisabled: "buttonDisabled" }, outputs: { onClick: "onClick", onMenuHide: "onMenuHide", onMenuShow: "onMenuShow", onDropdownClick: "onDropdownClick" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "buttonViewChild", first: true, predicate: ["defaultbtn"], descendants: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #container [ngClass]=\"containerClass\" [class]=\"styleClass\" [ngStyle]=\"style\">\r\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\r\n <button\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel'] || label\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultButton>\r\n <button\r\n #defaultbtn\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n [label]=\"label\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"buttonDisabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel']\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n ></button>\r\n </ng-template>\r\n <div class=\"cax-splitbutton-divider\"></div>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n class=\"cax-splitbutton-menubutton cax-button-icon-only\"\r\n (click)=\"onDropdownButtonClick($event)\"\r\n (keydown)=\"onDropdownButtonKeydown($event)\"\r\n [ariaLabel]=\"menuButtonProps?.['ariaLabel'] || expandAriaLabel\"\r\n [attr.aria-haspopup]=\"menuButtonProps?.['ariaHasPopup'] || true\"\r\n [attr.aria-expanded]=\"menuButtonProps?.['ariaExpanded'] || isExpanded()\"\r\n [attr.aria-controls]=\"menuButtonProps?.['ariaControls'] || ariaId\"\r\n >\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !isMenuOpen\" />\r\n <ChevronUpIcon *ngIf=\"!dropdownIconTemplate && isMenuOpen\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </button>\r\n <cax-tieredMenu\r\n [id]=\"ariaId\"\r\n #menu\r\n [ngStyle]=\"{ 'position': '
|
|
274
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: SplitButton, selector: "cax-splitButton", inputs: { model: "model", severity: "severity", raised: ["raised", "raised", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], text: ["text", "text", booleanAttribute], outlined: ["outlined", "outlined", booleanAttribute], size: "size", plain: ["plain", "plain", booleanAttribute], icon: "icon", iconPos: "iconPos", label: "label", tooltip: "tooltip", tooltipOptions: "tooltipOptions", style: "style", styleClass: "styleClass", menuStyle: "menuStyle", menuStyleClass: "menuStyleClass", appendTo: "appendTo", dir: "dir", expandAriaLabel: "expandAriaLabel", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", buttonProps: "buttonProps", menuButtonProps: "menuButtonProps", autofocus: ["autofocus", "autofocus", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], menuButtonDisabled: "menuButtonDisabled", buttonDisabled: "buttonDisabled" }, outputs: { onClick: "onClick", onMenuHide: "onMenuHide", onMenuShow: "onMenuShow", onDropdownClick: "onDropdownClick" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "buttonViewChild", first: true, predicate: ["defaultbtn"], descendants: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: "<div #container [ngClass]=\"containerClass\" [class]=\"styleClass\" [ngStyle]=\"style\">\r\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\r\n <button\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel'] || label\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultButton>\r\n <button\r\n #defaultbtn\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n [label]=\"label\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"buttonDisabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel']\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n ></button>\r\n </ng-template>\r\n <div class=\"cax-splitbutton-divider\"></div>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n class=\"cax-splitbutton-menubutton cax-button-icon-only\"\r\n (click)=\"onDropdownButtonClick($event)\"\r\n (keydown)=\"onDropdownButtonKeydown($event)\"\r\n [ariaLabel]=\"menuButtonProps?.['ariaLabel'] || expandAriaLabel\"\r\n [attr.aria-haspopup]=\"menuButtonProps?.['ariaHasPopup'] || true\"\r\n [attr.aria-expanded]=\"menuButtonProps?.['ariaExpanded'] || isExpanded()\"\r\n [attr.aria-controls]=\"menuButtonProps?.['ariaControls'] || ariaId\"\r\n >\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !isMenuOpen\" />\r\n <ChevronUpIcon *ngIf=\"!dropdownIconTemplate && isMenuOpen\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </button>\r\n <cax-tieredMenu\r\n [id]=\"ariaId\"\r\n #menu\r\n [ngStyle]=\"{ 'position': 'absolute', 'z-index': '9999' }\"\r\n [popup]=\"true\"\r\n [model]=\"model\"\r\n [style]=\"menuStyle\"\r\n [styleClass]=\"menuStyleClass\"\r\n [appendTo]=\"'body'\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onHide)=\"onHide()\"\r\n (onShow)=\"onShow()\"\r\n ></cax-tieredMenu>\r\n</div>\r\n", styles: ["@layer cax{.cax-splitbutton{display:inline-flex;position:relative}.cax-splitbutton .cax-splitbutton-defaultbutton,.cax-splitbutton.cax-button-rounded>.cax-splitbutton-defaultbutton.cax-button,.cax-splitbutton.cax-button-outlined>.cax-splitbutton-defaultbutton.cax-button{flex:1 1 auto;padding:var(--space-100) var(--space-150) var(--space-100) var(--space-150)!important;border-top-left-radius:var(--radius-100)!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:var(--radius-100)!important;border-right:0 none}.cax-splitbutton-menubutton,.cax-splitbutton.cax-button-rounded>.cax-splitbutton-menubutton.cax-button,.cax-splitbutton.cax-button-outlined>.cax-splitbutton-menubutton.cax-button{display:flex;align-items:center;justify-content:center;border-top-left-radius:0!important;border-top-right-radius:var(--radius-100)!important;border-bottom-right-radius:var(--radius-100)!important;border-bottom-left-radius:0!important}.cax-splitbutton .cax-menu{min-width:100%}.cax-fluid .cax-splitbutton{display:flex}.cax-splitbutton-divider{width:8px;display:inline-block}.cax-splitbutton-divider{width:0px;height:100%;background-color:#dcdcdc;margin:0 1px;display:inline-block;vertical-align:middle}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "component", type: i3.TieredMenu, selector: "cax-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i4.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "directive", type: i5.AutoFocus, selector: "[caxAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: i6.ChevronDownIcon, selector: "ChevronDownIcon" }, { kind: "component", type: i7.ChevronUpIcon, selector: "ChevronUpIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
275
275
|
}
|
|
276
276
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SplitButton, decorators: [{
|
|
277
277
|
type: Component,
|
|
278
278
|
args: [{ selector: 'cax-splitButton', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
279
279
|
class: 'cax-element'
|
|
280
|
-
}, template: "<div #container [ngClass]=\"containerClass\" [class]=\"styleClass\" [ngStyle]=\"style\">\r\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\r\n <button\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel'] || label\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultButton>\r\n <button\r\n #defaultbtn\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n [label]=\"label\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"buttonDisabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel']\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n ></button>\r\n </ng-template>\r\n <div class=\"cax-splitbutton-divider\"></div>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n class=\"cax-splitbutton-menubutton cax-button-icon-only\"\r\n (click)=\"onDropdownButtonClick($event)\"\r\n (keydown)=\"onDropdownButtonKeydown($event)\"\r\n [ariaLabel]=\"menuButtonProps?.['ariaLabel'] || expandAriaLabel\"\r\n [attr.aria-haspopup]=\"menuButtonProps?.['ariaHasPopup'] || true\"\r\n [attr.aria-expanded]=\"menuButtonProps?.['ariaExpanded'] || isExpanded()\"\r\n [attr.aria-controls]=\"menuButtonProps?.['ariaControls'] || ariaId\"\r\n >\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !isMenuOpen\" />\r\n <ChevronUpIcon *ngIf=\"!dropdownIconTemplate && isMenuOpen\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </button>\r\n <cax-tieredMenu\r\n [id]=\"ariaId\"\r\n #menu\r\n [ngStyle]=\"{ 'position': '
|
|
280
|
+
}, template: "<div #container [ngClass]=\"containerClass\" [class]=\"styleClass\" [ngStyle]=\"style\">\r\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\r\n <button\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel'] || label\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultButton>\r\n <button\r\n #defaultbtn\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n [label]=\"label\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"buttonDisabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel']\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n ></button>\r\n </ng-template>\r\n <div class=\"cax-splitbutton-divider\"></div>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n class=\"cax-splitbutton-menubutton cax-button-icon-only\"\r\n (click)=\"onDropdownButtonClick($event)\"\r\n (keydown)=\"onDropdownButtonKeydown($event)\"\r\n [ariaLabel]=\"menuButtonProps?.['ariaLabel'] || expandAriaLabel\"\r\n [attr.aria-haspopup]=\"menuButtonProps?.['ariaHasPopup'] || true\"\r\n [attr.aria-expanded]=\"menuButtonProps?.['ariaExpanded'] || isExpanded()\"\r\n [attr.aria-controls]=\"menuButtonProps?.['ariaControls'] || ariaId\"\r\n >\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !isMenuOpen\" />\r\n <ChevronUpIcon *ngIf=\"!dropdownIconTemplate && isMenuOpen\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </button>\r\n <cax-tieredMenu\r\n [id]=\"ariaId\"\r\n #menu\r\n [ngStyle]=\"{ 'position': 'absolute', 'z-index': '9999' }\"\r\n [popup]=\"true\"\r\n [model]=\"model\"\r\n [style]=\"menuStyle\"\r\n [styleClass]=\"menuStyleClass\"\r\n [appendTo]=\"'body'\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onHide)=\"onHide()\"\r\n (onShow)=\"onShow()\"\r\n ></cax-tieredMenu>\r\n</div>\r\n", styles: ["@layer cax{.cax-splitbutton{display:inline-flex;position:relative}.cax-splitbutton .cax-splitbutton-defaultbutton,.cax-splitbutton.cax-button-rounded>.cax-splitbutton-defaultbutton.cax-button,.cax-splitbutton.cax-button-outlined>.cax-splitbutton-defaultbutton.cax-button{flex:1 1 auto;padding:var(--space-100) var(--space-150) var(--space-100) var(--space-150)!important;border-top-left-radius:var(--radius-100)!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:var(--radius-100)!important;border-right:0 none}.cax-splitbutton-menubutton,.cax-splitbutton.cax-button-rounded>.cax-splitbutton-menubutton.cax-button,.cax-splitbutton.cax-button-outlined>.cax-splitbutton-menubutton.cax-button{display:flex;align-items:center;justify-content:center;border-top-left-radius:0!important;border-top-right-radius:var(--radius-100)!important;border-bottom-right-radius:var(--radius-100)!important;border-bottom-left-radius:0!important}.cax-splitbutton .cax-menu{min-width:100%}.cax-fluid .cax-splitbutton{display:flex}.cax-splitbutton-divider{width:8px;display:inline-block}.cax-splitbutton-divider{width:0px;height:100%;background-color:#dcdcdc;margin:0 1px;display:inline-block;vertical-align:middle}}\n"] }]
|
|
281
281
|
}], propDecorators: { model: [{
|
|
282
282
|
type: Input
|
|
283
283
|
}], severity: [{
|
|
@@ -366,4 +366,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
366
366
|
type: ContentChildren,
|
|
367
367
|
args: [CaxTemplate]
|
|
368
368
|
}] } });
|
|
369
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRidXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc3BsaXRidXR0b24vc3BsaXRidXR0b24udHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc3BsaXRidXR0b24vc3BsaXRidXR0b24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFZLE1BQU0sRUFBMEIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeE8sT0FBTyxFQUFZLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFLNUQ7OztHQUdHO0FBV0gsTUFBTSxPQUFPLFdBQVc7SUFDcEI7OztPQUdHO0lBQ00sS0FBSyxDQUF5QjtJQUN2Qzs7O09BR0c7SUFDTSxRQUFRLENBQStHO0lBQ2hJOzs7T0FHRztJQUNxQyxNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ2hFOzs7T0FHRztJQUNxQyxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ2pFOzs7T0FHRztJQUNxQyxJQUFJLEdBQVksS0FBSyxDQUFDO0lBQzlEOzs7T0FHRztJQUNxQyxRQUFRLEdBQVksS0FBSyxDQUFDO0lBQ2xFOzs7T0FHRztJQUNNLElBQUksR0FBeUMsSUFBSSxDQUFDO0lBQzNEOzs7T0FHRztJQUNxQyxLQUFLLEdBQVksS0FBSyxDQUFDO0lBQy9EOzs7T0FHRztJQUNNLElBQUksQ0FBcUI7SUFDbEM7OztPQUdHO0lBQ00sT0FBTyxHQUE0QixNQUFNLENBQUM7SUFDbkQ7OztPQUdHO0lBQ00sS0FBSyxDQUFxQjtJQUNuQzs7O09BR0c7SUFDTSxPQUFPLENBQXFCO0lB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LFVBQVU7c0JBQW5CLE1BQU07Z0JBTUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFaUIsa0JBQWtCO3NCQUF6QyxTQUFTO3VCQUFDLFdBQVc7Z0JBRUcsZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZO2dCQUVKLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFFYSxTQUFTO3NCQUF0QyxlQUFlO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nTW9kdWxlLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUsIG51bWJlckF0dHJpYnV0ZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSwgQ2F4VGVtcGxhdGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9hcGknO1xuaW1wb3J0IHsgVGllcmVkTWVudSB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL3RpZXJlZG1lbnUnO1xuaW1wb3J0IHsgVW5pcXVlQ29tcG9uZW50SWQgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS91dGlscyc7XG5cbmltcG9ydCB7IEJ1dHRvblByb3BzLCBNZW51QnV0dG9uUHJvcHMgfSBmcm9tICcuL3NwbGl0YnV0dG9uLmludGVyZmFjZSc7XG5cbnR5cGUgU3BsaXRCdXR0b25JY29uUG9zaXRpb24gPSAnbGVmdCcgfCAncmlnaHQnO1xuLyoqXG4gKiBTcGxpdEJ1dHRvbiBncm91cHMgYSBzZXQgb2YgY29tbWFuZHMgaW4gYW4gb3ZlcmxheSB3aXRoIGEgZGVmYXVsdCBjb21tYW5kLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtc3BsaXRCdXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zcGxpdGJ1dHRvbi5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL3NwbGl0YnV0dG9uLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnY2F4LWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdEJ1dHRvbiB7XG4gICAgLyoqXG4gICAgICogTWVudU1vZGVsIGluc3RhbmNlIHRvIGRlZmluZSB0aGUgb3ZlcmxheSBpdGVtcy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtb2RlbDogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBzdHlsZSBvZiB0aGUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICdoZWxwJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2NvbnRyYXN0JyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQWRkIGEgc2hhZG93IHRvIGluZGljYXRlIGVsZXZhdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmFpc2VkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQWRkIGEgY2lyY3VsYXIgYm9yZGVyIHJhZGl1cyB0byB0aGUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByb3VuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQWRkIGEgdGV4dHVhbCBjbGFzcyB0byB0aGUgYnV0dG9uIHdpdGhvdXQgYSBiYWNrZ3JvdW5kIGluaXRpYWxseS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGV4dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEFkZCBhIGJvcmRlciBjbGFzcyB3aXRob3V0IGEgYmFja2dyb3VuZCBpbml0aWFsbHkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG91dGxpbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbGFyZ2UnIHwgdW5kZWZpbmVkIHwgbnVsbCA9IG51bGw7XG4gICAgLyoqXG4gICAgICogQWRkIGEgcGxhaW4gdGV4dHVhbCBjbGFzcyB0byB0aGUgYnV0dG9uIHdpdGhvdXQgYSBiYWNrZ3JvdW5kIGluaXRpYWxseS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcGxhaW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBpY29uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgaWNvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpY29uUG9zOiBTcGxpdEJ1dHRvbkljb25Qb3NpdGlvbiA9ICdsZWZ0JztcbiAgICAvKipcbiAgICAgKiBUZXh0IG9mIHRoZSBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUb29sdGlwIGZvciB0aGUgbWFpbiBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRvb2x0aXAgb3B0aW9ucyBmb3IgdGhlIG1haW4gYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRvb2x0aXBPcHRpb25zOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIG92ZXJsYXkgbWVudS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZW51U3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIG92ZXJsYXkgbWVudS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZW51U3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogIFRhcmdldCBlbGVtZW50IHRvIGF0dGFjaCB0aGUgb3ZlcmxheSwgdmFsaWQgdmFsdWVzIGFyZSBcImJvZHlcIiBvciBhIGxvY2FsIG5nLXRlbXBsYXRlIHZhcmlhYmxlIG9mIGFub3RoZXIgZWxlbWVudCAobm90ZTogdXNlIGJpbmRpbmcgd2l0aCBicmFja2V0cyBmb3IgdGVtcGxhdGUgdmFyaWFibGVzLCBlLmcuIFthcHBlbmRUb109XCJteWRpdlwiIGZvciBhIGRpdiBlbGVtZW50IGhhdmluZyAjbXlkaXYgYXMgdmFyaWFibGUgbmFtZSkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXBwZW5kVG86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHwgYW55O1xuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgYSBzdHJpbmcgdGhhdCBsYWJlbHMgdGhlIGV4cGFuZCBidXR0b24gZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZXhwYW5kQXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBzaG93IGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJztcbiAgICAvKipcbiAgICAgKiBUcmFuc2l0aW9uIG9wdGlvbnMgb2YgdGhlIGhpZGUgYW5pbWF0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xcyBsaW5lYXInO1xuICAgIC8qKlxuICAgICAqIEJ1dHRvbiBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGJ1dHRvblByb3BzOiBCdXR0b25Qcm9wcyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBNZW51IEJ1dHRvbiBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lbnVCdXR0b25Qcm9wczogTWVudUJ1dHRvblByb3BzIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gcHJlc2VudCwgaXQgc3BlY2lmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCBzaG91bGQgYXV0b21hdGljYWxseSBnZXQgZm9jdXMgb24gbG9hZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBpc01lbnVPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9mb2N1czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IHRoZSBlbGVtZW50IHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2V0IGRpc2FibGVkKHY6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2O1xuICAgICAgICB0aGlzLl9idXR0b25EaXNhYmxlZCA9IHY7XG4gICAgICAgIHRoaXMubWVudUJ1dHRvbkRpc2FibGVkID0gdjtcbiAgICB9XG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbmRleCBvZiB0aGUgZWxlbWVudCBpbiB0YWJiaW5nIG9yZGVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgbWVudSBidXR0b24gZWxlbWVudCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCdtZW51QnV0dG9uRGlzYWJsZWQnKSBzZXQgbWVudUJ1dHRvbkRpc2FibGVkKHY6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX21lbnVCdXR0b25EaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIH0gZWxzZSB0aGlzLl9tZW51QnV0dG9uRGlzYWJsZWQgPSB2O1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG1lbnVCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21lbnVCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgYnV0dG9uIGVsZW1lbnQgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCBidXR0b25EaXNhYmxlZCh2OiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgfSBlbHNlIHRoaXMuX2J1dHRvbkRpc2FibGVkID0gdjtcbiAgICB9XG4gICAgcHVibGljIGdldCBidXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc2FibGVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBkZWZhdWx0IGNvbW1hbmQgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCAtIE1vdXNlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gb3ZlcmxheSBtZW51IGlzIGhpZGRlbi5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25NZW51SGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBvdmVybGF5IG1lbnUgaXMgc2hvd24uXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uTWVudVNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZHJvcGRvd24gYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCAtIE1vdXNlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkRyb3Bkb3duQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lclZpZXdDaGlsZDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlZmF1bHRidG4nKSBidXR0b25WaWV3Q2hpbGQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdtZW51JykgbWVudTogVGllcmVkTWVudSB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oQ2F4VGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PENheFRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIGRyb3Bkb3duSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgYXJpYUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpc0V4cGFuZGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgcHJpdmF0ZSBfYnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBwcml2YXRlIF9tZW51QnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hcmlhSWQgPSBVbmlxdWVDb21wb25lbnRJZCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25JY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgY29uc3QgY2xzID0ge1xuICAgICAgICAgICAgJ2NheC1zcGxpdGJ1dHRvbiBjYXgtY29tcG9uZW50JzogdHJ1ZSxcbiAgICAgICAgICAgICdjYXgtYnV0dG9uLXJhaXNlZCc6IHRoaXMucmFpc2VkLFxuICAgICAgICAgICAgJ2NheC1idXR0b24tcm91bmRlZCc6IHRoaXMucm91bmRlZCxcbiAgICAgICAgICAgICdjYXgtYnV0dG9uLW91dGxpbmVkJzogdGhpcy5vdXRsaW5lZCxcbiAgICAgICAgICAgICdjYXgtYnV0dG9uLXRleHQnOiB0aGlzLnRleHQsXG4gICAgICAgICAgICBbYGNheC1idXR0b24tJHt0aGlzLnNpemUgPT09ICdzbWFsbCcgPyAnc20nIDogJ2xnJ31gXTogdGhpcy5zaXplXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHsgLi4uY2xzIH07XG4gICAgfVxuXG4gICAgb25EZWZhdWx0QnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLm1lbnUuaGlkZSgpO1xuICAgIH1cblxuICAgIG9uRHJvcGRvd25CdXR0b25DbGljayhldmVudD86IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gIXRoaXMuaXNNZW51T3BlbjtcbiAgICAgICAgdGhpcy5vbkRyb3Bkb3duQ2xpY2suZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubWVudT8udG9nZ2xlKHsgY3VycmVudFRhcmdldDogdGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQsIHJlbGF0aXZlQWxpZ246IHRoaXMuYXBwZW5kVG8gPT0gbnVsbCB9KTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duQnV0dG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQuY29kZSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICB0aGlzLm9uRHJvcGRvd25CdXR0b25DbGljaygpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSGlkZSgpIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZC5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLm9uTWVudUhpZGUuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uU2hvdygpIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbk1lbnVTaG93LmVtaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2ICNjb250YWluZXIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiIFtuZ1N0eWxlXT1cInN0eWxlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRCdXR0b25cIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2F4LXNwbGl0YnV0dG9uLWRlZmF1bHRidXR0b25cIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgY2F4QnV0dG9uXHJcbiAgICAgICAgICAgIFtzZXZlcml0eV09XCJzZXZlcml0eVwiXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cInRleHRcIlxyXG4gICAgICAgICAgICBbb3V0bGluZWRdPVwib3V0bGluZWRcIlxyXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgICAgICAgIFtpY29uUG9zXT1cImljb25Qb3NcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25EZWZhdWx0QnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcclxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJidXR0b25Qcm9wcz8uWydhcmlhTGFiZWwnXSB8fCBsYWJlbFwiXHJcbiAgICAgICAgICAgIGNheEF1dG9Gb2N1c1xyXG4gICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICAgICAgICAgIFtjYXhUb29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcE9wdGlvbnNdPVwidG9vbHRpcE9wdGlvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRCdXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAjZGVmYXVsdGJ0blxyXG4gICAgICAgICAgICBjbGFzcz1cImNheC1zcGxpdGJ1dHRvbi1kZWZhdWx0YnV0dG9uXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNheEJ1dHRvblxyXG4gICAgICAgICAgICBbc2V2ZXJpdHldPVwic2V2ZXJpdHlcIlxyXG4gICAgICAgICAgICBbdGV4dF09XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW291dGxpbmVkXT1cIm91dGxpbmVkXCJcclxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxyXG4gICAgICAgICAgICBbaWNvblBvc109XCJpY29uUG9zXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVmYXVsdEJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXHJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiYnV0dG9uUHJvcHM/LlsnYXJpYUxhYmVsJ11cIlxyXG4gICAgICAgICAgICBjYXhBdXRvRm9jdXNcclxuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxyXG4gICAgICAgICAgICBbY2F4VG9vbHRpcF09XCJ0b29sdGlwXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBPcHRpb25zXT1cInRvb2x0aXBPcHRpb25zXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNheC1zcGxpdGJ1dHRvbi1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgY2F4QnV0dG9uXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgW3NldmVyaXR5XT1cInNldmVyaXR5XCJcclxuICAgICAgICBbdGV4dF09XCJ0ZXh0XCJcclxuICAgICAgICBbb3V0bGluZWRdPVwib3V0bGluZWRcIlxyXG4gICAgICAgIGNsYXNzPVwiY2F4LXNwbGl0YnV0dG9uLW1lbnVidXR0b24gY2F4LWJ1dHRvbi1pY29uLW9ubHlcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGtleWRvd24pPVwib25Ecm9wZG93bkJ1dHRvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJtZW51QnV0dG9uUHJvcHM/LlsnYXJpYUxhYmVsJ10gfHwgZXhwYW5kQXJpYUxhYmVsXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIm1lbnVCdXR0b25Qcm9wcz8uWydhcmlhSGFzUG9wdXAnXSB8fCB0cnVlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm1lbnVCdXR0b25Qcm9wcz8uWydhcmlhRXhwYW5kZWQnXSB8fCBpc0V4cGFuZGVkKClcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUJ1dHRvblByb3BzPy5bJ2FyaWFDb250cm9scyddIHx8IGFyaWFJZFwiXHJcbiAgICA+XHJcbiAgICAgICAgPENoZXZyb25Eb3duSWNvbiAqbmdJZj1cIiFkcm9wZG93bkljb25UZW1wbGF0ZSAmJiAhaXNNZW51T3BlblwiIC8+XHJcbiAgICAgICAgPENoZXZyb25VcEljb24gKm5nSWY9XCIhZHJvcGRvd25JY29uVGVtcGxhdGUgJiYgaXNNZW51T3BlblwiIC8+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25JY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8Y2F4LXRpZXJlZE1lbnVcclxuICAgICAgICBbaWRdPVwiYXJpYUlkXCJcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3otaW5kZXgnOiAnOTk5OScgfVwiXHJcbiAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgIFttb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgW3N0eWxlXT1cIm1lbnVTdHlsZVwiXHJcbiAgICAgICAgW3N0eWxlQ2xhc3NdPVwibWVudVN0eWxlQ2xhc3NcIlxyXG4gICAgICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXHJcbiAgICAgICAgW3Nob3dUcmFuc2l0aW9uT3B0aW9uc109XCJzaG93VHJhbnNpdGlvbk9wdGlvbnNcIlxyXG4gICAgICAgIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiaGlkZVRyYW5zaXRpb25PcHRpb25zXCJcclxuICAgICAgICAob25IaWRlKT1cIm9uSGlkZSgpXCJcclxuICAgICAgICAob25TaG93KT1cIm9uU2hvdygpXCJcclxuICAgID48L2NheC10aWVyZWRNZW51PlxyXG48L2Rpdj5cclxuIl19
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRidXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc3BsaXRidXR0b24vc3BsaXRidXR0b24udHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc3BsaXRidXR0b24vc3BsaXRidXR0b24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFZLE1BQU0sRUFBMEIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeE8sT0FBTyxFQUFZLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFLNUQ7OztHQUdHO0FBV0gsTUFBTSxPQUFPLFdBQVc7SUFDcEI7OztPQUdHO0lBQ00sS0FBSyxDQUF5QjtJQUN2Qzs7O09BR0c7SUFDTSxRQUFRLENBQStHO0lBQ2hJOzs7T0FHRztJQUNxQyxNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ2hFOzs7T0FHRztJQUNxQyxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ2pFOzs7T0FHRztJQUNxQyxJQUFJLEdBQVksS0FBSyxDQUFDO0lBQzlEOzs7T0FHRztJQUNxQyxRQUFRLEdBQVksS0FBSyxDQUFDO0lBQ2xFOzs7T0FHRztJQUNNLElBQUksR0FBb0QsUUFBUSxDQUFDO0lBQzFFOzs7T0FHRztJQUNxQyxLQUFLLEdBQVksS0FBSyxDQUFDO0lBQy9EOzs7T0FHRztJQUNNLElBQUksQ0FBcUI7SUFDbEM7OztPQUdHO0lBQ00sT0FBTyxHQUE0QixNQUFNLENBQUM7SUFDbkQ7OztPQUdHO0lBQ00sS0FBSyxDQUFxQjtJQUNuQzs7O09BR0c7SUFDTSxPQUFPLENBQXFCO0lB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LFVBQVU7c0JBQW5CLE1BQU07Z0JBTUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFaUIsa0JBQWtCO3NCQUF6QyxTQUFTO3VCQUFDLFdBQVc7Z0JBRUcsZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZO2dCQUVKLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFFYSxTQUFTO3NCQUF0QyxlQUFlO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nTW9kdWxlLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUsIG51bWJlckF0dHJpYnV0ZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSwgQ2F4VGVtcGxhdGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9hcGknO1xuaW1wb3J0IHsgVGllcmVkTWVudSB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL3RpZXJlZG1lbnUnO1xuaW1wb3J0IHsgVW5pcXVlQ29tcG9uZW50SWQgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS91dGlscyc7XG5cbmltcG9ydCB7IEJ1dHRvblByb3BzLCBNZW51QnV0dG9uUHJvcHMgfSBmcm9tICcuL3NwbGl0YnV0dG9uLmludGVyZmFjZSc7XG5cbnR5cGUgU3BsaXRCdXR0b25JY29uUG9zaXRpb24gPSAnbGVmdCcgfCAncmlnaHQnO1xuLyoqXG4gKiBTcGxpdEJ1dHRvbiBncm91cHMgYSBzZXQgb2YgY29tbWFuZHMgaW4gYW4gb3ZlcmxheSB3aXRoIGEgZGVmYXVsdCBjb21tYW5kLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtc3BsaXRCdXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zcGxpdGJ1dHRvbi5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL3NwbGl0YnV0dG9uLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnY2F4LWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdEJ1dHRvbiB7XG4gICAgLyoqXG4gICAgICogTWVudU1vZGVsIGluc3RhbmNlIHRvIGRlZmluZSB0aGUgb3ZlcmxheSBpdGVtcy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtb2RlbDogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBzdHlsZSBvZiB0aGUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICdoZWxwJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2NvbnRyYXN0JyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQWRkIGEgc2hhZG93IHRvIGluZGljYXRlIGVsZXZhdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmFpc2VkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQWRkIGEgY2lyY3VsYXIgYm9yZGVyIHJhZGl1cyB0byB0aGUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByb3VuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQWRkIGEgdGV4dHVhbCBjbGFzcyB0byB0aGUgYnV0dG9uIHdpdGhvdXQgYSBiYWNrZ3JvdW5kIGluaXRpYWxseS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGV4dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEFkZCBhIGJvcmRlciBjbGFzcyB3aXRob3V0IGEgYmFja2dyb3VuZCBpbml0aWFsbHkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG91dGxpbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCB1bmRlZmluZWQgfCBudWxsID0gJ21lZGl1bSc7XG4gICAgLyoqXG4gICAgICogQWRkIGEgcGxhaW4gdGV4dHVhbCBjbGFzcyB0byB0aGUgYnV0dG9uIHdpdGhvdXQgYSBiYWNrZ3JvdW5kIGluaXRpYWxseS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcGxhaW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBpY29uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgaWNvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpY29uUG9zOiBTcGxpdEJ1dHRvbkljb25Qb3NpdGlvbiA9ICdsZWZ0JztcbiAgICAvKipcbiAgICAgKiBUZXh0IG9mIHRoZSBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUb29sdGlwIGZvciB0aGUgbWFpbiBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRvb2x0aXAgb3B0aW9ucyBmb3IgdGhlIG1haW4gYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRvb2x0aXBPcHRpb25zOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIG92ZXJsYXkgbWVudS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZW51U3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIG92ZXJsYXkgbWVudS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZW51U3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogIFRhcmdldCBlbGVtZW50IHRvIGF0dGFjaCB0aGUgb3ZlcmxheSwgdmFsaWQgdmFsdWVzIGFyZSBcImJvZHlcIiBvciBhIGxvY2FsIG5nLXRlbXBsYXRlIHZhcmlhYmxlIG9mIGFub3RoZXIgZWxlbWVudCAobm90ZTogdXNlIGJpbmRpbmcgd2l0aCBicmFja2V0cyBmb3IgdGVtcGxhdGUgdmFyaWFibGVzLCBlLmcuIFthcHBlbmRUb109XCJteWRpdlwiIGZvciBhIGRpdiBlbGVtZW50IGhhdmluZyAjbXlkaXYgYXMgdmFyaWFibGUgbmFtZSkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXBwZW5kVG86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHwgYW55O1xuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgYSBzdHJpbmcgdGhhdCBsYWJlbHMgdGhlIGV4cGFuZCBidXR0b24gZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZXhwYW5kQXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBzaG93IGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJztcbiAgICAvKipcbiAgICAgKiBUcmFuc2l0aW9uIG9wdGlvbnMgb2YgdGhlIGhpZGUgYW5pbWF0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xcyBsaW5lYXInO1xuICAgIC8qKlxuICAgICAqIEJ1dHRvbiBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGJ1dHRvblByb3BzOiBCdXR0b25Qcm9wcyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBNZW51IEJ1dHRvbiBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lbnVCdXR0b25Qcm9wczogTWVudUJ1dHRvblByb3BzIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gcHJlc2VudCwgaXQgc3BlY2lmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCBzaG91bGQgYXV0b21hdGljYWxseSBnZXQgZm9jdXMgb24gbG9hZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBpc01lbnVPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9mb2N1czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IHRoZSBlbGVtZW50IHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2V0IGRpc2FibGVkKHY6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2O1xuICAgICAgICB0aGlzLl9idXR0b25EaXNhYmxlZCA9IHY7XG4gICAgICAgIHRoaXMubWVudUJ1dHRvbkRpc2FibGVkID0gdjtcbiAgICB9XG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbmRleCBvZiB0aGUgZWxlbWVudCBpbiB0YWJiaW5nIG9yZGVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgbWVudSBidXR0b24gZWxlbWVudCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCdtZW51QnV0dG9uRGlzYWJsZWQnKSBzZXQgbWVudUJ1dHRvbkRpc2FibGVkKHY6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX21lbnVCdXR0b25EaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIH0gZWxzZSB0aGlzLl9tZW51QnV0dG9uRGlzYWJsZWQgPSB2O1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG1lbnVCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21lbnVCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgYnV0dG9uIGVsZW1lbnQgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCBidXR0b25EaXNhYmxlZCh2OiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgfSBlbHNlIHRoaXMuX2J1dHRvbkRpc2FibGVkID0gdjtcbiAgICB9XG4gICAgcHVibGljIGdldCBidXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc2FibGVkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBkZWZhdWx0IGNvbW1hbmQgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCAtIE1vdXNlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gb3ZlcmxheSBtZW51IGlzIGhpZGRlbi5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25NZW51SGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBvdmVybGF5IG1lbnUgaXMgc2hvd24uXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uTWVudVNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZHJvcGRvd24gYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAgICogQHBhcmFtIHtNb3VzZUV2ZW50fSBldmVudCAtIE1vdXNlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkRyb3Bkb3duQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lclZpZXdDaGlsZDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlZmF1bHRidG4nKSBidXR0b25WaWV3Q2hpbGQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdtZW51JykgbWVudTogVGllcmVkTWVudSB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oQ2F4VGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PENheFRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIGRyb3Bkb3duSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgYXJpYUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpc0V4cGFuZGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgcHJpdmF0ZSBfYnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBwcml2YXRlIF9tZW51QnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hcmlhSWQgPSBVbmlxdWVDb21wb25lbnRJZCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25JY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgY29uc3QgY2xzID0ge1xuICAgICAgICAgICAgJ2NheC1zcGxpdGJ1dHRvbiBjYXgtY29tcG9uZW50JzogdHJ1ZSxcbiAgICAgICAgICAgICdjYXgtYnV0dG9uLXJhaXNlZCc6IHRoaXMucmFpc2VkLFxuICAgICAgICAgICAgJ2NheC1idXR0b24tcm91bmRlZCc6IHRoaXMucm91bmRlZCxcbiAgICAgICAgICAgICdjYXgtYnV0dG9uLW91dGxpbmVkJzogdGhpcy5vdXRsaW5lZCxcbiAgICAgICAgICAgICdjYXgtYnV0dG9uLXRleHQnOiB0aGlzLnRleHQsXG4gICAgICAgICAgICBbYGNheC1idXR0b24tJHt0aGlzLnNpemUgPT09ICdzbWFsbCcgPyAnc20nIDogJ2xnJ31gXTogdGhpcy5zaXplXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHsgLi4uY2xzIH07XG4gICAgfVxuXG4gICAgb25EZWZhdWx0QnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLm1lbnUuaGlkZSgpO1xuICAgIH1cblxuICAgIG9uRHJvcGRvd25CdXR0b25DbGljayhldmVudD86IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gIXRoaXMuaXNNZW51T3BlbjtcbiAgICAgICAgdGhpcy5vbkRyb3Bkb3duQ2xpY2suZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubWVudT8udG9nZ2xlKHsgY3VycmVudFRhcmdldDogdGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQsIHJlbGF0aXZlQWxpZ246IHRoaXMuYXBwZW5kVG8gPT0gbnVsbCB9KTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duQnV0dG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQuY29kZSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICB0aGlzLm9uRHJvcGRvd25CdXR0b25DbGljaygpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSGlkZSgpIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZC5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLm9uTWVudUhpZGUuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uU2hvdygpIHtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbk1lbnVTaG93LmVtaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2ICNjb250YWluZXIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiIFtuZ1N0eWxlXT1cInN0eWxlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRCdXR0b25cIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2F4LXNwbGl0YnV0dG9uLWRlZmF1bHRidXR0b25cIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgY2F4QnV0dG9uXHJcbiAgICAgICAgICAgIFtzZXZlcml0eV09XCJzZXZlcml0eVwiXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cInRleHRcIlxyXG4gICAgICAgICAgICBbb3V0bGluZWRdPVwib3V0bGluZWRcIlxyXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgICAgICAgIFtpY29uUG9zXT1cImljb25Qb3NcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25EZWZhdWx0QnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcclxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJidXR0b25Qcm9wcz8uWydhcmlhTGFiZWwnXSB8fCBsYWJlbFwiXHJcbiAgICAgICAgICAgIGNheEF1dG9Gb2N1c1xyXG4gICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICAgICAgICAgIFtjYXhUb29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcE9wdGlvbnNdPVwidG9vbHRpcE9wdGlvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRCdXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAjZGVmYXVsdGJ0blxyXG4gICAgICAgICAgICBjbGFzcz1cImNheC1zcGxpdGJ1dHRvbi1kZWZhdWx0YnV0dG9uXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNheEJ1dHRvblxyXG4gICAgICAgICAgICBbc2V2ZXJpdHldPVwic2V2ZXJpdHlcIlxyXG4gICAgICAgICAgICBbdGV4dF09XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW291dGxpbmVkXT1cIm91dGxpbmVkXCJcclxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImljb25cIlxyXG4gICAgICAgICAgICBbaWNvblBvc109XCJpY29uUG9zXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVmYXVsdEJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXHJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiYnV0dG9uUHJvcHM/LlsnYXJpYUxhYmVsJ11cIlxyXG4gICAgICAgICAgICBjYXhBdXRvRm9jdXNcclxuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxyXG4gICAgICAgICAgICBbY2F4VG9vbHRpcF09XCJ0b29sdGlwXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBPcHRpb25zXT1cInRvb2x0aXBPcHRpb25zXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImNheC1zcGxpdGJ1dHRvbi1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgY2F4QnV0dG9uXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgW3NldmVyaXR5XT1cInNldmVyaXR5XCJcclxuICAgICAgICBbdGV4dF09XCJ0ZXh0XCJcclxuICAgICAgICBbb3V0bGluZWRdPVwib3V0bGluZWRcIlxyXG4gICAgICAgIGNsYXNzPVwiY2F4LXNwbGl0YnV0dG9uLW1lbnVidXR0b24gY2F4LWJ1dHRvbi1pY29uLW9ubHlcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGtleWRvd24pPVwib25Ecm9wZG93bkJ1dHRvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJtZW51QnV0dG9uUHJvcHM/LlsnYXJpYUxhYmVsJ10gfHwgZXhwYW5kQXJpYUxhYmVsXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIm1lbnVCdXR0b25Qcm9wcz8uWydhcmlhSGFzUG9wdXAnXSB8fCB0cnVlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm1lbnVCdXR0b25Qcm9wcz8uWydhcmlhRXhwYW5kZWQnXSB8fCBpc0V4cGFuZGVkKClcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUJ1dHRvblByb3BzPy5bJ2FyaWFDb250cm9scyddIHx8IGFyaWFJZFwiXHJcbiAgICA+XHJcbiAgICAgICAgPENoZXZyb25Eb3duSWNvbiAqbmdJZj1cIiFkcm9wZG93bkljb25UZW1wbGF0ZSAmJiAhaXNNZW51T3BlblwiIC8+XHJcbiAgICAgICAgPENoZXZyb25VcEljb24gKm5nSWY9XCIhZHJvcGRvd25JY29uVGVtcGxhdGUgJiYgaXNNZW51T3BlblwiIC8+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25JY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8Y2F4LXRpZXJlZE1lbnVcclxuICAgICAgICBbaWRdPVwiYXJpYUlkXCJcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJywgJ3otaW5kZXgnOiAnOTk5OScgfVwiXHJcbiAgICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICAgIFttb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgW3N0eWxlXT1cIm1lbnVTdHlsZVwiXHJcbiAgICAgICAgW3N0eWxlQ2xhc3NdPVwibWVudVN0eWxlQ2xhc3NcIlxyXG4gICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxyXG4gICAgICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwic2hvd1RyYW5zaXRpb25PcHRpb25zXCJcclxuICAgICAgICBbaGlkZVRyYW5zaXRpb25PcHRpb25zXT1cImhpZGVUcmFuc2l0aW9uT3B0aW9uc1wiXHJcbiAgICAgICAgKG9uSGlkZSk9XCJvbkhpZGUoKVwiXHJcbiAgICAgICAgKG9uU2hvdyk9XCJvblNob3coKVwiXHJcbiAgICA+PC9jYXgtdGllcmVkTWVudT5cclxuPC9kaXY+XHJcbiJdfQ==
|