desy-angular 11.0.0 → 11.1.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/esm2022/lib/desy-buttons/components/button/button.component.mjs +5 -3
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +5 -3
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +6 -2
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +6 -2
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +18 -6
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +6 -2
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +7 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +5 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -2
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +8 -2
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +8 -2
- package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +8 -7
- package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -2
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +3 -3
- package/esm2022/lib/desy-nav/interfaces/footer-logo.mjs +9 -0
- package/esm2022/lib/desy-nav/interfaces/index.mjs +4 -3
- package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +1 -1
- package/fesm2022/desy-angular.mjs +126 -68
- package/fesm2022/desy-angular.mjs.map +1 -1
- package/lib/desy-buttons/components/button/button.component.d.ts +2 -1
- package/lib/desy-buttons/components/pill/pill.component.d.ts +2 -1
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +4 -2
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +4 -2
- package/lib/desy-nav/components/footer/footer.component.d.ts +12 -7
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +3 -1
- package/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.d.ts +3 -1
- package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +3 -2
- package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +3 -2
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +4 -1
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +4 -1
- package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +2 -1
- package/lib/desy-nav/interfaces/footer-logo.d.ts +7 -0
- package/lib/desy-nav/interfaces/index.d.ts +3 -2
- package/package.json +2 -2
|
@@ -90,11 +90,11 @@ export class NavComponent extends AccessibilityComponent {
|
|
|
90
90
|
return !item.active && !item.disabled;
|
|
91
91
|
}
|
|
92
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavComponent, selector: "desy-nav", inputs: { hasNav: "hasNav", id: "id", idPrefix: "idPrefix", items: "items", classes: "classes" }, outputs: { clickEvent: "clickEvent" }, queries: [{ propertyName: "itemComponentList", predicate: NavItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n <a *ngIf=\"!item.href\"\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n </li>\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\n <div class=\"sr-only\">Separador</div>\n </li>\n </ng-container>\n</ng-template>\n\n\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\n [class]=\"['text-sm', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ul>\n<ng-template #wrapIntoNav>\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\n [id]=\"id\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul>\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n </ul>\n </nav>\n</ng-template>\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: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }] }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavComponent, selector: "desy-nav", inputs: { hasNav: "hasNav", id: "id", idPrefix: "idPrefix", items: "items", classes: "classes" }, outputs: { clickEvent: "clickEvent" }, queries: [{ propertyName: "itemComponentList", predicate: NavItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n <a *ngIf=\"!item.href\"\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\" [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : []\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n </li>\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\n <div class=\"sr-only\">Separador</div>\n </li>\n </ng-container>\n</ng-template>\n\n\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\n [class]=\"['text-sm', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ul>\n<ng-template #wrapIntoNav>\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\n [id]=\"id\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul>\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n </ul>\n </nav>\n</ng-template>\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: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }] }); }
|
|
94
94
|
}
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
|
-
args: [{ selector: 'desy-nav', template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n <a *ngIf=\"!item.href\"\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n </li>\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\n <div class=\"sr-only\">Separador</div>\n </li>\n </ng-container>\n</ng-template>\n\n\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\n [class]=\"['text-sm', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ul>\n<ng-template #wrapIntoNav>\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\n [id]=\"id\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul>\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n </ul>\n </nav>\n</ng-template>\n" }]
|
|
97
|
+
args: [{ selector: 'desy-nav', template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n <a *ngIf=\"!item.href\"\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\" [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : []\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [attr.title]=\"item.title ? item.title : null\"\n [attr.role]=\"item.role ? item.role : null\"\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n </li>\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\n <div class=\"sr-only\">Separador</div>\n </li>\n </ng-container>\n</ng-template>\n\n\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\n [class]=\"['text-sm', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ul>\n<ng-template #wrapIntoNav>\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\n [id]=\"id\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul>\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n </ul>\n </nav>\n</ng-template>\n" }]
|
|
98
98
|
}], propDecorators: { hasNav: [{
|
|
99
99
|
type: Input
|
|
100
100
|
}], id: [{
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
111
111
|
type: ContentChildren,
|
|
112
112
|
args: [NavItemComponent]
|
|
113
113
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sWUFBYSxTQUFRLHNCQUFzQjtJQUp4RDs7UUFNVyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBTWIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0tBOEY3RDtJQTNGQyxPQUFPLENBQUMsS0FBVSxFQUFFLElBQWlCO1FBQ25DLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMxQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFD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LFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RixJQUFJLFFBQVEsRUFBRTtnQkFDWixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWSxFQUFFLElBQWlCLEVBQUUsS0FBYTtRQUMxRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBR08sZUFBZSxDQUFDLElBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDOytHQXBHVSxZQUFZO21HQUFaLFlBQVksMk5BU04sZ0JBQWdCLG9EQzVCbkMsNHFQQTZHQTs7NEZEMUZhLFlBQVk7a0JBSnhCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLWCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUM0QixpQkFBaUI7c0JBQW5ELGVBQWU7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWNjZXNzaWJpbGl0eUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBOYXZJdGVtRGF0YSwgTmF2SXRlbUV2ZW50RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmF2SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGhhc05hdiA9IHRydWU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZJdGVtRGF0YVtdO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdkl0ZW1FdmVudERhdGE+KCk7XG4gIEBDb250ZW50Q2hpbGRyZW4oTmF2SXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudExpc3Q6IFF1ZXJ5TGlzdDxOYXZJdGVtQ29tcG9uZW50PjtcblxuICBvbkNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IE5hdkl0ZW1EYXRhKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXNBY3RpdmVDaGFuZ2UgPSBbXTtcbiAgICBpZiAoIWl0ZW0uYWN0aXZlKSB7XG4gICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5nZXRJdGVtTGlzdCgpO1xuICAgIGl0ZW1MaXN0LmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5hY3RpdmUgJiYgaSAhPT0gaXRlbSkge1xuICAgICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGkpO1xuICAgICAgfVxuICAgICAgaS5hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XG5cbiAgICAvLyBTZSBlbWl0ZSBlbCBldmVudG8gc8OzbG8gcGFyYSBsb3MgaXRlbXMgY3V5byB2YWxvciBkZSBhY3RpdmUgaGEgc2lkbyBtb2RpZmljYWRvXG4gICAgaXRlbXNBY3RpdmVDaGFuZ2UuZm9yRWFjaChpID0+IHtcbiAgICAgIGlmIChpIGluc3RhbmNlb2YgTmF2SXRlbUNvbXBvbmVudCkge1xuICAgICAgICBpLmFjdGl2ZUNoYW5nZS5lbWl0KGkuYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHsgaXRlbSwgZXZlbnQgfSk7XG4gICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBOYXZJdGVtQ29tcG9uZW50KSB7XG4gICAgICBpdGVtLmNsaWNrRXZlbnQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW1MaXN0KCk6IE5hdkl0ZW1EYXRhW10ge1xuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5pdGVtQ29tcG9uZW50TGlzdCAmJiB0aGlzLml0ZW1Db21wb25lbnRMaXN0Lmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRMaXN0LnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG5cbiAgICByZXR1cm4gaXRlbUxpc3Q7XG4gIH1cblxuICBnZXRJdGVtSWQoaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpZDtcbiAgICBpZiAoaXRlbS5pZCkge1xuICAgICAgaWQgPSBpdGVtLmlkO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArICsraW5kZXg7XG4gICAgfVxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ25hdi1pdGVtJztcbiAgfVxuXG4gIG1vdmVQcmV2aW91cyhldmVudDogRXZlbnQsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbUxpc3QoKTtcbiAgICBsZXQgbmV4dEluZGV4ID0gY3VycmVudEluZGV4IC0gMTtcbiAgICB3aGlsZSAobmV4dEluZGV4ID49IDAgJiYgIXRoaXMuaXNGb2N1c2FibGVJdGVtKGl0ZW1zW25leHRJbmRleF0pKSB7XG4gICAgICBuZXh0SW5kZXgtLTtcbiAgICB9XG5cbiAgICBpZiAobmV4dEluZGV4IDwgaXRlbXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpdGVtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZ2V0SXRlbUlkKGl0ZW1zW25leHRJbmRleF0sIG5leHRJbmRleCkpO1xuICAgICAgaWYgKGl0ZW1FbGVtKSB7XG4gICAgICAgIGl0ZW1FbGVtLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbW92ZU5leHQoZXZlbnQ6IEV2ZW50LCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1MaXN0KCk7XG4gICAgbGV0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCArIDE7XG4gICAgd2hpbGUgKG5leHRJbmRleCA8IGl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc0ZvY3VzYWJsZUl0ZW0oaXRlbXNbbmV4dEluZGV4XSkpIHtcbiAgICAgIG5leHRJbmRleCsrO1xuICAgIH1cblxuICAgIGlmIChuZXh0SW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGl0ZW1FbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoaXRlbXNbbmV4dEluZGV4XSwgbmV4dEluZGV4KSk7XG4gICAgICBpZiAoaXRlbUVsZW0pIHtcbiAgICAgICAgaXRlbUVsZW0uZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaW11bGF0ZUNsaWNrKGV2ZW50OiBFdmVudCwgaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldEl0ZW1JZChpdGVtLCBpbmRleCkpO1xuICAgIGVsZW1lbnQ/LmNsaWNrKCk7XG4gIH1cblxuXG4gIHByaXZhdGUgaXNGb2N1c2FibGVJdGVtKGl0ZW06IE5hdkl0ZW1EYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpdGVtLmFjdGl2ZSAmJiAhaXRlbS5kaXNhYmxlZDtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI2lubmVySHRtbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtTGlzdCgpOyBpbmRleCBhcyBpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNub1N0cm9uZz5cbiAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGxpPlxuICAgICAgICAgIDxhICpuZ0lmPVwiaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmhyZWYgfCBleHRlcm5hbEhyZWZcIiBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgICAgICBbY2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBweC1iYXNlIHB5LXNtIGhvdmVyOmJnLXByaW1hcnktYmFzZSBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjaycsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncG9pbnRlci1ldmVudHMtbm9uZSc6IGl0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiBpdGVtLnRhYmluZGV4XCJcbiAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIlxuICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGUgPyBpdGVtLnRpdGxlIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5ID8gaXRlbS5hcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzID8gaXRlbS5hcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBpdGVtLmFyaWFDdXJyZW50ID8gaXRlbS5hcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlID8gaXRlbS5hcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWQgPyBpdGVtLmFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXAgPyBpdGVtLmFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93VXApPVwibW92ZVByZXZpb3VzKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlTmV4dCgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJzaW11bGF0ZUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIlxuICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNpbXVsYXRlQ2xpY2soJGV2ZW50LCBpdGVtLCBpKVwiPlxuICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJmb250LWJvbGRcIiAqbmdJZj1cIml0ZW0uYWN0aXZlOyBlbHNlIG5vU3Ryb25nXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIGhlaWdodD1cIjFlbVwiIHdpZHRoPVwiMWVtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZSBtbC1zbSB0ZXh0LW5ldXRyYWwtYmFzZSBmaWxsLWN1cnJlbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiID48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwek0yMCA3MGE1MCA1MCAwIDAxNzQuOC00My40IDIuNTEgMi41MSAwIDAxMS4yMyAxLjg0IDIuNDggMi40OCAwIDAxLS43MSAyLjFMMzAuNTQgOTUuMzJhMi41MSAyLjUxIDAgMDEtMy45NC0uNTJBNDkuNjMgNDkuNjMgMCAwMTIwIDcwem0xMDAgMGE1MCA1MCAwIDAxLTc0LjggNDMuNCAyLjUxIDIuNTEgMCAwMS0xLjIzLTEuODQgMi40OCAyLjQ4IDAgMDEuNzEtMi4xbDY0Ljc4LTY0Ljc4YTIuNTEgMi41MSAwIDAxMy45NC41MkE0OS42MyA0OS42MyAwIDAxMTIwIDcwelwiLz48L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGEgKm5nSWY9XCIhaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZsZXggaXRlbXMtY2VudGVyIHB4LWJhc2UgcHktc20gaG92ZXI6YmctcHJpbWFyeS1iYXNlIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrJywgaXRlbS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3BvaW50ZXItZXZlbnRzLW5vbmUnOiBpdGVtLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0uZGlzYWJsZWQgPyAtMSA6IGl0ZW0udGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGUgPyBpdGVtLnRpdGxlIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIml0ZW0ucm9sZSA/IGl0ZW0ucm9sZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbCA/IGl0ZW0uYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5ID8gaXRlbS5hcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5ID8gaXRlbS5hcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuID8gaXRlbS5hcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzID8gaXRlbS5hcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFjdGl2ZSA/ICdwYWdlJyA6IGl0ZW0uYXJpYUN1cnJlbnQgPyBpdGVtLmFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZSA/IGl0ZW0uYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWQgPyBpdGVtLmFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlID8gaXRlbS5hcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwID8gaXRlbS5hcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93VXApPVwibW92ZVByZXZpb3VzKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cIm1vdmVOZXh0KCRldmVudCwgaSlcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJzaW11bGF0ZUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIlxuICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2ltdWxhdGVDbGljaygkZXZlbnQsIGl0ZW0sIGkpXCI+XG4gICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZm9udC1ib2xkXCIgKm5nSWY9XCJpdGVtLmFjdGl2ZTsgZWxzZSBub1N0cm9uZ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpdGVtLmRpc2FibGVkXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgaGVpZ2h0PVwiMWVtXCIgd2lkdGg9XCIxZW1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJpbmxpbmUtYmxvY2sgYWxpZ24tbWlkZGxlIG1sLXNtIHRleHQtbmV1dHJhbC1iYXNlIGZpbGwtY3VycmVudFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCIgPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6TTIwIDcwYTUwIDUwIDAgMDE3NC44LTQzLjQgMi41MSAyLjUxIDAgMDExLjIzIDEuODQgMi40OCAyLjQ4IDAgMDEtLjcxIDIuMUwzMC41NCA5NS4zMmEyLjUxIDIuNTEgMCAwMS0zLjk0LS41MkE0OS42MyA0OS42MyAwIDAxMjAgNzB6bTEwMCAwYTUwIDUwIDAgMDEtNzQuOCA0My40IDIuNTEgMi41MSAwIDAxLTEuMjMtMS44NCAyLjQ4IDIuNDggMCAwMS43MS0yLjFsNjQuNzgtNjQuNzhhMi41MSAyLjUxIDAgMDEzLjk0LjUyQTQ5LjYzIDQ5LjYzIDAgMDExMjAgNzB6XCIvPjwvc3ZnPlxuICAgICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdJZj1cIml0ZW0uZGl2aWRlclwiIGNsYXNzPVwibXktc20gYm9yZGVyLWIgYm9yZGVyLW5ldXRyYWwtYmFzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3Itb25seVwiPlNlcGFyYWRvcjwvZGl2PlxuICAgIDwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48dWwgKm5nSWY9XCIhaGFzTmF2OyBlbHNlIHdyYXBJbnRvTmF2XCJcbiAgICBbY2xhc3NdPVwiWyd0ZXh0LXNtJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5uZXJIdG1sXCI+PC9uZy1jb250YWluZXI+XG48L3VsPlxuPG5nLXRlbXBsYXRlICN3cmFwSW50b05hdj5cbiAgPG5hdiBbY2xhc3NdPVwiWyd0ZXh0LXNtJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICBbaWRdPVwiaWRcIlxuICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkID8gYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgPHVsPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySHRtbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvbmF2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sWUFBYSxTQUFRLHNCQUFzQjtJQUp4RDs7UUFNVyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBTWIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0tBOEY3RDtJQTNGQyxPQUFPLENBQUMsS0FBVSxFQUFFLElBQWlCO1FBQ25DLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMxQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFD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LFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RixJQUFJLFFBQVEsRUFBRTtnQkFDWixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWSxFQUFFLElBQWlCLEVBQUUsS0FBYTtRQUMxRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBR08sZUFBZSxDQUFDLElBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDOytHQXBHVSxZQUFZO21HQUFaLFlBQVksMk5BU04sZ0JBQWdCLG9EQzVCbkMsb3dQQTZHQTs7NEZEMUZhLFlBQVk7a0JBSnhCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLWCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUM0QixpQkFBaUI7c0JBQW5ELGVBQWU7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWNjZXNzaWJpbGl0eUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBOYXZJdGVtRGF0YSwgTmF2SXRlbUV2ZW50RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmF2SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGhhc05hdiA9IHRydWU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZJdGVtRGF0YVtdO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdkl0ZW1FdmVudERhdGE+KCk7XG4gIEBDb250ZW50Q2hpbGRyZW4oTmF2SXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudExpc3Q6IFF1ZXJ5TGlzdDxOYXZJdGVtQ29tcG9uZW50PjtcblxuICBvbkNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IE5hdkl0ZW1EYXRhKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXNBY3RpdmVDaGFuZ2UgPSBbXTtcbiAgICBpZiAoIWl0ZW0uYWN0aXZlKSB7XG4gICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5nZXRJdGVtTGlzdCgpO1xuICAgIGl0ZW1MaXN0LmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5hY3RpdmUgJiYgaSAhPT0gaXRlbSkge1xuICAgICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGkpO1xuICAgICAgfVxuICAgICAgaS5hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XG5cbiAgICAvLyBTZSBlbWl0ZSBlbCBldmVudG8gc8OzbG8gcGFyYSBsb3MgaXRlbXMgY3V5byB2YWxvciBkZSBhY3RpdmUgaGEgc2lkbyBtb2RpZmljYWRvXG4gICAgaXRlbXNBY3RpdmVDaGFuZ2UuZm9yRWFjaChpID0+IHtcbiAgICAgIGlmIChpIGluc3RhbmNlb2YgTmF2SXRlbUNvbXBvbmVudCkge1xuICAgICAgICBpLmFjdGl2ZUNoYW5nZS5lbWl0KGkuYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHsgaXRlbSwgZXZlbnQgfSk7XG4gICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBOYXZJdGVtQ29tcG9uZW50KSB7XG4gICAgICBpdGVtLmNsaWNrRXZlbnQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW1MaXN0KCk6IE5hdkl0ZW1EYXRhW10ge1xuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5pdGVtQ29tcG9uZW50TGlzdCAmJiB0aGlzLml0ZW1Db21wb25lbnRMaXN0Lmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRMaXN0LnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG5cbiAgICByZXR1cm4gaXRlbUxpc3Q7XG4gIH1cblxuICBnZXRJdGVtSWQoaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpZDtcbiAgICBpZiAoaXRlbS5pZCkge1xuICAgICAgaWQgPSBpdGVtLmlkO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArICsraW5kZXg7XG4gICAgfVxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ25hdi1pdGVtJztcbiAgfVxuXG4gIG1vdmVQcmV2aW91cyhldmVudDogRXZlbnQsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbUxpc3QoKTtcbiAgICBsZXQgbmV4dEluZGV4ID0gY3VycmVudEluZGV4IC0gMTtcbiAgICB3aGlsZSAobmV4dEluZGV4ID49IDAgJiYgIXRoaXMuaXNGb2N1c2FibGVJdGVtKGl0ZW1zW25leHRJbmRleF0pKSB7XG4gICAgICBuZXh0SW5kZXgtLTtcbiAgICB9XG5cbiAgICBpZiAobmV4dEluZGV4IDwgaXRlbXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpdGVtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZ2V0SXRlbUlkKGl0ZW1zW25leHRJbmRleF0sIG5leHRJbmRleCkpO1xuICAgICAgaWYgKGl0ZW1FbGVtKSB7XG4gICAgICAgIGl0ZW1FbGVtLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbW92ZU5leHQoZXZlbnQ6IEV2ZW50LCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1MaXN0KCk7XG4gICAgbGV0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCArIDE7XG4gICAgd2hpbGUgKG5leHRJbmRleCA8IGl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc0ZvY3VzYWJsZUl0ZW0oaXRlbXNbbmV4dEluZGV4XSkpIHtcbiAgICAgIG5leHRJbmRleCsrO1xuICAgIH1cblxuICAgIGlmIChuZXh0SW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGl0ZW1FbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoaXRlbXNbbmV4dEluZGV4XSwgbmV4dEluZGV4KSk7XG4gICAgICBpZiAoaXRlbUVsZW0pIHtcbiAgICAgICAgaXRlbUVsZW0uZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaW11bGF0ZUNsaWNrKGV2ZW50OiBFdmVudCwgaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldEl0ZW1JZChpdGVtLCBpbmRleCkpO1xuICAgIGVsZW1lbnQ/LmNsaWNrKCk7XG4gIH1cblxuXG4gIHByaXZhdGUgaXNGb2N1c2FibGVJdGVtKGl0ZW06IE5hdkl0ZW1EYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpdGVtLmFjdGl2ZSAmJiAhaXRlbS5kaXNhYmxlZDtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI2lubmVySHRtbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtTGlzdCgpOyBpbmRleCBhcyBpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNub1N0cm9uZz5cbiAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGxpPlxuICAgICAgICAgIDxhICpuZ0lmPVwiaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmhyZWYgfCBleHRlcm5hbEhyZWZcIiBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgICAgICBbY2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBweC1iYXNlIHB5LXNtIGhvdmVyOmJnLXByaW1hcnktYmFzZSBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjaycsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncG9pbnRlci1ldmVudHMtbm9uZSc6IGl0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiBpdGVtLnRhYmluZGV4XCJcbiAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIlxuICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGUgPyBpdGVtLnRpdGxlIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5ID8gaXRlbS5hcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzID8gaXRlbS5hcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBpdGVtLmFyaWFDdXJyZW50ID8gaXRlbS5hcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlID8gaXRlbS5hcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWQgPyBpdGVtLmFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXAgPyBpdGVtLmFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93VXApPVwibW92ZVByZXZpb3VzKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlTmV4dCgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJzaW11bGF0ZUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIlxuICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNpbXVsYXRlQ2xpY2soJGV2ZW50LCBpdGVtLCBpKVwiPlxuICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJmb250LWJvbGRcIiAqbmdJZj1cIml0ZW0uYWN0aXZlOyBlbHNlIG5vU3Ryb25nXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIGhlaWdodD1cIjFlbVwiIHdpZHRoPVwiMWVtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZSBtbC1zbSB0ZXh0LW5ldXRyYWwtYmFzZSBmaWxsLWN1cnJlbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiID48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwek0yMCA3MGE1MCA1MCAwIDAxNzQuOC00My40IDIuNTEgMi41MSAwIDAxMS4yMyAxLjg0IDIuNDggMi40OCAwIDAxLS43MSAyLjFMMzAuNTQgOTUuMzJhMi41MSAyLjUxIDAgMDEtMy45NC0uNTJBNDkuNjMgNDkuNjMgMCAwMTIwIDcwem0xMDAgMGE1MCA1MCAwIDAxLTc0LjggNDMuNCAyLjUxIDIuNTEgMCAwMS0xLjIzLTEuODQgMi40OCAyLjQ4IDAgMDEuNzEtMi4xbDY0Ljc4LTY0Ljc4YTIuNTEgMi41MSAwIDAxMy45NC41MkE0OS42MyA0OS42MyAwIDAxMTIwIDcwelwiLz48L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGEgKm5nSWY9XCIhaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCIgW3JvdXRlckxpbmtBY3RpdmVdPVwiaXRlbS5yb3V0ZXJMaW5rQWN0aXZlQ2xhc3NlcyA/IGl0ZW0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgOiBbXVwiXG4gICAgICAgICAgICAgICBbY2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBweC1iYXNlIHB5LXNtIGhvdmVyOmJnLXByaW1hcnktYmFzZSBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjaycsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydwb2ludGVyLWV2ZW50cy1ub25lJzogaXRlbS5kaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiBpdGVtLnRhYmluZGV4XCJcbiAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImdldEl0ZW1JZChpdGVtLCBpKVwiXG4gICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJpdGVtLnRpdGxlID8gaXRlbS50aXRsZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hcmlhTGFiZWwgPyBpdGVtLmFyaWFMYWJlbCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeSA/IGl0ZW0uYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlbiA/IGl0ZW0uYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLmFyaWFDb250cm9scyA/IGl0ZW0uYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBpdGVtLmFyaWFDdXJyZW50ID8gaXRlbS5hcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uYXJpYUxpdmUgPyBpdGVtLmFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkID8gaXRlbS5hcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cCA/IGl0ZW0uYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm1vdmVQcmV2aW91cygkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlTmV4dCgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2ltdWxhdGVDbGljaygkZXZlbnQsIGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNpbXVsYXRlQ2xpY2soJGV2ZW50LCBpdGVtLCBpKVwiPlxuICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImZvbnQtYm9sZFwiICpuZ0lmPVwiaXRlbS5hY3RpdmU7IGVsc2Ugbm9TdHJvbmdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIGhlaWdodD1cIjFlbVwiIHdpZHRoPVwiMWVtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZSBtbC1zbSB0ZXh0LW5ldXRyYWwtYmFzZSBmaWxsLWN1cnJlbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiID48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwek0yMCA3MGE1MCA1MCAwIDAxNzQuOC00My40IDIuNTEgMi41MSAwIDAxMS4yMyAxLjg0IDIuNDggMi40OCAwIDAxLS43MSAyLjFMMzAuNTQgOTUuMzJhMi41MSAyLjUxIDAgMDEtMy45NC0uNTJBNDkuNjMgNDkuNjMgMCAwMTIwIDcwem0xMDAgMGE1MCA1MCAwIDAxLTc0LjggNDMuNCAyLjUxIDIuNTEgMCAwMS0xLjIzLTEuODQgMi40OCAyLjQ4IDAgMDEuNzEtMi4xbDY0Ljc4LTY0Ljc4YTIuNTEgMi41MSAwIDAxMy45NC41MkE0OS42MyA0OS42MyAwIDAxMTIwIDcwelwiLz48L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nSWY9XCJpdGVtLmRpdmlkZXJcIiBjbGFzcz1cIm15LXNtIGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNyLW9ubHlcIj5TZXBhcmFkb3I8L2Rpdj5cbiAgICA8L2xpPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cblxuPHVsICpuZ0lmPVwiIWhhc05hdjsgZWxzZSB3cmFwSW50b05hdlwiXG4gICAgW2NsYXNzXT1cIlsndGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IG51bGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySHRtbFwiPjwvbmctY29udGFpbmVyPlxuPC91bD5cbjxuZy10ZW1wbGF0ZSAjd3JhcEludG9OYXY+XG4gIDxuYXYgW2NsYXNzXT1cIlsndGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgW2lkXT1cImlkXCJcbiAgICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICAgIDx1bD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lckh0bWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25hdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var Type;
|
|
2
|
+
(function (Type) {
|
|
3
|
+
Type["UE"] = "UE";
|
|
4
|
+
Type["FEDER"] = "FEDER";
|
|
5
|
+
Type["FSE"] = "FSE+";
|
|
6
|
+
Type["Plurifondo"] = "Plurifondo";
|
|
7
|
+
Type["Custom"] = "Custom";
|
|
8
|
+
})(Type || (Type = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWxvZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9pbnRlcmZhY2VzL2Zvb3Rlci1sb2dvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLElBTVg7QUFORCxXQUFZLElBQUk7SUFDZCxpQkFBUyxDQUFBO0lBQ1QsdUJBQWUsQ0FBQTtJQUNmLG9CQUFZLENBQUE7SUFDWixpQ0FBeUIsQ0FBQTtJQUN6Qix5QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTlcsSUFBSSxLQUFKLElBQUksUUFNZiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFR5cGUge1xuICBVRSA9ICdVRScsXG4gIEZFREVSID0gJ0ZFREVSJyxcbiAgRlNFID0gJ0ZTRSsnLFxuICBQbHVyaWZvbmRvID0gJ1BsdXJpZm9uZG8nLFxuICBDdXN0b20gPSAnQ3VzdG9tJ1xufVxuIl19
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export * from './breadcrumbs.data';
|
|
2
2
|
export * from './error-summary-data';
|
|
3
|
+
export * from './footer-data';
|
|
4
|
+
export * from './footer-logo';
|
|
3
5
|
export * from './menu-horizontal-item-data';
|
|
4
6
|
export * from './menu-horizontal-item-event-data';
|
|
5
|
-
export * from './nav-item.data';
|
|
6
7
|
export * from './nav-item-event.data';
|
|
7
|
-
export * from './
|
|
8
|
+
export * from './nav-item.data';
|
|
8
9
|
export * from './menu-vertical-items-data';
|
|
9
10
|
export * from './menu-vertical-sub-data';
|
|
10
11
|
export * from './menu-vertical-sub-items-data';
|
|
@@ -17,4 +18,4 @@ export * from './notification-options';
|
|
|
17
18
|
export * from './menu-navigation';
|
|
18
19
|
export * from './menu-navigation-item-sub-item';
|
|
19
20
|
export * from './menu-navigation-item-sub-item-sub-item';
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1icy5kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3Itc3VtbWFyeS1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vZm9vdGVyLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9mb290ZXItbG9nbyc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaG9yaXpvbnRhbC1pdGVtLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LWhvcml6b250YWwtaXRlbS1ldmVudC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbmF2LWl0ZW0tZXZlbnQuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL25hdi1pdGVtLmRhdGEnO1xuXG5leHBvcnQgKiBmcm9tICcuL21lbnUtdmVydGljYWwtaXRlbXMtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtdmVydGljYWwtc3ViLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LXZlcnRpY2FsLXN1Yi1pdGVtcy1kYXRhJztcblxuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItZHJvcGRvd24tZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci1uYXZpZ2F0aW9uLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItb2ZmY2FudmFzLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItc3VibmF2LWRhdGEnO1xuXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1pdGVtcy1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uLW9wdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL21lbnUtbmF2aWdhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtbmF2aWdhdGlvbi1pdGVtLXN1Yi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS1uYXZpZ2F0aW9uLWl0ZW0tc3ViLWl0ZW0tc3ViLWl0ZW0nO1xuXG4iXX0=
|
|
@@ -166,7 +166,7 @@ export class PaginationComponent extends AccessibilityComponent {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationComponent, selector: "desy-pagination", inputs: { hasSelect: "hasSelect", idPrefix: "idPrefix", totalItems: "totalItems", hasPrevious: "hasPrevious", hasNext: "hasNext", hasFirst: "hasFirst", hasLast: "hasLast", showPrevious: "showPrevious", showNext: "showNext", showFirst: "showFirst", showLast: "showLast", previousText: "previousText", nextText: "nextText", firstText: "firstText", lastText: "lastText", hasSelectItemsPerPage: "hasSelectItemsPerPage", classes: "classes", classesContainer: "classesContainer", id: "id", currentPage: "currentPage", itemsPerPage: "itemsPerPage" }, outputs: { currentPageChange: "currentPageChange", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class": "this.classesContainer", "attr.id": "this.id" } }, queries: [{ propertyName: "listboxLabel", predicate: PaginationListboxLabelComponent }, { propertyName: "listboxItemsPerPage", predicate: PaginationItemPerPageComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"hasSelect\">\n <p class=\"w-full mb-xs text-sm text-neutral-dark\">\n Selecciona una p\u00E1gina para cargar datos\n </p>\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <desy-button *ngIf=\"showFirst\" (clickEvent)=\"first()\" [id]=\"getIdPrefix() + '-first'\"\n [html]=\"firstIcon + prefix + firstText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasFirst\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n <desy-button *ngIf=\"showPrevious\" (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n <div class=\"flex flex-wrap items-center pl-sm\"\n [ngClass]=\"{'w-full lg:w-auto': showFirst || showLast}\">\n <p *ngIf=\"showFirst || showLast\" class=\"lg:hidden mr-xs text-sm text-neutral-dark\">P\u00E1gina actual:</p>\n <desy-listbox *ngIf=\"items && items.length > 0\" [id]=\"id + '-listbox'\"\n [idPrefix]=\"idPrefix\"\n [text]=\"getActiveItemText()\"\n [classes]=\"'c-listbox--sm c-listbox--transparent mr-xs'\"\n [classesTooltip]=\"'max-h-52 overflow-y-auto'\"\n [doesChangeButtonText]=\"true\"\n [label]=\"{ text: 'Selecciona una p\u00E1gina para cargar datos', classes: 'sr-only' }\"\n [(items)]=\"items\"\n (activeItemChange)=\"handleActiveItemChange($event)\"></desy-listbox>\n </div>\n <desy-button *ngIf=\"showNext\" (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n <desy-button *ngIf=\"showLast\" (clickEvent)=\"last()\" [id]=\"getIdPrefix() + '-last'\"\n [html]=\"prefix + lastText + getSuffix(currentPage) + lastIcon\" [disabled]=\"currentPage === nPages || !hasLast\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n </nav>\n</ng-container>\n<ng-container *ngIf=\"!hasSelect\">\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.active\" [id]=\"getButtonId(i)\"\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i) + '</strong>'\"\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\n [disabled]=\"true\" ariaCurrent=\"page\" tabindex=\"-1\" type=\"button\"></desy-button>\n <desy-button *ngIf=\"!item.active\" [id]=\"getButtonId(i)\"\n [html]=\"prefix + (i + 1) + getSuffix(i)\"\n (clickEvent)=\"changePage(i + 1)\"\n classes=\"mb-sm mr-sm\" type=\"button\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-container>\n \n<div *ngIf=\"hasSelectItemsPerPage\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\">\n <desy-listbox [classes]=\"'c-listbox--sm c-listbox--transparent'\" \n [classesContainer]=\"'flex flex-wrap items-center gap-xs'\" \n [id]=\"'items-listbox-' + getIdPrefix()\"\n [doesChangeButtonText]=\"true\"\n [items]=\"itemsPerPageList\"\n (activeItemChange)=\"changeItemsPerPage($event)\">\n <desy-listbox-label [classes]=\"listboxLabel && listboxLabel.classes ? listboxLabel.classes : 'inline-block align-middle mb-0'\">\n <ng-container *ngIf=\"listboxLabel\">\n <ng-container *desyCustomInnerContent=\"{ component: listboxLabel }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!listboxLabel\">\n Items por p\u00E1gina\n </ng-container>\n </desy-listbox-label>\n </desy-listbox>\n</div>\n\n\n<p class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\" *ngIf=\"totalItems && itemsPerPage\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\n</p>\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: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "component", type: i3.ButtonComponent, selector: "desy-button", inputs: ["id", "classes", "html", "text", "element", "name", "type", "value", "disabled", "href", "target", "preventDoubleClick", "routerLink", "routerLinkActiveClasses"], outputs: ["clickEvent"] }, { kind: "component", type: i4.ListboxComponent, selector: "desy-listbox", inputs: ["id", "isMultiselectable", "doesChangeButtonText", "label", "classes", "classesContainer", "classesTooltip", "idPrefix", "disabled", "items"], outputs: ["itemsChange", "activeItemChange"] }, { kind: "component", type: i5.ListboxLabelComponent, selector: "desy-listbox-label", inputs: ["classes"] }, { kind: "pipe", type: i6.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationComponent, selector: "desy-pagination", inputs: { hasSelect: "hasSelect", idPrefix: "idPrefix", totalItems: "totalItems", hasPrevious: "hasPrevious", hasNext: "hasNext", hasFirst: "hasFirst", hasLast: "hasLast", showPrevious: "showPrevious", showNext: "showNext", showFirst: "showFirst", showLast: "showLast", previousText: "previousText", nextText: "nextText", firstText: "firstText", lastText: "lastText", hasSelectItemsPerPage: "hasSelectItemsPerPage", classes: "classes", classesContainer: "classesContainer", id: "id", currentPage: "currentPage", itemsPerPage: "itemsPerPage" }, outputs: { currentPageChange: "currentPageChange", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class": "this.classesContainer", "attr.id": "this.id" } }, queries: [{ propertyName: "listboxLabel", predicate: PaginationListboxLabelComponent }, { propertyName: "listboxItemsPerPage", predicate: PaginationItemPerPageComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"hasSelect\">\n <p class=\"w-full mb-xs text-sm text-neutral-dark\">\n Selecciona una p\u00E1gina para cargar datos\n </p>\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <desy-button *ngIf=\"showFirst\" (clickEvent)=\"first()\" [id]=\"getIdPrefix() + '-first'\"\n [html]=\"firstIcon + prefix + firstText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasFirst\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n <desy-button *ngIf=\"showPrevious\" (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n <div class=\"flex flex-wrap items-center pl-sm\"\n [ngClass]=\"{'w-full lg:w-auto': showFirst || showLast}\">\n <p *ngIf=\"showFirst || showLast\" class=\"lg:hidden mr-xs text-sm text-neutral-dark\">P\u00E1gina actual:</p>\n <desy-listbox *ngIf=\"items && items.length > 0\" [id]=\"id + '-listbox'\"\n [idPrefix]=\"idPrefix\"\n [text]=\"getActiveItemText()\"\n [classes]=\"'c-listbox--sm c-listbox--transparent mr-xs'\"\n [classesTooltip]=\"'max-h-52 overflow-y-auto'\"\n [doesChangeButtonText]=\"true\"\n [label]=\"{ text: 'Selecciona una p\u00E1gina para cargar datos', classes: 'sr-only' }\"\n [(items)]=\"items\"\n (activeItemChange)=\"handleActiveItemChange($event)\"></desy-listbox>\n </div>\n <desy-button *ngIf=\"showNext\" (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n <desy-button *ngIf=\"showLast\" (clickEvent)=\"last()\" [id]=\"getIdPrefix() + '-last'\"\n [html]=\"prefix + lastText + getSuffix(currentPage) + lastIcon\" [disabled]=\"currentPage === nPages || !hasLast\"\n classes=\"c-button--sm c-button--transparent mr-xs\" type=\"button\"></desy-button>\n </nav>\n</ng-container>\n<ng-container *ngIf=\"!hasSelect\">\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.active\" [id]=\"getButtonId(i)\"\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i) + '</strong>'\"\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\n [disabled]=\"true\" ariaCurrent=\"page\" tabindex=\"-1\" type=\"button\"></desy-button>\n <desy-button *ngIf=\"!item.active\" [id]=\"getButtonId(i)\"\n [html]=\"prefix + (i + 1) + getSuffix(i)\"\n (clickEvent)=\"changePage(i + 1)\"\n classes=\"mb-sm mr-sm\" type=\"button\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-container>\n \n<div *ngIf=\"hasSelectItemsPerPage\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\">\n <desy-listbox [classes]=\"'c-listbox--sm c-listbox--transparent'\" \n [classesContainer]=\"'flex flex-wrap items-center gap-xs'\" \n [id]=\"'items-listbox-' + getIdPrefix()\"\n [doesChangeButtonText]=\"true\"\n [items]=\"itemsPerPageList\"\n (activeItemChange)=\"changeItemsPerPage($event)\">\n <desy-listbox-label [classes]=\"listboxLabel && listboxLabel.classes ? listboxLabel.classes : 'inline-block align-middle mb-0'\">\n <ng-container *ngIf=\"listboxLabel\">\n <ng-container *desyCustomInnerContent=\"{ component: listboxLabel }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!listboxLabel\">\n Items por p\u00E1gina\n </ng-container>\n </desy-listbox-label>\n </desy-listbox>\n</div>\n\n\n<p class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\" *ngIf=\"totalItems && itemsPerPage\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\n</p>\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: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "component", type: i3.ButtonComponent, selector: "desy-button", inputs: ["id", "classes", "html", "text", "element", "name", "type", "value", "disabled", "href", "target", "preventDoubleClick", "fragment", "routerLink", "routerLinkActiveClasses"], outputs: ["clickEvent"] }, { kind: "component", type: i4.ListboxComponent, selector: "desy-listbox", inputs: ["id", "isMultiselectable", "doesChangeButtonText", "label", "classes", "classesContainer", "classesTooltip", "idPrefix", "disabled", "items"], outputs: ["itemsChange", "activeItemChange"] }, { kind: "component", type: i5.ListboxLabelComponent, selector: "desy-listbox-label", inputs: ["classes"] }, { kind: "pipe", type: i6.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
170
170
|
}
|
|
171
171
|
__decorate([
|
|
172
172
|
DesyContentChild(),
|