@cauca-911/material 15.0.0 → 16.0.1

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.
Files changed (29) hide show
  1. package/{esm2020 → esm2022}/lib/cauca-input-file/cauca-input-file.component.mjs +27 -27
  2. package/{esm2020 → esm2022}/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +16 -16
  3. package/{esm2020 → esm2022}/lib/cauca-material.component.mjs +11 -11
  4. package/esm2022/lib/cauca-material.module.mjs +94 -0
  5. package/{esm2020 → esm2022}/lib/cauca-material.service.mjs +3 -3
  6. package/{esm2020 → esm2022}/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +31 -31
  7. package/{esm2020 → esm2022}/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +7 -7
  8. package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +62 -0
  9. package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +139 -0
  10. package/{fesm2020 → fesm2022}/cauca-911-material.mjs +171 -169
  11. package/fesm2022/cauca-911-material.mjs.map +1 -0
  12. package/lib/cauca-input-file/cauca-input-file.component.d.ts +2 -2
  13. package/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.d.ts +1 -1
  14. package/lib/cauca-material.module.d.ts +6 -5
  15. package/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.d.ts +1 -1
  16. package/lib/cauca-menu-vertical/cauca-menu-vertical.component.d.ts +1 -1
  17. package/lib/cauca-simple-dialog/cauca-simple-dialog.component.d.ts +1 -1
  18. package/lib/cauca-slideshow/cauca-slideshow.component.d.ts +1 -1
  19. package/package.json +11 -17
  20. package/esm2020/lib/cauca-material.module.mjs +0 -90
  21. package/esm2020/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +0 -62
  22. package/esm2020/lib/cauca-slideshow/cauca-slideshow.component.mjs +0 -139
  23. package/fesm2015/cauca-911-material.mjs +0 -986
  24. package/fesm2015/cauca-911-material.mjs.map +0 -1
  25. package/fesm2020/cauca-911-material.mjs.map +0 -1
  26. /package/{esm2020 → esm2022}/cauca-911-material.mjs +0 -0
  27. /package/{esm2020 → esm2022}/lib/shared/models/menu-item.mjs +0 -0
  28. /package/{esm2020 → esm2022}/lib/shared/models/simple-dialog-data.mjs +0 -0
  29. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,62 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/button";
7
+ import * as i4 from "../shared/models/simple-dialog-data";
8
+ function CaucaSimpleDialogComponent_div_4_button_1_Template(rf, ctx) { if (rf & 1) {
9
+ const _r5 = i0.ɵɵgetCurrentView();
10
+ i0.ɵɵelementStart(0, "button", 6);
11
+ i0.ɵɵlistener("click", function CaucaSimpleDialogComponent_div_4_button_1_Template_button_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r5); const i_r3 = restoredCtx.index; const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.onClick(i_r3)); });
12
+ i0.ɵɵtext(1);
13
+ i0.ɵɵelementEnd();
14
+ } if (rf & 2) {
15
+ const label_r2 = ctx.$implicit;
16
+ i0.ɵɵadvance(1);
17
+ i0.ɵɵtextInterpolate(label_r2);
18
+ } }
19
+ function CaucaSimpleDialogComponent_div_4_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelementStart(0, "div", 4);
21
+ i0.ɵɵtemplate(1, CaucaSimpleDialogComponent_div_4_button_1_Template, 2, 1, "button", 5);
22
+ i0.ɵɵelementEnd();
23
+ } if (rf & 2) {
24
+ const ctx_r0 = i0.ɵɵnextContext();
25
+ i0.ɵɵadvance(1);
26
+ i0.ɵɵproperty("ngForOf", ctx_r0.data.buttons);
27
+ } }
28
+ export class CaucaSimpleDialogComponent {
29
+ constructor(dialogRef, data) {
30
+ this.dialogRef = dialogRef;
31
+ this.data = data;
32
+ }
33
+ ngOnInit() { }
34
+ onClick(buttonIndex) {
35
+ this.dialogRef.close(buttonIndex);
36
+ }
37
+ static { this.ɵfac = function CaucaSimpleDialogComponent_Factory(t) { return new (t || CaucaSimpleDialogComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
38
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaSimpleDialogComponent, selectors: [["cauca-simple-dialog"]], decls: 5, vars: 3, consts: [["mat-dialog-title", ""], ["mat-dialog-content", ""], [3, "innerHTML"], ["mat-dialog-actions", "", 4, "ngIf"], ["mat-dialog-actions", ""], ["mat-raised-button", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-raised-button", "", 3, "click"]], template: function CaucaSimpleDialogComponent_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementStart(0, "h1", 0);
40
+ i0.ɵɵtext(1);
41
+ i0.ɵɵelementEnd();
42
+ i0.ɵɵelementStart(2, "div", 1);
43
+ i0.ɵɵelement(3, "div", 2);
44
+ i0.ɵɵelementEnd();
45
+ i0.ɵɵtemplate(4, CaucaSimpleDialogComponent_div_4_Template, 2, 1, "div", 3);
46
+ } if (rf & 2) {
47
+ i0.ɵɵadvance(1);
48
+ i0.ɵɵtextInterpolate(ctx.data.title);
49
+ i0.ɵɵadvance(2);
50
+ i0.ɵɵproperty("innerHTML", ctx.data.message, i0.ɵɵsanitizeHtml);
51
+ i0.ɵɵadvance(1);
52
+ i0.ɵɵproperty("ngIf", ctx.data.buttons);
53
+ } }, dependencies: [i2.NgForOf, i2.NgIf, i3.MatButton, i1.MatDialogTitle, i1.MatDialogContent, i1.MatDialogActions], styles: ["div[mat-dialog-actions][_ngcontent-%COMP%]{margin-top:20px;text-align:center}"] }); }
54
+ }
55
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaSimpleDialogComponent, [{
56
+ type: Component,
57
+ args: [{ selector: 'cauca-simple-dialog', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.message\"></div>\n</div>\n<div mat-dialog-actions *ngIf=\"data.buttons\">\n <button *ngFor=\"let label of data.buttons; let i = index\" mat-raised-button (click)=\"onClick(i)\">{{label}}</button>\n</div>", styles: ["div[mat-dialog-actions]{margin-top:20px;text-align:center}\n"] }]
58
+ }], function () { return [{ type: i1.MatDialogRef }, { type: i4.SimpleDialogData, decorators: [{
59
+ type: Inject,
60
+ args: [MAT_DIALOG_DATA]
61
+ }] }]; }, null); })();
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2Etc2ltcGxlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLXNpbXBsZS1kaWFsb2cvY2F1Y2Etc2ltcGxlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLXNpbXBsZS1kaWFsb2cvY2F1Y2Etc2ltcGxlLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztJQ0l2RSxpQ0FBaUc7SUFBckIscU9BQVMsZUFBQSxvQkFBVSxDQUFBLElBQUM7SUFBQyxZQUFTO0lBQUEsaUJBQVM7OztJQUFsQixlQUFTO0lBQVQsOEJBQVM7OztJQUQ1Ryw4QkFBNkM7SUFDM0MsdUZBQW1IO0lBQ3JILGlCQUFNOzs7SUFEc0IsZUFBaUI7SUFBakIsNkNBQWlCOztBREk3QyxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLFlBQ1UsU0FBbUQsRUFDM0IsSUFBc0I7UUFEOUMsY0FBUyxHQUFULFNBQVMsQ0FBMEM7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBa0I7SUFDcEQsQ0FBQztJQUVFLFFBQVEsS0FBVyxDQUFDO0lBRXBCLE9BQU8sQ0FBQyxXQUFtQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDOzJGQVhVLDBCQUEwQiw4REFJM0IsZUFBZTtvRUFKZCwwQkFBMEI7WUNUdkMsNkJBQXFCO1lBQUEsWUFBYztZQUFBLGlCQUFLO1lBQ3hDLDhCQUF3QjtZQUN0Qix5QkFBc0M7WUFDeEMsaUJBQU07WUFDTiwyRUFFTTs7WUFOZSxlQUFjO1lBQWQsb0NBQWM7WUFFNUIsZUFBMEI7WUFBMUIsK0RBQTBCO1lBRVIsZUFBa0I7WUFBbEIsdUNBQWtCOzs7dUZESzlCLDBCQUEwQjtjQUx0QyxTQUFTOzJCQUNFLHFCQUFxQjs7c0JBUTVCLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFNpbXBsZURpYWxvZ0RhdGEgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3NpbXBsZS1kaWFsb2ctZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLXNpbXBsZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2F1Y2Etc2ltcGxlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdWNhLXNpbXBsZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXVjYVNpbXBsZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2F1Y2FTaW1wbGVEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogU2ltcGxlRGlhbG9nRGF0YSxcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICBwdWJsaWMgb25DbGljayhidXR0b25JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoYnV0dG9uSW5kZXgpO1xuICB9XG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT57e2RhdGEudGl0bGV9fTwvaDE+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgPGRpdiBbaW5uZXJIVE1MXT1cImRhdGEubWVzc2FnZVwiPjwvZGl2PlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyAqbmdJZj1cImRhdGEuYnV0dG9uc1wiPlxuICA8YnV0dG9uICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBkYXRhLmJ1dHRvbnM7IGxldCBpID0gaW5kZXhcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25DbGljayhpKVwiPnt7bGFiZWx9fTwvYnV0dG9uPlxuPC9kaXY+Il19
@@ -0,0 +1,139 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { animate, state, style, transition, trigger } from '@angular/animations';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ const _c0 = ["container"];
6
+ function CaucaSlideshowComponent_div_2_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelementStart(0, "div");
8
+ i0.ɵɵelement(1, "img", 3);
9
+ i0.ɵɵelementEnd();
10
+ } if (rf & 2) {
11
+ const url_r2 = ctx.$implicit;
12
+ const index_r3 = ctx.index;
13
+ const ctx_r1 = i0.ɵɵnextContext();
14
+ i0.ɵɵproperty("@slideLeftRight", ctx_r1.getState(index_r3));
15
+ i0.ɵɵadvance(1);
16
+ i0.ɵɵproperty("src", url_r2, i0.ɵɵsanitizeUrl);
17
+ } }
18
+ export class CaucaSlideshowComponent {
19
+ constructor() {
20
+ this.height = '150px';
21
+ this.autoPlay = true;
22
+ this.timer = null;
23
+ this.items = [];
24
+ this.states = [];
25
+ this.selectedIndex = 0;
26
+ }
27
+ set images(list) {
28
+ this.items = list;
29
+ this.restart();
30
+ }
31
+ get images() {
32
+ return this.items;
33
+ }
34
+ ngOnInit() {
35
+ this.container.nativeElement.style.height = this.height;
36
+ this.container.nativeElement.style.width = '100%';
37
+ }
38
+ getState(index) {
39
+ if (this.states[index]) {
40
+ return this.states[index];
41
+ }
42
+ return (this.selectedIndex === index ? 'in' : 'out');
43
+ }
44
+ restart() {
45
+ if (this.timer) {
46
+ window.clearInterval(this.timer);
47
+ }
48
+ if (this.images && this.images.length) {
49
+ this.timer = window.setInterval(() => this.changed('next'), 5000);
50
+ }
51
+ }
52
+ next() {
53
+ if (this.selectedIndex < this.items.length - 1) {
54
+ this.selectedIndex++;
55
+ }
56
+ else {
57
+ this.selectedIndex = 0;
58
+ }
59
+ }
60
+ changed(action) {
61
+ this.states[this.selectedIndex] = 'out';
62
+ this[action]();
63
+ this.states[this.selectedIndex] = 'in';
64
+ }
65
+ static { this.ɵfac = function CaucaSlideshowComponent_Factory(t) { return new (t || CaucaSlideshowComponent)(); }; }
66
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaSlideshowComponent, selectors: [["cauca-slideshow"]], viewQuery: function CaucaSlideshowComponent_Query(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵviewQuery(_c0, 7);
68
+ } if (rf & 2) {
69
+ let _t;
70
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
71
+ } }, inputs: { height: "height", autoPlay: "autoPlay", images: "images" }, decls: 3, vars: 1, consts: [[1, "slideshow"], ["container", ""], [4, "ngFor", "ngForOf"], [3, "src"]], template: function CaucaSlideshowComponent_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "div", 0, 1);
73
+ i0.ɵɵtemplate(2, CaucaSlideshowComponent_div_2_Template, 2, 2, "div", 2);
74
+ i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ i0.ɵɵadvance(2);
77
+ i0.ɵɵproperty("ngForOf", ctx.images);
78
+ } }, dependencies: [i1.NgForOf], styles: [".slideshow[_ngcontent-%COMP%]{margin:0 auto;position:relative;overflow:hidden}.slideshow[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:100%;height:100%;position:absolute}img[_ngcontent-%COMP%]{max-height:100%;max-width:100%;margin:0 auto;display:block}"], data: { animation: [
79
+ trigger('slideUpDown', [
80
+ state('in', style({ transform: 'translateY(0%)' })),
81
+ state('out', style({ transform: 'translateY(-100%)' })),
82
+ transition('in => out', [
83
+ animate('500ms ease-in')
84
+ ]),
85
+ transition('out => in', [
86
+ style({ transform: 'translateY(100%)' }),
87
+ animate('500ms ease-in')
88
+ ]),
89
+ ]),
90
+ trigger('slideLeftRight', [
91
+ state('in', style({ transform: 'translateX(0%)' })),
92
+ state('out', style({ transform: 'translateX(-100%)' })),
93
+ transition('in => out', [
94
+ animate('500ms ease-in')
95
+ ]),
96
+ transition('out => in', [
97
+ style({ transform: 'translateX(100%)' }),
98
+ animate('500ms ease-in')
99
+ ]),
100
+ ]),
101
+ ] } }); }
102
+ }
103
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaSlideshowComponent, [{
104
+ type: Component,
105
+ args: [{ selector: 'cauca-slideshow', animations: [
106
+ trigger('slideUpDown', [
107
+ state('in', style({ transform: 'translateY(0%)' })),
108
+ state('out', style({ transform: 'translateY(-100%)' })),
109
+ transition('in => out', [
110
+ animate('500ms ease-in')
111
+ ]),
112
+ transition('out => in', [
113
+ style({ transform: 'translateY(100%)' }),
114
+ animate('500ms ease-in')
115
+ ]),
116
+ ]),
117
+ trigger('slideLeftRight', [
118
+ state('in', style({ transform: 'translateX(0%)' })),
119
+ state('out', style({ transform: 'translateX(-100%)' })),
120
+ transition('in => out', [
121
+ animate('500ms ease-in')
122
+ ]),
123
+ transition('out => in', [
124
+ style({ transform: 'translateX(100%)' }),
125
+ animate('500ms ease-in')
126
+ ]),
127
+ ]),
128
+ ], template: "<div #container class=\"slideshow\">\n <div *ngFor=\"let url of images; let index = index;\" [@slideLeftRight]=\"getState(index)\">\n <img [src]=\"url\" />\n </div>\n</div>", styles: [".slideshow{margin:0 auto;position:relative;overflow:hidden}.slideshow>div{width:100%;height:100%;position:absolute}img{max-height:100%;max-width:100%;margin:0 auto;display:block}\n"] }]
129
+ }], function () { return []; }, { container: [{
130
+ type: ViewChild,
131
+ args: ['container', { static: true }]
132
+ }], height: [{
133
+ type: Input
134
+ }], autoPlay: [{
135
+ type: Input
136
+ }], images: [{
137
+ type: Input
138
+ }] }); })();
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2Etc2xpZGVzaG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2Etc2xpZGVzaG93L2NhdWNhLXNsaWRlc2hvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLXNsaWRlc2hvdy9jYXVjYS1zbGlkZXNob3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ0EvRSwyQkFBd0Y7SUFDdEYseUJBQW1CO0lBQ3JCLGlCQUFNOzs7OztJQUY4QywyREFBbUM7SUFDaEYsZUFBVztJQUFYLDhDQUFXOztBRDhCcEIsTUFBTSxPQUFPLHVCQUF1QjtJQWFsQztRQVRPLFdBQU0sR0FBRyxPQUFPLENBQUM7UUFFakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVmLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO0lBRUgsQ0FBQztJQUV4QixJQUNXLE1BQU0sQ0FBQyxJQUFjO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMs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QUdDLFFBQVE7a0JBRGQsS0FBSztZQVdLLE1BQU07a0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLXNsaWRlc2hvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXVjYS1zbGlkZXNob3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXVjYS1zbGlkZXNob3cuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlVXBEb3duJywgW1xuICAgICAgc3RhdGUoJ2luJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDAlKScgfSkpLFxuICAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2luID0+IG91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJ291dCA9PiBpbicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdzbGlkZUxlZnRSaWdodCcsIFtcbiAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pKSxcbiAgICAgIHN0YXRlKCdvdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdpbiA9PiBvdXQnLCBbXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCdvdXQgPT4gaW4nLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKVxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhdWNhU2xpZGVzaG93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQElucHV0KClcbiAgcHVibGljIGhlaWdodCA9ICcxNTBweCc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvUGxheSA9IHRydWU7XG5cbiAgcHJpdmF0ZSB0aW1lciA9IG51bGw7XG4gIHByaXZhdGUgaXRlbXMgPSBbXTtcbiAgcHJpdmF0ZSBzdGF0ZXMgPSBbXTtcbiAgcHJpdmF0ZSBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7IH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGltYWdlcyhsaXN0OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuaXRlbXMgPSBsaXN0O1xuICAgIHRoaXMucmVzdGFydCgpO1xuICB9XG4gIHB1YmxpYyBnZXQgaW1hZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhdGUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc3RhdGVzW2luZGV4XSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGVzW2luZGV4XTtcbiAgICB9XG5cbiAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gaW5kZXggPyAnaW4nIDogJ291dCcpO1xuICB9XG5cbiAgcHVibGljIHJlc3RhcnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudGltZXIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbWFnZXMgJiYgdGhpcy5pbWFnZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMuY2hhbmdlZCgnbmV4dCcpLCA1MDAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4IDwgdGhpcy5pdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZWQoYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlc1t0aGlzLnNlbGVjdGVkSW5kZXhdID0gJ291dCc7XG4gICAgdGhpc1thY3Rpb25dKCk7XG4gICAgdGhpcy5zdGF0ZXNbdGhpcy5zZWxlY3RlZEluZGV4XSA9ICdpbic7XG4gIH1cbn1cbiIsIjxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInNsaWRlc2hvd1wiPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCB1cmwgb2YgaW1hZ2VzOyBsZXQgaW5kZXggPSBpbmRleDtcIiBbQHNsaWRlTGVmdFJpZ2h0XT1cImdldFN0YXRlKGluZGV4KVwiPlxuICAgIDxpbWcgW3NyY109XCJ1cmxcIiAvPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==