@bizdoc/core 1.14.13 → 1.14.16
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/assets/bizdoc-schema.json +146 -125
- package/esm2020/lib/admin/admin-dismiss.service.mjs +15 -9
- package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/node.component.mjs +63 -31
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +314 -166
- package/esm2020/lib/admin/positions/positions.component.mjs +6 -5
- package/esm2020/lib/admin/profiler/profiler.component.mjs +2 -2
- package/esm2020/lib/compose/dismiss.service.mjs +2 -2
- package/esm2020/lib/core/save-changes.dialog.mjs +18 -0
- package/esm2020/lib/core/slots/router.service.mjs +1 -1
- package/esm2020/lib/core/translations.mjs +2 -2
- package/esm2020/lib/shared.module.mjs +2 -2
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +432 -247
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +429 -243
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/admin-dismiss.service.d.ts +3 -3
- package/lib/admin/core/color-picker.input.d.ts +1 -1
- package/lib/admin/form/workflow/node.component.d.ts +8 -7
- package/lib/admin/form/workflow/workflow.component.d.ts +13 -12
- package/lib/admin/positions/positions.component.d.ts +1 -0
- package/lib/{compose → core}/save-changes.dialog.d.ts +0 -0
- package/lib/core/slots/router.service.d.ts +1 -1
- package/lib/shared.module.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2020/lib/compose/save-changes.dialog.mjs +0 -18
| @@ -1,9 +1,9 @@ | |
| 1 | 
            +
            import { MatDialog } from "@angular/material/dialog";
         | 
| 1 2 | 
             
            import { CanDismiss } from "../core/configuration";
         | 
| 2 | 
            -
            import { PromptService } from "../core/prompt.service";
         | 
| 3 3 | 
             
            import * as i0 from "@angular/core";
         | 
| 4 4 | 
             
            export declare class AdminDismiss implements CanDismiss<AdminComponent> {
         | 
| 5 | 
            -
                private  | 
| 6 | 
            -
                constructor( | 
| 5 | 
            +
                private _dialog;
         | 
| 6 | 
            +
                constructor(_dialog: MatDialog);
         | 
| 7 7 | 
             
                onDismiss(component: AdminComponent): Promise<boolean> | boolean;
         | 
| 8 8 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<AdminDismiss, never>;
         | 
| 9 9 | 
             
                static ɵprov: i0.ɵɵInjectableDeclaration<AdminDismiss>;
         | 
| @@ -60,5 +60,5 @@ export declare class ColorPicker implements MatFormFieldControl<string>, Control | |
| 60 60 | 
             
                _pick(color: string): void;
         | 
| 61 61 | 
             
                private _createOverlay;
         | 
| 62 62 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<ColorPicker, [{ optional: true; self: true; }, null, null, null, null]>;
         | 
| 63 | 
            -
                static ɵcmp: i0.ɵɵComponentDeclaration<ColorPicker, " | 
| 63 | 
            +
                static ɵcmp: i0.ɵɵComponentDeclaration<ColorPicker, "bizdoc-color-picker", never, { "label": "label"; "required": "required"; "disabled": "disabled"; }, { "valueChanges": "valueChanges"; }, never, never>;
         | 
| 64 64 | 
             
            }
         | 
| @@ -1,12 +1,11 @@ | |
| 1 | 
            -
            import { ComponentFactoryResolver, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
         | 
| 2 | 
            -
            import { Injector } from '@angular/core';
         | 
| 1 | 
            +
            import { ComponentFactoryResolver, EventEmitter, OnDestroy, OnInit, ViewContainerRef, TemplateRef, Injector } from '@angular/core';
         | 
| 3 2 | 
             
            import { FormBuilder } from '@angular/forms';
         | 
| 4 | 
            -
            import {  | 
| 3 | 
            +
            import { MatButtonToggleChange } from '@angular/material/button-toggle';
         | 
| 4 | 
            +
            import { ConnectorModel, Diagram, NodeModel } from '@syncfusion/ej2-angular-diagrams';
         | 
| 5 5 | 
             
            import { BizDocComponentFactoryResolver } from '../../../core/component-factory-resolver';
         | 
| 6 6 | 
             
            import { Action, FlowNode } from '../../../core/models';
         | 
| 7 7 | 
             
            import { SessionService } from '../../../core/session.service';
         | 
| 8 8 | 
             
            import { PaneRef } from '../../../core/slots/pane-ref';
         | 
| 9 | 
            -
            import { EventEmitter } from '@angular/core';
         | 
| 10 9 | 
             
            import { TranslateService } from '../../../core/translate.service';
         | 
| 11 10 | 
             
            import * as i0 from "@angular/core";
         | 
| 12 11 | 
             
            export declare class WorkflowNodeComponent implements OnInit, OnDestroy {
         | 
| @@ -19,18 +18,20 @@ export declare class WorkflowNodeComponent implements OnInit, OnDestroy { | |
| 19 18 | 
             
                private _pane;
         | 
| 20 19 | 
             
                readonly change: EventEmitter<any>;
         | 
| 21 20 | 
             
                argumentstemplate: ViewContainerRef;
         | 
| 21 | 
            +
                connectorargs: TemplateRef<any>;
         | 
| 22 22 | 
             
                nodes: NodeModel[];
         | 
| 23 23 | 
             
                connectors: ConnectorModel[];
         | 
| 24 | 
            -
                 | 
| 24 | 
            +
                diagram: Diagram;
         | 
| 25 | 
            +
                readonly connector: import("@angular/forms").FormGroup;
         | 
| 25 26 | 
             
                actions: Action[];
         | 
| 26 27 | 
             
                tool?: FlowNode;
         | 
| 27 | 
            -
                private _elementDestroy;
         | 
| 28 28 | 
             
                node: NodeModel;
         | 
| 29 | 
            +
                private _elementDestroy;
         | 
| 29 30 | 
             
                constructor(_session: SessionService, _factoryResolver: BizDocComponentFactoryResolver, _cf: ComponentFactoryResolver, _injector: Injector, _translate: TranslateService, _fb: FormBuilder, _pane: PaneRef<WorkflowNodeComponent>);
         | 
| 30 31 | 
             
                ngOnInit(): void;
         | 
| 31 32 | 
             
                private _createLayoutArguments;
         | 
| 32 33 | 
             
                private _createToolTemplate;
         | 
| 33 | 
            -
                connectorCaseChange( | 
| 34 | 
            +
                connectorCaseChange(evt?: MatButtonToggleChange): void;
         | 
| 34 35 | 
             
                ngOnDestroy(): void;
         | 
| 35 36 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowNodeComponent, never>;
         | 
| 36 37 | 
             
                static ɵcmp: i0.ɵɵComponentDeclaration<WorkflowNodeComponent, "ng-component", never, {}, { "change": "change"; }, never, never>;
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            import { OnDestroy, ElementRef, OnInit, AfterViewInit } from '@angular/core';
         | 
| 2 | 
            -
            import { DiagramConstraints,  | 
| 2 | 
            +
            import { DiagramConstraints, ConnectorModel, ScrollSettingsModel, Diagram, NodeModel, SymbolInfo, IDragEnterEventArgs, SnapSettingsModel, MarginModel, PaletteModel, Segments, SelectorModel, RulerSettingsModel, AlignmentOptions, SymbolPalette, ISelectionChangeEventArgs } from '@syncfusion/ej2-angular-diagrams';
         | 
| 3 3 | 
             
            import { SessionService } from '../../../core/session.service';
         | 
| 4 4 | 
             
            import { FormService } from '../form.service';
         | 
| 5 5 | 
             
            import { PromptService } from '../../../core/prompt.service';
         | 
| @@ -7,7 +7,6 @@ import { TranslateService } from '../../../core/translate.service'; | |
| 7 7 | 
             
            import { PaneRef } from '../../../core/slots/pane-ref';
         | 
| 8 8 | 
             
            import { PanesRouter } from '../../../core/slots/router.service';
         | 
| 9 9 | 
             
            import { AdminComponent } from '../../admin-dismiss.service';
         | 
| 10 | 
            -
            import { ISelectionChangeEventArgs } from '@syncfusion/ej2-angular-diagrams';
         | 
| 11 10 | 
             
            import * as i0 from "@angular/core";
         | 
| 12 11 | 
             
            export declare class WorkflowComponent implements OnInit, AfterViewInit, OnDestroy, AdminComponent {
         | 
| 13 12 | 
             
                private ps;
         | 
| @@ -17,38 +16,38 @@ export declare class WorkflowComponent implements OnInit, AfterViewInit, OnDestr | |
| 17 16 | 
             
                private _session;
         | 
| 18 17 | 
             
                private _translate;
         | 
| 19 18 | 
             
                symbolPalette: SymbolPalette;
         | 
| 19 | 
            +
                readonly fontSizes: number[];
         | 
| 20 20 | 
             
                diagram: Diagram;
         | 
| 21 21 | 
             
                symbolPaletteEl: ElementRef;
         | 
| 22 22 | 
             
                diagramEl: ElementRef;
         | 
| 23 | 
            -
                 | 
| 23 | 
            +
                private _tools;
         | 
| 24 | 
            +
                get tools(): boolean;
         | 
| 25 | 
            +
                set tools(val: boolean);
         | 
| 24 26 | 
             
                connectorType: Segments;
         | 
| 25 27 | 
             
                alignment: AlignmentOptions;
         | 
| 26 28 | 
             
                fontSize: number;
         | 
| 27 | 
            -
                getTool(action: string): ToolBase;
         | 
| 28 29 | 
             
                saving: boolean;
         | 
| 29 30 | 
             
                element?: any;
         | 
| 30 31 | 
             
                dirty: boolean;
         | 
| 31 32 | 
             
                params: {};
         | 
| 32 | 
            -
                palettes: PaletteModel[];
         | 
| 33 | 
            +
                readonly palettes: PaletteModel[];
         | 
| 33 34 | 
             
                diagramConstraints: DiagramConstraints;
         | 
| 34 | 
            -
                diagramTool: DiagramTools;
         | 
| 35 | 
            -
                private readonly _userHandles;
         | 
| 36 35 | 
             
                readonly symbolMargin: MarginModel;
         | 
| 37 36 | 
             
                readonly snapSettings: SnapSettingsModel;
         | 
| 38 37 | 
             
                readonly selectedItems: SelectorModel;
         | 
| 39 38 | 
             
                readonly scrollSettings: ScrollSettingsModel;
         | 
| 40 | 
            -
                private _rulerColor;
         | 
| 41 39 | 
             
                readonly rulerSettings: RulerSettingsModel;
         | 
| 42 40 | 
             
                private _form;
         | 
| 43 41 | 
             
                private readonly _destroy;
         | 
| 42 | 
            +
                private readonly _nodedestroy;
         | 
| 44 43 | 
             
                /** workflow ctor */
         | 
| 45 44 | 
             
                constructor(ps: PromptService, _service: FormService, _pane: PaneRef<WorkflowComponent>, _router: PanesRouter, _session: SessionService, _translate: TranslateService);
         | 
| 46 45 | 
             
                ngAfterViewInit(): void;
         | 
| 47 46 | 
             
                ngOnInit(): void;
         | 
| 48 47 | 
             
                private _palettes;
         | 
| 49 48 | 
             
                private _versionNode;
         | 
| 50 | 
            -
                nodeDefaults: () => NodeModel;
         | 
| 51 | 
            -
                connDefaults: (obj: ConnectorModel) =>  | 
| 49 | 
            +
                nodeDefaults: (obj: NodeModel) => NodeModel;
         | 
| 50 | 
            +
                connDefaults: (obj: ConnectorModel) => ConnectorModel;
         | 
| 52 51 | 
             
                getSymbolInfo(symbol: NodeModel): SymbolInfo;
         | 
| 53 52 | 
             
                getSymbolDefaults(symbol: NodeModel): void;
         | 
| 54 53 | 
             
                pan(): void;
         | 
| @@ -58,7 +57,7 @@ export declare class WorkflowComponent implements OnInit, AfterViewInit, OnDestr | |
| 58 57 | 
             
                dragEnter(args: IDragEnterEventArgs): void;
         | 
| 59 58 | 
             
                propertyChange(e: any): void;
         | 
| 60 59 | 
             
                change(): void;
         | 
| 61 | 
            -
                 | 
| 60 | 
            +
                collectionChange(): void;
         | 
| 62 61 | 
             
                /**
         | 
| 63 62 | 
             
                 * Ctrl-s save
         | 
| 64 63 | 
             
                 * @param event
         | 
| @@ -67,7 +66,9 @@ export declare class WorkflowComponent implements OnInit, AfterViewInit, OnDestr | |
| 67 66 | 
             
                bgChange(val: string): void;
         | 
| 68 67 | 
             
                colorChange(val: string): void;
         | 
| 69 68 | 
             
                connectorTypeChange(type: Segments): void;
         | 
| 70 | 
            -
                 | 
| 69 | 
            +
                boldChange(): void;
         | 
| 70 | 
            +
                italicChange(): void;
         | 
| 71 | 
            +
                fontSizeChange(val: number): void;
         | 
| 71 72 | 
             
                strokeChange(val: string): void;
         | 
| 72 73 | 
             
                save(): Promise<any>;
         | 
| 73 74 | 
             
                ngOnDestroy(): void;
         | 
| 
            File without changes
         | 
| @@ -13,7 +13,7 @@ export declare class PanesRouter { | |
| 13 13 | 
             
                } & NavigationOptions>;
         | 
| 14 14 | 
             
                constructor();
         | 
| 15 15 | 
             
                navigate(commands: (string | number)[], options?: NavigationOptions): any;
         | 
| 16 | 
            -
                navigate<T>(commands: ComponentType<T>, options?: NavigationOptions):  | 
| 16 | 
            +
                navigate<T>(commands: ComponentType<T>, options?: NavigationOptions): Promise<PaneRef<T>>;
         | 
| 17 17 | 
             
                get events(): import("rxjs").Observable<NavigationBase>;
         | 
| 18 18 | 
             
                collapse(): void;
         | 
| 19 19 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<PanesRouter, never>;
         | 
    
        package/lib/shared.module.d.ts
    CHANGED
    
    | @@ -136,7 +136,7 @@ import * as i132 from "./reports/arguments-component"; | |
| 136 136 | 
             
            import * as i133 from "./dashboard/dashboard.component";
         | 
| 137 137 | 
             
            import * as i134 from "./dashboard/widget-item.component";
         | 
| 138 138 | 
             
            import * as i135 from "./dashboard/cube/filter/filter.component";
         | 
| 139 | 
            -
            import * as i136 from "./ | 
| 139 | 
            +
            import * as i136 from "./core/save-changes.dialog";
         | 
| 140 140 | 
             
            import * as i137 from "./core/prompt/ask/ask.dialog";
         | 
| 141 141 | 
             
            import * as i138 from "./home/about/about.dialog";
         | 
| 142 142 | 
             
            import * as i139 from "./compose/action/action.dialog";
         | 
    
        package/package.json
    CHANGED
    
    
    
        package/public-api.d.ts
    CHANGED
    
    | @@ -115,7 +115,7 @@ export { MatIconAnimate } from './lib/core/animated-icon/animated-icon.directive | |
| 115 115 | 
             
            export { registerComponents } from './lib/core/component-factory-resolver';
         | 
| 116 116 | 
             
            export { TooltipDirective } from './lib/core/popup/tooltip.directive';
         | 
| 117 117 | 
             
            export { DashboardComponent } from './lib/dashboard/dashboard.component';
         | 
| 118 | 
            -
            export { SaveChangesDialog } from './lib/ | 
| 118 | 
            +
            export { SaveChangesDialog } from './lib/core/save-changes.dialog';
         | 
| 119 119 | 
             
            export { TagsComponent } from './lib/compose/tag/tags.component';
         | 
| 120 120 | 
             
            export { RecipientResolveService, DocumentResolveService } from './lib/compose/compose-resolve.service';
         | 
| 121 121 | 
             
            export { QuickCommentComponent } from './lib/compose/comments/quick-comment.component.exp';
         | 
| @@ -1,18 +0,0 @@ | |
| 1 | 
            -
            import { Component } from "@angular/core";
         | 
| 2 | 
            -
            import { playAudio } from "../core/functions";
         | 
| 3 | 
            -
            import * as i0 from "@angular/core";
         | 
| 4 | 
            -
            import * as i1 from "@angular/material/button";
         | 
| 5 | 
            -
            import * as i2 from "@angular/material/dialog";
         | 
| 6 | 
            -
            import * as i3 from "../core/pipes/translate.pipe";
         | 
| 7 | 
            -
            export class SaveChangesDialog {
         | 
| 8 | 
            -
                ngOnInit() {
         | 
| 9 | 
            -
                    playAudio('alert_error-03');
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
            }
         | 
| 12 | 
            -
            SaveChangesDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
         | 
| 13 | 
            -
            SaveChangesDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SaveChangesDialog, selector: "ng-component", ngImport: i0, template: "  <h2 mat-dialog-title>\r\n      {{'SaveChanges' | translate}}\r\n  </h2>\r\n  <mat-dialog-content>\r\n    <p class=\"mat-body\">\r\n      {{'SaveChangesAsk' | translate}}\r\n    </p>\r\n  </mat-dialog-content>\r\n  <mat-dialog-actions>\r\n    <button mat-button [mat-dialog-close]=true color=\"primary\" cdkFocusInitial>{{'Save'|translate}}</button>\r\n    <button mat-button [mat-dialog-close]=\"false\">{{'ContinueEditing'|translate}}</button>\r\n    <button mat-button mat-dialog-close>{{'DiscardChanges'|translate}}</button>\r\n  </mat-dialog-actions>\r\n", components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button],             button[mat-fab], button[mat-mini-fab], button[mat-stroked-button],             button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i3.TranslatePipe } });
         | 
| 14 | 
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, decorators: [{
         | 
| 15 | 
            -
                        type: Component,
         | 
| 16 | 
            -
                        args: [{ template: "  <h2 mat-dialog-title>\r\n      {{'SaveChanges' | translate}}\r\n  </h2>\r\n  <mat-dialog-content>\r\n    <p class=\"mat-body\">\r\n      {{'SaveChangesAsk' | translate}}\r\n    </p>\r\n  </mat-dialog-content>\r\n  <mat-dialog-actions>\r\n    <button mat-button [mat-dialog-close]=true color=\"primary\" cdkFocusInitial>{{'Save'|translate}}</button>\r\n    <button mat-button [mat-dialog-close]=\"false\">{{'ContinueEditing'|translate}}</button>\r\n    <button mat-button mat-dialog-close>{{'DiscardChanges'|translate}}</button>\r\n  </mat-dialog-actions>\r\n" }]
         | 
| 17 | 
            -
                    }] });
         | 
| 18 | 
            -
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1jaGFuZ2VzLmRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9zYXZlLWNoYW5nZXMuZGlhbG9nLnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3NhdmUtY2hhbmdlcy5kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFHOUMsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixRQUFRO1FBQ04sU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OEdBSFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RDSjlCLGtqQkFhQTsyRkRUYSxpQkFBaUI7a0JBRDdCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHBsYXlBdWRpbyB9IGZyb20gXCIuLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnLi9zYXZlLWNoYW5nZXMuZGlhbG9nLmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBTYXZlQ2hhbmdlc0RpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBwbGF5QXVkaW8oJ2FsZXJ0X2Vycm9yLTAzJyk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCIgIDxoMiBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gICAgICB7eydTYXZlQ2hhbmdlcycgfCB0cmFuc2xhdGV9fVxyXG4gIDwvaDI+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxwIGNsYXNzPVwibWF0LWJvZHlcIj5cclxuICAgICAge3snU2F2ZUNoYW5nZXNBc2snIHwgdHJhbnNsYXRlfX1cclxuICAgIDwvcD5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT10cnVlIGNvbG9yPVwicHJpbWFyeVwiIGNka0ZvY3VzSW5pdGlhbD57eydTYXZlJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCI+e3snQ29udGludWVFZGl0aW5nJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+e3snRGlzY2FyZENoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==
         |