UNPKG

@versatiledatakit/shared

Version:

Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.

188 lines 19.2 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { Component, ContentChild, Input, TemplateRef } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@clr/angular"; const _c0 = ["customTemplate"]; function EmptyStateComponent_ng_container_0_clr_icon_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "clr-icon", 6); } if (rf & 2) { const ctx_r3 = i0.ɵɵnextContext(2); i0.ɵɵattribute("shape", ctx_r3.icon); } } function EmptyStateComponent_ng_container_0_ng_container_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "h1", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r4 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵattribute("aria-level", ctx_r4.headingLevel); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r4.title, " "); } } function EmptyStateComponent_ng_container_0_ng_container_6_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "h2", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r5 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵattribute("aria-level", ctx_r5.headingLevel); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r5.title, " "); } } function EmptyStateComponent_ng_container_0_ng_container_7_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "h3", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r6 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵattribute("aria-level", ctx_r6.headingLevel); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r6.title, " "); } } function EmptyStateComponent_ng_container_0_ng_container_8_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "h4", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r7 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵattribute("aria-level", ctx_r7.headingLevel); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r7.title, " "); } } function EmptyStateComponent_ng_container_0_ng_container_9_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "h5", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r8 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵattribute("aria-level", ctx_r8.headingLevel); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r8.title, " "); } } function EmptyStateComponent_ng_container_0_ng_container_10_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "h6", 7); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r9 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵattribute("aria-level", ctx_r9.headingLevel); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r9.title, " "); } } function EmptyStateComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 8); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r10 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r10.description, " "); } } function EmptyStateComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵtemplate(1, EmptyStateComponent_ng_container_0_clr_icon_1_Template, 1, 1, "clr-icon", 2); i0.ɵɵprojection(2); i0.ɵɵprojection(3, 1); i0.ɵɵelementContainerStart(4, 3); i0.ɵɵtemplate(5, EmptyStateComponent_ng_container_0_ng_container_5_Template, 3, 2, "ng-container", 4); i0.ɵɵtemplate(6, EmptyStateComponent_ng_container_0_ng_container_6_Template, 3, 2, "ng-container", 4); i0.ɵɵtemplate(7, EmptyStateComponent_ng_container_0_ng_container_7_Template, 3, 2, "ng-container", 4); i0.ɵɵtemplate(8, EmptyStateComponent_ng_container_0_ng_container_8_Template, 3, 2, "ng-container", 4); i0.ɵɵtemplate(9, EmptyStateComponent_ng_container_0_ng_container_9_Template, 3, 2, "ng-container", 4); i0.ɵɵtemplate(10, EmptyStateComponent_ng_container_0_ng_container_10_Template, 3, 2, "ng-container", 4); i0.ɵɵelementContainerEnd(); i0.ɵɵtemplate(11, EmptyStateComponent_ng_container_0_div_11_Template, 2, 1, "div", 5); i0.ɵɵprojection(12, 2); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.icon); i0.ɵɵadvance(3); i0.ɵɵproperty("ngSwitch", ctx_r0.headingLevel); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 1); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 2); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 3); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 4); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 5); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 6); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.description); } } function EmptyStateComponent_ng_template_1_ng_container_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainer(0); } } function EmptyStateComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, EmptyStateComponent_ng_template_1_ng_container_0_Template, 1, 0, "ng-container", 9); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.customTemplateRef); } } const _c1 = [[["img"]], [["ng-lottie"]], [["button"], ["a"]]]; const _c2 = ["img", "ng-lottie", "button, a"]; export class EmptyStateComponent { constructor() { /** * ** Title heading level for empty state Component. */ this.headingLevel = 2; } } EmptyStateComponent.ɵfac = function EmptyStateComponent_Factory(t) { return new (t || EmptyStateComponent)(); }; EmptyStateComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmptyStateComponent, selectors: [["shared-empty-state"]], contentQueries: function EmptyStateComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) { i0.ɵɵcontentQuery(dirIndex, _c0, 5, TemplateRef); } if (rf & 2) { let _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.customTemplateRef = _t.first); } }, inputs: { title: "title", icon: "icon", description: "description", headingLevel: "headingLevel" }, ngContentSelectors: _c2, decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["customTemplateContainer", ""], ["size", "64", 4, "ngIf"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "empty-placeholder-description", 4, "ngIf"], ["size", "64"], ["role", "heading", 1, "empty-placeholder-heading"], [1, "empty-placeholder-description"], [4, "ngTemplateOutlet"]], template: function EmptyStateComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵprojectionDef(_c1); i0.ɵɵtemplate(0, EmptyStateComponent_ng_container_0_Template, 13, 9, "ng-container", 0); i0.ɵɵtemplate(1, EmptyStateComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor); } if (rf & 2) { const _r1 = i0.ɵɵreference(2); i0.ɵɵproperty("ngIf", !ctx.customTemplateRef)("ngIfElse", _r1); } }, directives: [i1.NgIf, i2.ClrIconCustomTag, i1.NgSwitch, i1.NgSwitchCase, i1.NgTemplateOutlet], styles: ["[_nghost-%COMP%]{display:flex;align-items:center;flex-direction:column;margin:1rem 0}[_nghost-%COMP%] clr-icon[_ngcontent-%COMP%]{fill:#ccc}[_nghost-%COMP%] .empty-placeholder-heading[_ngcontent-%COMP%]{font-size:18px;color:#67747d;margin-top:18px;line-height:48px;font-weight:200}[_nghost-%COMP%] .empty-placeholder-description[_ngcontent-%COMP%]{margin-top:0;font-size:13px;color:#67747d;margin-bottom:18px;font-weight:200}[_nghost-%COMP%] button:last-child{margin-right:0!important}[_nghost-%COMP%] button.btn-link{margin-top:0!important}.dark[_nghost-%COMP%] h2[_ngcontent-%COMP%], .dark [_nghost-%COMP%] h2[_ngcontent-%COMP%], .dark[_nghost-%COMP%] h3[_ngcontent-%COMP%], .dark [_nghost-%COMP%] h3[_ngcontent-%COMP%]{color:#919fa8}"] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmptyStateComponent, [{ type: Component, args: [{ selector: 'shared-empty-state', template: "<!--\n ~ Copyright 2023-2025 Broadcom\n ~ SPDX-License-Identifier: Apache-2.0\n -->\n\n<ng-container *ngIf=\"!customTemplateRef; else customTemplateContainer\">\n <clr-icon *ngIf=\"icon\" [attr.shape]=\"icon\" size=\"64\"></clr-icon>\n\n <ng-content select=\"img\"></ng-content>\n <ng-content select=\"ng-lottie\"></ng-content>\n\n <ng-container [ngSwitch]=\"headingLevel\">\n <ng-container *ngSwitchCase=\"1\">\n <h1\n class=\"empty-placeholder-heading\"\n role=\"heading\"\n [attr.aria-level]=\"headingLevel\"\n >\n {{title}}\n </h1>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <h2\n class=\"empty-placeholder-heading\"\n role=\"heading\"\n [attr.aria-level]=\"headingLevel\"\n >\n {{title}}\n </h2>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <h3\n class=\"empty-placeholder-heading\"\n role=\"heading\"\n [attr.aria-level]=\"headingLevel\"\n >\n {{title}}\n </h3>\n </ng-container>\n <ng-container *ngSwitchCase=\"4\">\n <h4\n class=\"empty-placeholder-heading\"\n role=\"heading\"\n [attr.aria-level]=\"headingLevel\"\n >\n {{title}}\n </h4>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <h5\n class=\"empty-placeholder-heading\"\n role=\"heading\"\n [attr.aria-level]=\"headingLevel\"\n >\n {{title}}\n </h5>\n </ng-container>\n <ng-container *ngSwitchCase=\"6\">\n <h6\n class=\"empty-placeholder-heading\"\n role=\"heading\"\n [attr.aria-level]=\"headingLevel\"\n >\n {{title}}\n </h6>\n </ng-container>\n </ng-container>\n\n <div *ngIf=\"description\" class=\"empty-placeholder-description\">\n {{description}}\n </div>\n\n <ng-content select=\"button, a\"></ng-content>\n</ng-container>\n\n<ng-template #customTemplateContainer>\n <ng-container *ngTemplateOutlet=\"customTemplateRef\"></ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2023-2025 Broadcom\n * SPDX-License-Identifier: Apache-2.0\n */:host{display:flex;align-items:center;flex-direction:column;margin:1rem 0}:host clr-icon{fill:#ccc}:host .empty-placeholder-heading{font-size:18px;color:#67747d;margin-top:18px;line-height:48px;font-weight:200}:host .empty-placeholder-description{margin-top:0;font-size:13px;color:#67747d;margin-bottom:18px;font-weight:200}:host ::ng-deep button:last-child{margin-right:0!important}:host ::ng-deep button.btn-link{margin-top:0!important}:host-context(.dark) h2,:host-context(.dark) h3{color:#919fa8}\n"] }] }], null, { customTemplateRef: [{ type: ContentChild, args: ['customTemplate', { read: TemplateRef }] }], title: [{ type: Input }], icon: [{ type: Input }], description: [{ type: Input }], headingLevel: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvZmVhdHVyZXMvcGxhY2Vob2xkZXIvY29tcG9uZW50cy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9mZWF0dXJlcy9wbGFjZWhvbGRlci9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0N4RSw4QkFBZ0U7OztJQUF6QyxvQ0FBbUI7OztJQU10Qyw2QkFBZ0M7SUFDNUIsNkJBSUM7SUFDRyxZQUNKO0lBQUEsaUJBQUs7SUFDVCwwQkFBZTs7O0lBSlAsZUFBZ0M7SUFBaEMsaURBQWdDO0lBRWhDLGVBQ0o7SUFESSw2Q0FDSjs7O0lBRUosNkJBQWdDO0lBQzVCLDZCQUlDO0lBQ0csWUFDSjtJQUFBLGlCQUFLO0lBQ1QsMEJBQWU7OztJQUpQLGVBQWdDO0lBQWhDLGlEQUFnQztJQUVoQyxlQUNKO0lBREksNkNBQ0o7OztJQUVKLDZCQUFnQztJQUM1Qiw2QkFJQztJQUNHLFlBQ0o7SUFBQSxpQkFBSztJQUNULDBCQUFlOzs7SUFKUCxlQUFnQztJQUFoQyxpREFBZ0M7SUFFaEMsZUFDSjtJQURJLDZDQUNKOzs7SUFFSiw2QkFBZ0M7SUFDNUIsNkJBSUM7SUFDRyxZQUNKO0lBQUEsaUJBQUs7SUFDVCwwQkFBZTs7O0lBSlAsZUFBZ0M7SUFBaEMsaURBQWdDO0lBRWhDLGVBQ0o7SUFESSw2Q0FDSjs7O0lBRUosNkJBQWdDO0lBQzVCLDZCQUlDO0lBQ0csWUFDSjtJQUFBLGlCQUFLO0lBQ1QsMEJBQWU7OztJQUpQLGVBQWdDO0lBQWhDLGlEQUFnQztJQUVoQyxlQUNKO0lBREksNkNBQ0o7OztJQUVKLDZCQUFnQztJQUM1Qiw2QkFJQztJQUNHLFlBQ0o7SUFBQSxpQkFBSztJQUNULDBCQUFlOzs7SUFKUCxlQUFnQztJQUFoQyxpREFBZ0M7SUFFaEMsZUFDSjtJQURJLDZDQUNKOzs7SUFJUiw4QkFBK0Q7SUFDM0QsWUFDSjtJQUFBLGlCQUFNOzs7SUFERixlQUNKO0lBREksb0RBQ0o7OztJQWpFSiw2QkFBdUU7SUFDbkUsNkZBQWdFO0lBRWhFLGtCQUFzQztJQUN0QyxxQkFBNEM7SUFFNUMsZ0NBQXdDO0lBQ3BDLHFHQVFlO0lBQ2YscUdBUWU7SUFDZixxR0FRZTtJQUNmLHFHQVFlO0lBQ2YscUdBUWU7SUFDZix1R0FRZTtJQUNuQiwwQkFBZTtJQUVmLHFGQUVNO0lBRU4sc0JBQTRDO0lBQ2hELDBCQUFlOzs7SUFuRUEsZUFBVTtJQUFWLGtDQUFVO0lBS1AsZUFBeUI7SUFBekIsOENBQXlCO0lBQ3BCLGVBQWU7SUFBZixnQ0FBZTtJQVNmLGVBQWU7SUFBZixnQ0FBZTtJQVNmLGVBQWU7SUFBZixnQ0FBZTtJQVNmLGVBQWU7SUFBZixnQ0FBZTtJQVNmLGVBQWU7SUFBZixnQ0FBZTtJQVNmLGVBQWU7SUFBZixnQ0FBZTtJQVc1QixlQUFpQjtJQUFqQix5Q0FBaUI7OztJQVF2Qix3QkFBbUU7OztJQUFuRSxvR0FBbUU7OztJQUFwRCwyREFBbUM7Ozs7QURoRXRELE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUF1Qkk7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLENBQUMsQ0FBQztLQUM3Qjs7c0ZBdEJZLG1CQUFtQjtzRUFBbkIsbUJBQW1COzRDQUNZLFdBQVc7Ozs7OztRQ1J2RCx1RkFvRWU7UUFFZixxSEFFYzs7O1FBeEVDLDZDQUEwQixpQkFBQTs7dUZETzVCLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNJLG9CQUFvQjtnQkFLeUIsaUJBQWlCO2tCQUF2RSxZQUFZO21CQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUs1QyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxJQUFJO2tCQUFaLEtBQUs7WUFLRyxXQUFXO2tCQUFuQixLQUFLO1lBS0csWUFBWTtrQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMy0yMDI1IEJyb2FkY29tXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzaGFyZWQtZW1wdHktc3RhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbXB0eS1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZW1wdHktc3RhdGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbXB0eVN0YXRlQ29tcG9uZW50IHtcbiAgICBAQ29udGVudENoaWxkKCdjdXN0b21UZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgY3VzdG9tVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPG5ldmVyPjtcblxuICAgIC8qKlxuICAgICAqICoqIFRpdGxlIGZvciBlbXB0eSBzdGF0ZSBDb21wb25lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqICoqIEljb24gZm9yIGVtcHR5IHN0YXRlIENvbXBvbmVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiAqKiBEZXNjcmlwdGlvbiBmb3IgZW1wdHkgc3RhdGUgQ29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiAqKiBUaXRsZSBoZWFkaW5nIGxldmVsIGZvciBlbXB0eSBzdGF0ZSBDb21wb25lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgaGVhZGluZ0xldmVsID0gMjtcbn1cbiIsIjwhLS1cbiAgIH4gQ29weXJpZ2h0IDIwMjMtMjAyNSBCcm9hZGNvbVxuICAgfiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICAtLT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21UZW1wbGF0ZVJlZjsgZWxzZSBjdXN0b21UZW1wbGF0ZUNvbnRhaW5lclwiPlxuICAgIDxjbHItaWNvbiAqbmdJZj1cImljb25cIiBbYXR0ci5zaGFwZV09XCJpY29uXCIgc2l6ZT1cIjY0XCI+PC9jbHItaWNvbj5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImltZ1wiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuZy1sb3R0aWVcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiMVwiPlxuICAgICAgICAgICAgPGgxXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlbXB0eS1wbGFjZWhvbGRlci1oZWFkaW5nXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJoZWFkaW5nTGV2ZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7dGl0bGV9fVxuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjJcIj5cbiAgICAgICAgICAgIDxoMlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXItaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGV2ZWxdPVwiaGVhZGluZ0xldmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3RpdGxlfX1cbiAgICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIzXCI+XG4gICAgICAgICAgICA8aDNcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyLWhlYWRpbmdcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxldmVsXT1cImhlYWRpbmdMZXZlbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3t0aXRsZX19XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiNFwiPlxuICAgICAgICAgICAgPGg0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlbXB0eS1wbGFjZWhvbGRlci1oZWFkaW5nXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJoZWFkaW5nTGV2ZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7dGl0bGV9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjVcIj5cbiAgICAgICAgICAgIDxoNVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXItaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGV2ZWxdPVwiaGVhZGluZ0xldmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3RpdGxlfX1cbiAgICAgICAgICAgIDwvaDU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCI2XCI+XG4gICAgICAgICAgICA8aDZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyLWhlYWRpbmdcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxldmVsXT1cImhlYWRpbmdMZXZlbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3t0aXRsZX19XG4gICAgICAgICAgICA8L2g2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXItZGVzY3JpcHRpb25cIj5cbiAgICAgICAge3tkZXNjcmlwdGlvbn19XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJidXR0b24sIGFcIj48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21UZW1wbGF0ZUNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=