cilog-lib 1.10.19 → 1.10.21
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/fesm2022/cilog-lib.mjs +97 -102
- package/fesm2022/cilog-lib.mjs.map +1 -1
- package/package.json +3 -5
- package/types/cilog-lib.d.ts +538 -0
- package/esm2022/cilog-lib.mjs +0 -5
- package/esm2022/lib/cilog-lib.component.mjs +0 -22
- package/esm2022/lib/cilog-lib.module.mjs +0 -96
- package/esm2022/lib/cilog-lib.service.mjs +0 -14
- package/esm2022/lib/helpers/enums/grille.enum.mjs +0 -51
- package/esm2022/lib/helpers/interfaces/edition.interface.mjs +0 -2
- package/esm2022/lib/helpers/interfaces/editor.interface.mjs +0 -2
- package/esm2022/lib/helpers/interfaces/grille.interface.mjs +0 -2
- package/esm2022/lib/helpers/interfaces/message.interface.mjs +0 -2
- package/esm2022/lib/helpers/pipes/value.pipe.mjs +0 -27
- package/esm2022/lib/modules/primeng.module.mjs +0 -86
- package/esm2022/lib/services/excel.service.mjs +0 -179
- package/esm2022/lib/services/message.service.mjs +0 -30
- package/esm2022/lib/services/table.service.mjs +0 -14
- package/esm2022/lib/views/cilog-input-number/cilog-input-number.component.mjs +0 -251
- package/esm2022/lib/views/documentation/documentation-contextuelle.component.mjs +0 -156
- package/esm2022/lib/views/editor/editor.component.mjs +0 -38
- package/esm2022/lib/views/message/message.component.mjs +0 -77
- package/esm2022/lib/views/table/table.component.mjs +0 -674
- package/esm2022/public-api.mjs +0 -24
- package/index.d.ts +0 -5
- package/lib/cilog-lib.component.d.ts +0 -8
- package/lib/cilog-lib.module.d.ts +0 -21
- package/lib/cilog-lib.service.d.ts +0 -6
- package/lib/helpers/enums/grille.enum.d.ts +0 -44
- package/lib/helpers/interfaces/edition.interface.d.ts +0 -34
- package/lib/helpers/interfaces/editor.interface.d.ts +0 -4
- package/lib/helpers/interfaces/grille.interface.d.ts +0 -166
- package/lib/helpers/interfaces/message.interface.d.ts +0 -6
- package/lib/helpers/pipes/value.pipe.d.ts +0 -7
- package/lib/modules/primeng.module.d.ts +0 -24
- package/lib/services/excel.service.d.ts +0 -15
- package/lib/services/message.service.d.ts +0 -12
- package/lib/services/table.service.d.ts +0 -6
- package/lib/views/cilog-input-number/cilog-input-number.component.d.ts +0 -40
- package/lib/views/documentation/documentation-contextuelle.component.d.ts +0 -49
- package/lib/views/editor/editor.component.d.ts +0 -17
- package/lib/views/message/message.component.d.ts +0 -17
- package/lib/views/table/table.component.d.ts +0 -83
- package/public-api.d.ts +0 -15
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/message.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "primeng/dialog";
|
|
6
|
-
import * as i4 from "primeng/api";
|
|
7
|
-
import * as i5 from "primeng/button";
|
|
8
|
-
export class CilogMessageComponent {
|
|
9
|
-
constructor(messageService) {
|
|
10
|
-
this.messageService = messageService;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this.display = false;
|
|
14
|
-
this.messageService.message.subscribe(message => {
|
|
15
|
-
if (message != null) {
|
|
16
|
-
this.message = message;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
this.messageService.display.subscribe(display => {
|
|
20
|
-
if (display != null) {
|
|
21
|
-
this.display = display;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
headerBySeverity() {
|
|
26
|
-
if (this.message != null) {
|
|
27
|
-
switch (this.message.severity) {
|
|
28
|
-
case 'warn':
|
|
29
|
-
return 'Attention';
|
|
30
|
-
case 'error':
|
|
31
|
-
return 'Erreur';
|
|
32
|
-
case 'success':
|
|
33
|
-
return 'Succès';
|
|
34
|
-
case 'info':
|
|
35
|
-
return 'Information';
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
iconBySeverity() {
|
|
40
|
-
if (this.message != null) {
|
|
41
|
-
switch (this.message.severity) {
|
|
42
|
-
case 'warn':
|
|
43
|
-
return 'pi-exclamation-triangle';
|
|
44
|
-
case 'error':
|
|
45
|
-
return 'pi-exclamation-circle';
|
|
46
|
-
case 'success':
|
|
47
|
-
return 'pi-check';
|
|
48
|
-
case 'info':
|
|
49
|
-
return 'pi-info-circle';
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
classBySeverity() {
|
|
54
|
-
if (this.message != null) {
|
|
55
|
-
switch (this.message.severity) {
|
|
56
|
-
case 'warn':
|
|
57
|
-
return 'message_warn';
|
|
58
|
-
case 'error':
|
|
59
|
-
return 'message_error';
|
|
60
|
-
case 'success':
|
|
61
|
-
return 'message_success';
|
|
62
|
-
case 'info':
|
|
63
|
-
return 'message_info';
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
refreshPage() {
|
|
68
|
-
window.location.reload();
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CilogMessageComponent, deps: [{ token: i1.CilogMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CilogMessageComponent, selector: "cilog-message", ngImport: i0, template: "<p-dialog [styleClass]=\"classBySeverity()\"\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [baseZIndex]=\"10000\"\r\n [closable]=\"false\"\r\n [resizable]=\"false\"\r\n [draggable]=\"false\">\r\n\r\n <!-- Header -->\r\n <ng-template pTemplate=\"header\">\r\n <i class=\"pi {{ iconBySeverity() }} header_icon\"></i>\r\n <span class=\"header_text\">{{ headerBySeverity() }}</span>\r\n </ng-template>\r\n\r\n <!-- Content -->\r\n <p class=\"content mb-3\"\r\n [innerHTML]=\"message?.content\">\r\n </p>\r\n\r\n <!-- Boutons -->\r\n <button pButton\r\n *ngIf=\"message?.closable == true && message?.refresh == false\"\r\n icon=\"pi pi-check\"\r\n (click)=\"display=false\"\r\n label=\"Ok\"\r\n style=\"float:right;\"\r\n class=\"p-button-text\">\r\n </button>\r\n <button pButton\r\n *ngIf=\"message?.refresh == true\"\r\n icon=\"pi pi-refresh\"\r\n (click)=\"refreshPage()\"\r\n label=\"Rafra\u00EEchir\"\r\n style=\"float:right;\"\r\n class=\"p-button-text\">\r\n </button>\r\n\r\n</p-dialog>\r\n", styles: [":host ::ng-deep .message_success>div{background-color:#b7fdc0}:host ::ng-deep .message_error>div{background-color:#fdb8b7}:host ::ng-deep .message_warn>div{background-color:#fff5ba}:host ::ng-deep .message_info>div{background-color:#b7eefd}:host ::ng-deep .p-dialog-content,:host ::ng-deep .p-dialog-footer,:host ::ng-deep .p-dialog-header{padding:10px}:host ::ng-deep .content{margin:4px;white-space:pre}:host ::ng-deep .p-button-text{padding-top:0;padding-bottom:3px}:host ::ng-deep .header_text{font-weight:500;font-size:1.25rem;margin-left:10px}:host ::ng-deep .header_icon{font-size:1.5rem}:host ::ng-deep .p-dialog-header{justify-content:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }] }); }
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CilogMessageComponent, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{ selector: 'cilog-message', template: "<p-dialog [styleClass]=\"classBySeverity()\"\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [baseZIndex]=\"10000\"\r\n [closable]=\"false\"\r\n [resizable]=\"false\"\r\n [draggable]=\"false\">\r\n\r\n <!-- Header -->\r\n <ng-template pTemplate=\"header\">\r\n <i class=\"pi {{ iconBySeverity() }} header_icon\"></i>\r\n <span class=\"header_text\">{{ headerBySeverity() }}</span>\r\n </ng-template>\r\n\r\n <!-- Content -->\r\n <p class=\"content mb-3\"\r\n [innerHTML]=\"message?.content\">\r\n </p>\r\n\r\n <!-- Boutons -->\r\n <button pButton\r\n *ngIf=\"message?.closable == true && message?.refresh == false\"\r\n icon=\"pi pi-check\"\r\n (click)=\"display=false\"\r\n label=\"Ok\"\r\n style=\"float:right;\"\r\n class=\"p-button-text\">\r\n </button>\r\n <button pButton\r\n *ngIf=\"message?.refresh == true\"\r\n icon=\"pi pi-refresh\"\r\n (click)=\"refreshPage()\"\r\n label=\"Rafra\u00EEchir\"\r\n style=\"float:right;\"\r\n class=\"p-button-text\">\r\n </button>\r\n\r\n</p-dialog>\r\n", styles: [":host ::ng-deep .message_success>div{background-color:#b7fdc0}:host ::ng-deep .message_error>div{background-color:#fdb8b7}:host ::ng-deep .message_warn>div{background-color:#fff5ba}:host ::ng-deep .message_info>div{background-color:#b7eefd}:host ::ng-deep .p-dialog-content,:host ::ng-deep .p-dialog-footer,:host ::ng-deep .p-dialog-header{padding:10px}:host ::ng-deep .content{margin:4px;white-space:pre}:host ::ng-deep .p-button-text{padding-top:0;padding-bottom:3px}:host ::ng-deep .header_text{font-weight:500;font-size:1.25rem;margin-left:10px}:host ::ng-deep .header_icon{font-size:1.5rem}:host ::ng-deep .p-dialog-header{justify-content:inherit}\n"] }]
|
|
76
|
-
}], ctorParameters: () => [{ type: i1.CilogMessageService }] });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaWxvZy1saWIvc3JjL2xpYi92aWV3cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2lsb2ctbGliL3NyYy9saWIvdmlld3MvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFPbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUFtQixjQUFtQztRQUFuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7SUFBSSxDQUFDO0lBRTNELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzNCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QyxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzVCLEtBQUssTUFBTTtvQkFDUCxPQUFPLFdBQVcsQ0FBQztnQkFDdkIsS0FBSyxPQUFPO29CQUNSLE9BQU8sUUFBUSxDQUFBO2dCQUNuQixLQUFLLFNBQVM7b0JBQ1YsT0FBTyxRQUFRLENBQUE7Z0JBQ25CLEtBQUssTUFBTTtvQkFDUCxPQUFPLGFBQWEsQ0FBQTtZQUM1QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxNQUFNO29CQUNQLE9BQU8seUJBQXlCLENBQUM7Z0JBQ3JDLEtBQUssT0FBTztvQkFDUixPQUFPLHVCQUF1QixDQUFBO2dCQUNsQyxLQUFLLFNBQVM7b0JBQ1YsT0FBTyxVQUFVLENBQUE7Z0JBQ3JCLEtBQUssTUFBTTtvQkFDUCxPQUFPLGdCQUFnQixDQUFBO1lBQy9CLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixLQUFLLE1BQU07b0JBQ1AsT0FBTyxjQUFjLENBQUM7Z0JBQzFCLEtBQUssT0FBTztvQkFDUixPQUFPLGVBQWUsQ0FBQTtnQkFDMUIsS0FBSyxTQUFTO29CQUNWLE9BQU8saUJBQWlCLENBQUE7Z0JBQzVCLEtBQUssTUFBTTtvQkFDUCxPQUFPLGNBQWMsQ0FBQTtZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQXRFUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixxRENUbEMsMHRDQXNDQTs7NEZEN0JhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2lsb2dNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbnRlcmZhY2VzL21lc3NhZ2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjaWxvZy1tZXNzYWdlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL21lc3NhZ2UuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2lsb2dNZXNzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBkaXNwbGF5OiBib29sZWFuO1xyXG4gICAgbWVzc2FnZTogSU1lc3NhZ2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIG1lc3NhZ2VTZXJ2aWNlOiBDaWxvZ01lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5tZXNzYWdlLnN1YnNjcmliZShtZXNzYWdlID0+IHtcclxuICAgICAgICAgICAgaWYgKG1lc3NhZ2UgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmRpc3BsYXkuc3Vic2NyaWJlKGRpc3BsYXkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGlzcGxheSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXkgPSBkaXNwbGF5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGVhZGVyQnlTZXZlcml0eSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2UgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMubWVzc2FnZS5zZXZlcml0eSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnd2Fybic6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBdHRlbnRpb24nO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnRXJyZXVyJ1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdTdWNjw6hzJ1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdJbmZvcm1hdGlvbidcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpY29uQnlTZXZlcml0eSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2UgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMubWVzc2FnZS5zZXZlcml0eSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnd2Fybic6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdwaS1leGNsYW1hdGlvbi10cmlhbmdsZSc7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdlcnJvcic6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdwaS1leGNsYW1hdGlvbi1jaXJjbGUnXHJcbiAgICAgICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpLWNoZWNrJ1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdwaS1pbmZvLWNpcmNsZSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGFzc0J5U2V2ZXJpdHkoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5tZXNzYWdlICE9IG51bGwpIHtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLm1lc3NhZ2Uuc2V2ZXJpdHkpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnbWVzc2FnZV93YXJuJztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ21lc3NhZ2VfZXJyb3InXHJcbiAgICAgICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ21lc3NhZ2Vfc3VjY2VzcydcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnbWVzc2FnZV9pbmZvJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZnJlc2hQYWdlKCkge1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8cC1kaWFsb2cgW3N0eWxlQ2xhc3NdPVwiY2xhc3NCeVNldmVyaXR5KClcIlxyXG4gICAgICAgICAgWyh2aXNpYmxlKV09XCJkaXNwbGF5XCJcclxuICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtiYXNlWkluZGV4XT1cIjEwMDAwXCJcclxuICAgICAgICAgIFtjbG9zYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbcmVzaXphYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtkcmFnZ2FibGVdPVwiZmFsc2VcIj5cclxuXHJcbiAgICA8IS0tIEhlYWRlciAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInBpIHt7IGljb25CeVNldmVyaXR5KCkgfX0gaGVhZGVyX2ljb25cIj48L2k+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXJfdGV4dFwiPnt7IGhlYWRlckJ5U2V2ZXJpdHkoKSB9fTwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPCEtLSBDb250ZW50IC0tPlxyXG4gICAgPHAgY2xhc3M9XCJjb250ZW50IG1iLTNcIlxyXG4gICAgICAgW2lubmVySFRNTF09XCJtZXNzYWdlPy5jb250ZW50XCI+XHJcbiAgICA8L3A+XHJcblxyXG4gICAgPCEtLSBCb3V0b25zIC0tPlxyXG4gICAgPGJ1dHRvbiBwQnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwibWVzc2FnZT8uY2xvc2FibGUgPT0gdHJ1ZSAmJiBtZXNzYWdlPy5yZWZyZXNoID09IGZhbHNlXCJcclxuICAgICAgICAgICAgaWNvbj1cInBpIHBpLWNoZWNrXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXk9ZmFsc2VcIlxyXG4gICAgICAgICAgICBsYWJlbD1cIk9rXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJmbG9hdDpyaWdodDtcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXRleHRcIj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBwQnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwibWVzc2FnZT8ucmVmcmVzaCA9PSB0cnVlXCJcclxuICAgICAgICAgICAgaWNvbj1cInBpIHBpLXJlZnJlc2hcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaFBhZ2UoKVwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwiUmFmcmHDrmNoaXJcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImZsb2F0OnJpZ2h0O1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tdGV4dFwiPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG48L3AtZGlhbG9nPlxyXG4iXX0=
|