tango-app-ui-ticket-user 3.0.2-dev → 3.0.4-dev
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/components/contact-details/contact-details.component.mjs +8 -7
- package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +13 -10
- package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +35 -9
- package/esm2022/lib/components/edit-details/edit-details.component.mjs +3 -3
- package/esm2022/lib/components/infratickets/infratickets.component.mjs +8 -7
- package/esm2022/lib/components/store-activity/store-activity.component.mjs +45 -58
- package/esm2022/lib/components/store-info/store-info.component.mjs +8 -6
- package/esm2022/lib/components/takeremote/takeremote.component.mjs +6 -6
- package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +5 -5
- package/esm2022/lib/components/tickets/tickets.component.mjs +27 -18
- package/esm2022/lib/services/data.service.mjs +3 -3
- package/esm2022/lib/services/ticket-infra.service.mjs +5 -5
- package/esm2022/lib/tango-ticket-users-routing.module.mjs +4 -4
- package/esm2022/lib/tango-ticket-users.module.mjs +4 -4
- package/fesm2022/tango-app-ui-ticket-user.mjs +157 -132
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/lib/components/contact-details/contact-details.component.d.ts +2 -2
- package/lib/components/edge-cameraview/edge-cameraview.component.d.ts +5 -4
- package/lib/components/edgeapp-log/edgeapp-log.component.d.ts +5 -0
- package/lib/components/infratickets/infratickets.component.d.ts +1 -1
- package/lib/components/store-activity/store-activity.component.d.ts +4 -8
- package/lib/components/tango-ticket-users/tango-ticket-users.component.d.ts +1 -1
- package/lib/components/tickets/tickets.component.d.ts +3 -1
- package/lib/services/ticket-infra.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { EdgeCameraviewComponent } from '../edge-cameraview/edge-cameraview.component';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
import 'dayjs/locale/en';
|
|
5
|
+
import utc from 'dayjs/plugin/utc';
|
|
6
|
+
import timezone from 'dayjs/plugin/timezone';
|
|
3
7
|
import * as i0 from "@angular/core";
|
|
4
8
|
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
5
9
|
import * as i2 from "../../services/ticket-infra.service";
|
|
6
10
|
import * as i3 from "../../services/data.service";
|
|
7
11
|
import * as i4 from "@angular/common";
|
|
12
|
+
import * as i5 from "@angular/forms";
|
|
13
|
+
import * as i6 from "ngx-daterangepicker-material";
|
|
14
|
+
dayjs.extend(utc);
|
|
15
|
+
dayjs.extend(timezone);
|
|
8
16
|
export class EdgeappLogComponent {
|
|
9
17
|
modalService;
|
|
10
18
|
infraService;
|
|
@@ -14,6 +22,8 @@ export class EdgeappLogComponent {
|
|
|
14
22
|
loading = true;
|
|
15
23
|
getEdgeAppLoveValue = [];
|
|
16
24
|
storeId;
|
|
25
|
+
selectedDateRange = {};
|
|
26
|
+
dayjs = dayjs;
|
|
17
27
|
constructor(modalService, infraService, cd, dataservice) {
|
|
18
28
|
this.modalService = modalService;
|
|
19
29
|
this.infraService = infraService;
|
|
@@ -21,6 +31,7 @@ export class EdgeappLogComponent {
|
|
|
21
31
|
this.dataservice = dataservice;
|
|
22
32
|
}
|
|
23
33
|
ngOnInit() {
|
|
34
|
+
this.selectedDateRange.startDate = this.dayjs().utc().format('DD-MM-YYYY');
|
|
24
35
|
this.getEdgeAppLogTable();
|
|
25
36
|
}
|
|
26
37
|
getEdgeAppLogTable() {
|
|
@@ -28,7 +39,7 @@ export class EdgeappLogComponent {
|
|
|
28
39
|
this.noData = false;
|
|
29
40
|
let obj = {
|
|
30
41
|
storeId: this.storeId,
|
|
31
|
-
Date:
|
|
42
|
+
Date: this.selectedDateRange?.startDate
|
|
32
43
|
};
|
|
33
44
|
this.infraService.edgeAppLogTable(obj).subscribe({
|
|
34
45
|
next: (res) => {
|
|
@@ -50,10 +61,23 @@ export class EdgeappLogComponent {
|
|
|
50
61
|
}
|
|
51
62
|
});
|
|
52
63
|
}
|
|
64
|
+
datechange(event) {
|
|
65
|
+
if (event && event.startDate && event.endDate) {
|
|
66
|
+
if (this.dayjs(event.startDate).isValid()) {
|
|
67
|
+
this.selectedDateRange.startDate = this.dayjs(event.startDate).utc().format('DD-MM-YYYY');
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.error('Invalid dates provided:', event.startDate, event.endDate);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
console.error('Invalid event object:', event);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
53
77
|
edgeAppExportasXlsx() {
|
|
54
78
|
let obj = {
|
|
55
79
|
storeId: this.storeId,
|
|
56
|
-
Date:
|
|
80
|
+
Date: this.selectedDateRange.startDate,
|
|
57
81
|
export: true
|
|
58
82
|
};
|
|
59
83
|
this.infraService.edgeAppLogTableExport(obj).subscribe({
|
|
@@ -68,18 +92,20 @@ export class EdgeappLogComponent {
|
|
|
68
92
|
startTime: data.startTime,
|
|
69
93
|
endTime: data.endTime
|
|
70
94
|
};
|
|
71
|
-
|
|
95
|
+
console.log(obj);
|
|
96
|
+
const modalRef = this.modalService.open(EdgeCameraviewComponent, {
|
|
97
|
+
centered: true,
|
|
72
98
|
size: 'lg',
|
|
73
99
|
});
|
|
74
|
-
modalRef.componentInstance.
|
|
100
|
+
modalRef.componentInstance.value = obj;
|
|
75
101
|
}
|
|
76
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
77
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: EdgeappLogComponent, deps: [{ token: i1.NgbModal }, { token: i2.TicketsService }, { token: i0.ChangeDetectorRef }, { token: i3.DataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\"> \r\n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </div>\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Time Stamp</th>\r\n <th>Downtime</th>\r\n <th>Avg Internet Speed</th>\r\n <th>App Status</th>\r\n <th>Files Pushed</th>\r\n <th>Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <span><img src='./assets/tango/Images/document.svg'></span>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\r\n <span class=\"textSub\">{{obj.hourStatus}}</span>\r\n </div>\r\n </div>\r\n </td>\r\n <td>{{obj.downtime}} mins</td>\r\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\r\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\r\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\r\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4652_11479)\">\r\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4652_11479\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span></td>\r\n </tr>\r\n \r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <ng-container *ngIf=\"loading && !noData\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
|
|
78
104
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: EdgeappLogComponent, decorators: [{
|
|
80
106
|
type: Component,
|
|
81
|
-
args: [{ selector: 'lib-edgeapp-log', template: "<div class=\"card\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\"> \r\n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Time Stamp</th>\r\n <th>Downtime</th>\r\n <th>Avg Internet Speed</th>\r\n <th>App Status</th>\r\n <th>Files Pushed</th>\r\n <th>Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <span><img src='./assets/tango/Images/document.svg'></span>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\r\n <span class=\"textSub\">{{obj.hourStatus}}</span>\r\n </div>\r\n </div>\r\n </td>\r\n <td>{{obj.downtime}} mins</td>\r\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\r\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\r\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\r\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4652_11479)\">\r\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4652_11479\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span></td>\r\n </tr>\r\n \r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <ng-container *ngIf=\"loading && !noData\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"] }]
|
|
107
|
+
args: [{ selector: 'lib-edgeapp-log', template: "<div class=\"card\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\"> \r\n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </div>\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Time Stamp</th>\r\n <th>Downtime</th>\r\n <th>Avg Internet Speed</th>\r\n <th>App Status</th>\r\n <th>Files Pushed</th>\r\n <th>Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <span><img src='./assets/tango/Images/document.svg'></span>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\r\n <span class=\"textSub\">{{obj.hourStatus}}</span>\r\n </div>\r\n </div>\r\n </td>\r\n <td>{{obj.downtime}} mins</td>\r\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\r\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\r\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\r\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4652_11479)\">\r\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4652_11479\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span></td>\r\n </tr>\r\n \r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <ng-container *ngIf=\"loading && !noData\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"] }]
|
|
82
108
|
}], ctorParameters: () => [{ type: i1.NgbModal }, { type: i2.TicketsService }, { type: i0.ChangeDetectorRef }, { type: i3.DataService }], propDecorators: { storeId: [{
|
|
83
109
|
type: Input
|
|
84
110
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZWFwcC1sb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL2VkZ2VhcHAtbG9nL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlYXBwLWxvZy9lZGdlYXBwLWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBQyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7OztBQVN2RixNQUFNLE9BQU8sbUJBQW1CO0lBUVY7SUFDVjtJQUNBO0lBQ0E7SUFWVixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsbUJBQW1CLEdBQU8sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sQ0FBSztJQUlyQixZQUFvQixZQUFzQixFQUNoQyxZQUEyQixFQUMzQixFQUFvQixFQUNwQixXQUF1QjtRQUhiLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBRS9CLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFFLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFFLEtBQUssQ0FBQztRQUNwQixJQUFJLEdBQUcsR0FBRTtZQUNOLE9BQU8sRUFBQyxJQUFJLENBQUMsT0FBTztZQUNwQixJQUFJLEVBQUMsWUFBWTtTQUNwQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9DLElBQUksRUFBQyxDQUFDLEdBQU8sRUFBQyxFQUFFO2dCQUNkLElBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFDO29CQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztvQkFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRSxLQUFLLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUUsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO2lCQUN4QjtxQkFBSyxJQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFDO29CQUN2QixJQUFJLENBQUMsT0FBTyxHQUFFLEtBQUssQ0FBQztvQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7aUJBQ25CO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUUsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0YsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLEdBQUcsR0FBRTtZQUNQLE9BQU8sRUFBQyxJQUFJLENBQUMsT0FBTztZQUNwQixJQUFJLEVBQUMsWUFBWTtZQUNqQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUE7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyRCxJQUFJLEVBQUMsQ0FBQyxHQUFPLEVBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUMsU0FBUyxDQUFDLENBQUE7WUFDbEQsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNGLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBUTtRQUNyQixJQUFJLEdBQUcsR0FBRztZQUNSLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUMsSUFBSSxDQUFDLFNBQVM7WUFDeEIsT0FBTyxFQUFDLElBQUksQ0FBQyxPQUFPO1NBQ3JCLENBQUE7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJO1lBQzdFLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQzt1R0FyRVksbUJBQW1COzJGQUFuQixtQkFBbUIsdUZDWGhDLG9tS0F3RkE7OzJGRDdFYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCO29LQVFsQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsUmVmLE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBFZGdlQ2FtZXJhdmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2VkZ2UtY2FtZXJhdmlldy9lZGdlLWNhbWVyYXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkZ2VhcHAtbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRnZWFwcC1sb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9lZGdlYXBwLWxvZy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkZ2VhcHBMb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldEVkZ2VBcHBMb3ZlVmFsdWU6IGFueSA9W107XHJcbiAgQElucHV0KCkgc3RvcmVJZDphbnk7XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSBpbmZyYVNlcnZpY2U6VGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRhc2VydmljZTpEYXRhU2VydmljZSl7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbm5nT25Jbml0KCl7XHJcbiAgdGhpcy5nZXRFZGdlQXBwTG9nVGFibGUoKTtcclxufVxyXG5cclxuZ2V0RWRnZUFwcExvZ1RhYmxlKCl7XHJcbiAgdGhpcy5sb2FkaW5nID10cnVlO1xyXG4gIHRoaXMubm9EYXRhID1mYWxzZTtcclxuIGxldCBvYmo9IHtcclxuICAgIHN0b3JlSWQ6dGhpcy5zdG9yZUlkLFxyXG4gICAgRGF0ZTpcIjIwMjQtMDMtMTlcIlxyXG59IFxyXG50aGlzLmluZnJhU2VydmljZS5lZGdlQXBwTG9nVGFibGUob2JqKS5zdWJzY3JpYmUoe1xyXG4gIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICBpZihyZXMgJiYgcmVzPy5jb2RlID09IDIwMCl7XHJcbiAgICB0aGlzLmdldEVkZ2VBcHBMb3ZlVmFsdWUgPSByZXM/LmRhdGE7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgIHRoaXMubm9EYXRhID1mYWxzZTtcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIH1lbHNlIGlmKHJlcy5jb2RlID09IDIwNCl7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgIHRoaXMubm9EYXRhID10cnVlO1xyXG4gICAgfVxyXG4gIH0sXHJcbiAgZXJyb3I6KGVycik9PntcclxuICAgIHRoaXMubG9hZGluZyA9ZmFsc2U7XHJcbiAgICB0aGlzLm5vRGF0YSA9dHJ1ZTtcclxuICAgIGNvbnNvbGUubG9nKGVycik7ICBcclxuICB9XHJcbn0pXHJcbn1cclxuXHJcbmVkZ2VBcHBFeHBvcnRhc1hsc3goKXtcclxuICBsZXQgb2JqPSB7XHJcbiAgICBzdG9yZUlkOnRoaXMuc3RvcmVJZCxcclxuICAgIERhdGU6XCIyMDI0LTAzLTE5XCIsXHJcbiAgICBleHBvcnQ6IHRydWVcclxufSBcclxudGhpcy5pbmZyYVNlcnZpY2UuZWRnZUFwcExvZ1RhYmxlRXhwb3J0KG9iaikuc3Vic2NyaWJlKHtcclxuICBuZXh0OihyZXM6YW55KT0+e1xyXG4gICAgIHRoaXMuZGF0YXNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywnRWRnZWFwcCcpXHJcbiAgfSxcclxufSlcclxufVxyXG5cclxub3BlbkNhbWVyYVZpZXcoZGF0YTphbnkpe1xyXG4gIGxldCBvYmogPSB7XHJcbiAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXHJcbiAgICBzdGFydFRpbWU6ZGF0YS5zdGFydFRpbWUsXHJcbiAgICBlbmRUaW1lOmRhdGEuZW5kVGltZVxyXG4gIH1cclxuICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRWRnZUNhbWVyYXZpZXdDb21wb25lbnQse2NlbnRlcmVkOiB0cnVlLFxyXG4gICAgc2l6ZTogJ2xnJyxcclxuICB9KTtcclxuICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRhID0gb2JqO1xyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+ICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UtbGlnaHQtcHJpbWFyeSB0ZXh0LXByaW1hcnkgcm91bmRlZC0yIHB4LTUgcHktM1wiPkVkZ2UgQXBwIExvZ3M8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tb3V0bGluZVwiIChjbGljayk9XCJlZGdlQXBwRXhwb3J0YXNYbHN4KClcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMVwiIHZpZXdCb3g9XCIwIDAgMjAgMjFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAxMi41MjY0VjE1Ljg1OTdDMTcuNSAxNi4zMDE3IDE3LjMyNDQgMTYuNzI1NyAxNy4wMTE4IDE3LjAzODJDMTYuNjk5MyAxNy4zNTA4IDE2LjI3NTQgMTcuNTI2NCAxNS44MzMzIDE3LjUyNjRINC4xNjY2N0MzLjcyNDY0IDE3LjUyNjQgMy4zMDA3MiAxNy4zNTA4IDIuOTg4MTYgMTcuMDM4MkMyLjY3NTU5IDE2LjcyNTcgMi41IDE2LjMwMTcgMi41IDE1Ljg1OTdWMTIuNTI2NE0xNC4xNjY3IDYuNjkzMDNMMTAgMi41MjYzN00xMCAyLjUyNjM3TDUuODMzMzMgNi42OTMwM00xMCAyLjUyNjM3VjEyLjUyNjRcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IEV4cG9ydFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+VGltZSBTdGFtcDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkRvd250aW1lPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+QXZnIEludGVybmV0IFNwZWVkPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+QXBwIFN0YXR1czwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkZpbGVzIFB1c2hlZDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkFjdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRFZGdlQXBwTG92ZVZhbHVlO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbWcgc3JjPScuL2Fzc2V0cy90YW5nby9JbWFnZXMvZG9jdW1lbnQuc3ZnJz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e29iai5zdGFydFRpbWV9fSAtIHt7b2JqLmVuZFRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRTdWJcIj57e29iai5ob3VyU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZG93bnRpbWV9fSBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouSW50ZXJuZXRzcGVlZCA/IG9iai5JbnRlcm5ldHNwZWVkOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3NcIj57e29iai5BcHBTdGF0dXMgPyBvYmouQXBwU3RhdHVzIDonLS0nfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZmlsZXNfcHVzaGVkID8gb2JqLmZpbGVzX3B1c2hlZDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiAoY2xpY2spPVwib3BlbkNhbWVyYVZpZXcob2JqKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjUyXzExNDc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuODMzOTg0IDEwLjAyNjVDMC44MzM5ODQgMTAuMDI2NSA0LjE2NzMyIDMuMzU5ODYgMTAuMDAwNyAzLjM1OTg2QzE1LjgzNCAzLjM1OTg2IDE5LjE2NzMgMTAuMDI2NSAxOS4xNjczIDEwLjAyNjVDMTkuMTY3MyAxMC4wMjY1IDE1LjgzNCAxNi42OTMyIDEwLjAwMDcgMTYuNjkzMkM0LjE2NzMyIDE2LjY5MzIgMC44MzM5ODQgMTAuMDI2NSAwLjgzMzk4NCAxMC4wMjY1WlwiIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDcgMTIuNTI2NUMxMS4zODE0IDEyLjUyNjUgMTIuNTAwNiAxMS40MDcyIDEyLjUwMDYgMTAuMDI2NUMxMi41MDA2IDguNjQ1ODIgMTEuMzgxNCA3LjUyNjUzIDEwLjAwMDcgNy41MjY1M0M4LjYxOTk0IDcuNTI2NTMgNy41MDA2NSA4LjY0NTgyIDcuNTAwNjUgMTAuMDI2NUM3LjUwMDY1IDExLjQwNzIgOC42MTk5NCAxMi41MjY1IDEwLjAwMDcgMTIuNTI2NVpcIiBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDY1Ml8xMTQ3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIDwvdGFibGU+ICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nICYmICFub0RhdGFcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZWFwcC1sb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL2VkZ2VhcHAtbG9nL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlYXBwLWxvZy9lZGdlYXBwLWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHdkYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQzdDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQU10QixNQUFNLE9BQU8sbUJBQW1CO0lBUVY7SUFDVjtJQUNBO0lBQ0E7SUFWVixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsbUJBQW1CLEdBQVEsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sQ0FBTTtJQUN0QixpQkFBaUIsR0FBUSxFQUFFLENBQUM7SUFDNUIsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUViLFlBQW9CLFlBQXNCLEVBQ2hDLFlBQTRCLEVBQzVCLEVBQXFCLEVBQ3JCLFdBQXdCO1FBSGQsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRWxDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxHQUFHLEdBQUc7WUFDUixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxTQUFTO1NBQ3hDLENBQUE7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztvQkFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO2lCQUN4QjtxQkFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMzRjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pCLElBQUksR0FBRyxHQUFHO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUE7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyRCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ2xELENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVM7UUFDdEIsSUFBSSxHQUFHLEdBQUc7WUFDUixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFBO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUMvRCxRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDekMsQ0FBQzt1R0FuRlUsbUJBQW1COzJGQUFuQixtQkFBbUIsdUZDaEJoQyw2bE5BdUdBOzsyRkR2RmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjtvS0FRbEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiTW9kYWxSZWYsIE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBFZGdlQ2FtZXJhdmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2VkZ2UtY2FtZXJhdmlldy9lZGdlLWNhbWVyYXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcclxuZGF5anMuZXh0ZW5kKHV0Yyk7XHJcbmRheWpzLmV4dGVuZCh0aW1lem9uZSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZWRnZWFwcC1sb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGdlYXBwLWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRnZWFwcExvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgZ2V0RWRnZUFwcExvdmVWYWx1ZTogYW55ID0gW107XHJcbiAgQElucHV0KCkgc3RvcmVJZDogYW55O1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTtcclxuICBkYXlqcyA9IGRheWpzXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICAgIHByaXZhdGUgaW5mcmFTZXJ2aWNlOiBUaWNrZXRzU2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRhc2VydmljZTogRGF0YVNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcygpLnV0YygpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xyXG4gICAgdGhpcy5nZXRFZGdlQXBwTG9nVGFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldEVkZ2VBcHBMb2dUYWJsZSgpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxyXG4gICAgICBEYXRlOiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydERhdGVcclxuICAgIH1cclxuICAgIHRoaXMuaW5mcmFTZXJ2aWNlLmVkZ2VBcHBMb2dUYWJsZShvYmopLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5nZXRFZGdlQXBwTG92ZVZhbHVlID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9IGVsc2UgaWYgKHJlcy5jb2RlID09IDIwNCkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBkYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCAmJiBldmVudC5zdGFydERhdGUgJiYgZXZlbnQuZW5kRGF0ZSkge1xyXG4gICAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLnV0YygpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZXMgcHJvdmlkZWQ6JywgZXZlbnQuc3RhcnREYXRlLCBldmVudC5lbmREYXRlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBldmVudCBvYmplY3Q6JywgZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBlZGdlQXBwRXhwb3J0YXNYbHN4KCkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxyXG4gICAgICBEYXRlOiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSxcclxuICAgICAgZXhwb3J0OiB0cnVlXHJcbiAgICB9XHJcbiAgICB0aGlzLmluZnJhU2VydmljZS5lZGdlQXBwTG9nVGFibGVFeHBvcnQob2JqKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGFzZXJ2aWNlLnNhdmVBc0V4Y2VsRmlsZShyZXMsICdFZGdlYXBwJylcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvcGVuQ2FtZXJhVmlldyhkYXRhOiBhbnkpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgc3RhcnRUaW1lOiBkYXRhLnN0YXJ0VGltZSxcclxuICAgICAgZW5kVGltZTogZGF0YS5lbmRUaW1lXHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhvYmopO1xyXG5cclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihFZGdlQ2FtZXJhdmlld0NvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogJ2xnJyxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmFsdWUgPSBvYmo7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IHJvdW5kZWQtMiBweC01IHB5LTNcIj5FZGdlIEFwcCBMb2dzPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmVcIiAoY2xpY2spPVwiZWRnZUFwcEV4cG9ydGFzWGxzeCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3LjUgMTIuNTI2NFYxNS44NTk3QzE3LjUgMTYuMzAxNyAxNy4zMjQ0IDE2LjcyNTcgMTcuMDExOCAxNy4wMzgyQzE2LjY5OTMgMTcuMzUwOCAxNi4yNzU0IDE3LjUyNjQgMTUuODMzMyAxNy41MjY0SDQuMTY2NjdDMy43MjQ2NCAxNy41MjY0IDMuMzAwNzIgMTcuMzUwOCAyLjk4ODE2IDE3LjAzODJDMi42NzU1OSAxNi43MjU3IDIuNSAxNi4zMDE3IDIuNSAxNS44NTk3VjEyLjUyNjRNMTQuMTY2NyA2LjY5MzAzTDEwIDIuNTI2MzdNMTAgMi41MjYzN0w1LjgzMzMzIDYuNjkzMDNNMTAgMi41MjYzN1YxMi41MjY0XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiBFeHBvcnRcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtzaW5nbGVEYXRlUGlja2VyXT1cInRydWVcIiBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+VGltZSBTdGFtcDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkRvd250aW1lPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+QXZnIEludGVybmV0IFNwZWVkPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+QXBwIFN0YXR1czwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkZpbGVzIFB1c2hlZDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkFjdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBnZXRFZGdlQXBwTG92ZVZhbHVlO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbWcgc3JjPScuL2Fzc2V0cy90YW5nby9JbWFnZXMvZG9jdW1lbnQuc3ZnJz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e29iai5zdGFydFRpbWV9fSAtIHt7b2JqLmVuZFRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRTdWJcIj57e29iai5ob3VyU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZG93bnRpbWV9fSBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouSW50ZXJuZXRzcGVlZCA/IG9iai5JbnRlcm5ldHNwZWVkOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3NcIj57e29iai5BcHBTdGF0dXMgPyBvYmouQXBwU3RhdHVzIDonLS0nfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZmlsZXNfcHVzaGVkID8gb2JqLmZpbGVzX3B1c2hlZDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiAoY2xpY2spPVwib3BlbkNhbWVyYVZpZXcob2JqKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjUyXzExNDc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuODMzOTg0IDEwLjAyNjVDMC44MzM5ODQgMTAuMDI2NSA0LjE2NzMyIDMuMzU5ODYgMTAuMDAwNyAzLjM1OTg2QzE1LjgzNCAzLjM1OTg2IDE5LjE2NzMgMTAuMDI2NSAxOS4xNjczIDEwLjAyNjVDMTkuMTY3MyAxMC4wMjY1IDE1LjgzNCAxNi42OTMyIDEwLjAwMDcgMTYuNjkzMkM0LjE2NzMyIDE2LjY5MzIgMC44MzM5ODQgMTAuMDI2NSAwLjgzMzk4NCAxMC4wMjY1WlwiIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDcgMTIuNTI2NUMxMS4zODE0IDEyLjUyNjUgMTIuNTAwNiAxMS40MDcyIDEyLjUwMDYgMTAuMDI2NUMxMi41MDA2IDguNjQ1ODIgMTEuMzgxNCA3LjUyNjUzIDEwLjAwMDcgNy41MjY1M0M4LjYxOTk0IDcuNTI2NTMgNy41MDA2NSA4LjY0NTgyIDcuNTAwNjUgMTAuMDI2NUM3LjUwMDY1IDExLjQwNzIgOC42MTk5NCAxMi41MjY1IDEwLjAwMDcgMTIuNTI2NVpcIiBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDY1Ml8xMTQ3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIDwvdGFibGU+ICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nICYmICFub0RhdGFcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -94,10 +94,10 @@ export class EditDetailsComponent {
|
|
|
94
94
|
cancelPopup() {
|
|
95
95
|
this.activeModel.close();
|
|
96
96
|
}
|
|
97
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: EditDetailsComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: EditDetailsComponent, selector: "lib-edit-details", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"card pt-5\">\r\n <div class=\"card-header\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/userProfile.svg\">\r\n <span class=\"header fw-bold-600\">Add User</span>\r\n </div>\r\n <div class=\"card-body\">\r\n <form (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">User Name</label>\r\n <input type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"name\">\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"Email\" class=\"form-label\">Email</label>\r\n <input class=\"form-control\" id=\"Email\" formControlName=\"email\">\r\n <div class=\"mt-3\" *ngIf=\"email?.invalid && (email?.dirty || email?.touched)\">\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.required\">Email is required</div>\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.email\">Invalid email format</div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact number</label>\r\n <div class=\"input-group\">\r\n <div class=\"select-wrapper\">\r\n <select class=\"form-select custom-select\" id=\"country\">\r\n <option value=\"US\" selected>TN</option>\r\n <option value=\"CA\">KR</option>\r\n </select>\r\n </div>\r\n <input type=\"number\" placeholder=\"+91 (555) 000-0000\" class=\"form-control\" id=\"contact\" formControlName=\"contact\">\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"contact?.invalid && (contact?.dirty || contact?.touched)\">\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.required\">Contact is required</div>\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.pattern\">Invalid contact format</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelPopup()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Add </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-600{font-weight:600!important}.fw-bold-400{font-weight:400!important}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: EditDetailsComponent, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
102
|
args: [{ selector: 'lib-edit-details', template: "<div class=\"card pt-5\">\r\n <div class=\"card-header\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/userProfile.svg\">\r\n <span class=\"header fw-bold-600\">Add User</span>\r\n </div>\r\n <div class=\"card-body\">\r\n <form (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">User Name</label>\r\n <input type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"name\">\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"Email\" class=\"form-label\">Email</label>\r\n <input class=\"form-control\" id=\"Email\" formControlName=\"email\">\r\n <div class=\"mt-3\" *ngIf=\"email?.invalid && (email?.dirty || email?.touched)\">\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.required\">Email is required</div>\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.email\">Invalid email format</div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact number</label>\r\n <div class=\"input-group\">\r\n <div class=\"select-wrapper\">\r\n <select class=\"form-select custom-select\" id=\"country\">\r\n <option value=\"US\" selected>TN</option>\r\n <option value=\"CA\">KR</option>\r\n </select>\r\n </div>\r\n <input type=\"number\" placeholder=\"+91 (555) 000-0000\" class=\"form-control\" id=\"contact\" formControlName=\"contact\">\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"contact?.invalid && (contact?.dirty || contact?.touched)\">\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.required\">Contact is required</div>\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.pattern\">Invalid contact format</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelPopup()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Add </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-600{font-weight:600!important}.fw-bold-400{font-weight:400!important}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}\n"] }]
|
|
103
103
|
}], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.TicketsService }, { type: i3.ToastService }], propDecorators: { data: [{
|