tango-app-ui-store-ticket-infra 3.0.20-dev → 3.0.22-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.
@@ -56,6 +56,11 @@ export class CreateTicketComponent {
56
56
  startDate: this.dayjs().format("DD-MM-YYYY"),
57
57
  endDate: this.dayjs().format("DD-MM-YYYY"),
58
58
  };
59
+ this.dateRange = {
60
+ startDate: this.dayjs().format("YYYY-MM-DD"),
61
+ endDate: this.dayjs().format("YYYY-MM-DD"),
62
+ };
63
+ // let currentDate = this.selectedDateRange.startDate;
59
64
  this.getStore();
60
65
  // var datetime = {
61
66
  // startDate: this.dayjs().format("YYYY-MM-DD"),
@@ -93,6 +98,10 @@ export class CreateTicketComponent {
93
98
  this.filteredItems = this.storeDetails.filter((el) => el.storeName.toLowerCase().includes(data));
94
99
  }
95
100
  datechange(event) {
101
+ if (!event.startDate && !event.endDate) {
102
+ event.startDate = this.dayjs();
103
+ event.endDate = this.dayjs();
104
+ }
96
105
  if (event && event.startDate && event.endDate) {
97
106
  if (this.dayjs(event.startDate).isValid() &&
98
107
  this.dayjs(event.endDate).isValid()) {
@@ -102,6 +111,7 @@ export class CreateTicketComponent {
102
111
  let currentDate = event.startDate;
103
112
  while (currentDate.isBefore(event.endDate) || currentDate.isSame(event.endDate, 'day')) {
104
113
  this.dateRange.push(this.dayjs(currentDate, "DD-MM-YYYY").format("YYYY-MM-DD"));
114
+ // console.log(this.dateRange)
105
115
  currentDate = currentDate.add(1, 'day');
106
116
  }
107
117
  // var datetime = {
@@ -111,12 +121,6 @@ export class CreateTicketComponent {
111
121
  // this.selectedFilters.date = datetime;
112
122
  }
113
123
  }
114
- else {
115
- // const headerFilters: any = JSON.parse(
116
- // localStorage.getItem("header-filters") || "{}"
117
- // );
118
- // this.selectedFilters.date = headerFilters.date;
119
- }
120
124
  // this.selectedFilters.date = this.selectedFilters.date;
121
125
  }
122
126
  ngOnDestroy() {
@@ -170,7 +174,7 @@ export class CreateTicketComponent {
170
174
  // }
171
175
  emailValidation() {
172
176
  const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
173
- if (this.email.match(emailPattern) && this.filteredStore !== '' && this.filteredFeature !== '') {
177
+ if (this.email.match(emailPattern)) {
174
178
  this.disablebtn = false;
175
179
  this.emailError = '';
176
180
  }
@@ -179,16 +183,16 @@ export class CreateTicketComponent {
179
183
  this.emailError = 'Invalid email address';
180
184
  }
181
185
  }
182
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CreateTicketComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.TicketsService }], target: i0.ɵɵFactoryTarget.Component });
183
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CreateTicketComponent, selector: "lib-create-ticket", inputs: { clientId: "clientId" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height px-5\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn\"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }] });
186
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CreateTicketComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.TicketsService }], target: i0.ɵɵFactoryTarget.Component });
187
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CreateTicketComponent, selector: "lib-create-ticket", inputs: { clientId: "clientId" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" placeholder=\"Search...\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn || !filteredStore?.length || !filteredFeature.length \"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }] });
184
188
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CreateTicketComponent, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CreateTicketComponent, decorators: [{
186
190
  type: Component,
187
- args: [{ selector: 'lib-create-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height px-5\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn\"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"] }]
191
+ args: [{ selector: 'lib-create-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Support</a>\r\n <div class=\"sub-title mt-3\">Please fill the details for store analysis </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3 mt-2\">\r\n <div class=\"col-md-12 my-2\">\r\n <label class=\"form-label mb-1\">Select Date Range</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [showCustomRangeLabel]=\"false\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n </div>\r\n <p class=\"notes mt-3\">Note : Analysis restricted to last 4 days only. </p>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'highcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"highCount\" name=\"countType\" [(ngModel)]=\"countType\" value=\"highcount\" class=\"radio-input\" [ngClass]=\"{'high-dot': countType === 'highcount'}\">\r\n <label for=\"highCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'highcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap fw-semibold\">High Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-6\">\r\n <div [ngClass]=\"countType === 'lowcount' ? 'custom-container':'normal-container'\">\r\n <div class=\"icon-container\">\r\n <input type=\"radio\" id=\"lowCount\" name=\"countType\" value=\"lowcount\" [(ngModel)]=\"countType\" class=\"radio-input\" [ngClass]=\"{'low-dot': countType === 'lowcount'}\">\r\n <label for=\"lowCount\" class=\"radio-label\">\r\n <span [ngClass]=\"countType === 'lowcount' ? 'text':'orval fw-semibold'\" class=\"text-nowrap\">Low Count</span>\r\n </label>\r\n \r\n </div>\r\n </div>\r\n </div> \r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Store</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'store')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredStore ? filteredStore : 'Select Store'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownStore\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <input type=\"text\" [(ngModel)]=\"searchData\" placeholder=\"Search...\" (input)=\"searchStore()\" class=\"form-control\">\r\n <ul *ngFor=\"let store of filteredItems\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"filteredStoreId === store?.storeId ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(store?.storeName,store?.storeId,'store')\">\r\n {{store?.storeName}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Select Feature</label>\r\n <div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event,'feature')\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between selected fw-semibold bg-white\">\r\n {{filteredFeature ? filteredFeature : 'Select Feature'}}\r\n <span class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDownFeature\" class=\"card py-1 w-100 position-absolute top-50px end-0 z-1 dropdown-height\">\r\n <ul *ngFor=\"let feature of Features\" class=\"list-unstyled mb-0\">\r\n <li [ngClass]=\"this.filteredFeature === feature ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(feature,'id','feature')\">\r\n {{feature}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 my-2 mt-5\">\r\n <label class=\"form-label mb-2\">Email</label>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\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 d=\"M18.3337 4.99992C18.3337 4.08325 17.5837 3.33325 16.667 3.33325H3.33366C2.41699 3.33325 1.66699 4.08325 1.66699 4.99992M18.3337 4.99992V14.9999C18.3337 15.9166 17.5837 16.6666 16.667 16.6666H3.33366C2.41699 16.6666 1.66699 15.9166 1.66699 14.9999V4.99992M18.3337 4.99992L10.0003 10.8333L1.66699 4.99992\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" style=\"text-transform:lowercase;\" class=\"form-control custom-form-control ps-14 me-2\" [(ngModel)]=\"email\" placeholder=\"Email\" aria-label=\"Email\" aria-describedby=\"basic-addon1\" (input)=\"emailValidation()\">\r\n </div>\r\n <div *ngIf=\"emailError\" class=\"text-danger mt-3\">\r\n {{ emailError }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" id=\"alert-toast\" [disabled]=\"disablebtn || !filteredStore?.length || !filteredFeature.length \"\r\n (click)=\"onSubmit()\">Analyze</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.selected{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}li{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:500!important;line-height:30px}.scroll{overflow-y:auto;overflow-x:hidden}.template{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}.orval{color:var(--Gray-700, #344054);font-size:14px;font-weight:500!important;line-height:20px}.single-user{color:var(--Gray-700, #344054);font-size:16px!important;line-height:24px;text-transform:capitalize}.form-label{color:var(--Gray-700, #344054);text-shadow:0px 0px 0px #D5EFFE,0px 1px 2px rgba(16,24,40,.05);font-size:14px;font-weight:500;line-height:20px}.form-control:focus{border-radius:8px;border:1px solid var(--Primary-300, #6BCAFF)!important;background:var(--White, #FFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important}.font-sub{font-size:12px!important;line-height:18px!important}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:none!important}.divider{border-bottom:1px solid #D0D5DD;width:75%;margin-left:2%;background:var(--Gray-300, #D0D5DD)}input[type=checkbox]{width:20px!important;height:20px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0;padding-top:12px;padding-right:6px}.collapsed{display:none}.divider{border-right:1px solid #ccc;margin-left:10px;margin-right:10px}.notes{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.custom-container{padding:16px;background:#eaf8ff;border-radius:8px;border:1px #6BCAFF solid;display:flex;justify-content:flex-start;align-items:flex-start}.normal-container{padding:16px;background:#fff;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);display:flex;justify-content:flex-start;align-items:flex-start}.icon-container{flex:1 1 0;height:20px;display:flex;align-items:center;gap:8px}.icon{width:16px;height:16px;background:#eaf8ff;border-radius:8px;overflow:hidden;border:1px #00A3FF solid;display:flex;justify-content:center;align-items:center}.dot{width:6px;height:6px;position:absolute;background:#00a3ff;border-radius:9999px;left:5px;top:5px}.text-container{flex:1 1 0;flex-direction:column;display:flex;justify-content:flex-start;align-items:flex-start}.text{align-self:stretch;color:#008edf;font-size:14px;font-family:Inter;font-weight:500;line-height:20px;word-wrap:break-word}.radio-input{width:20px;height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:0!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.dropdown-height{min-height:auto!important;max-height:300px!important;overflow:auto!important}\n"] }]
188
192
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NgbModal }, { type: i1.NgbActiveModal }, { type: i2.TicketsService }], propDecorators: { clientId: [{
189
193
  type: Input
190
194
  }], onClick: [{
191
195
  type: HostListener,
192
196
  args: ['document:click', ['$event']]
193
197
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpY2tldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBQyxZQUFZLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU1wRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU8xQyxNQUFNLE9BQU8scUJBQXFCO0lBeUJaO0lBQTRCO0lBQThCO0lBQW1DO0lBeEJqSCxTQUFTLEdBQVcsV0FBVyxDQUFDO0lBQ2hDLFlBQVksQ0FBSztJQUNqQixRQUFRLEdBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzQixhQUFhLENBQUs7SUFDbEIsZUFBZSxDQUFLO0lBQ3BCLFVBQVUsQ0FBSztJQUNmLGVBQWUsQ0FBTTtJQUNyQixhQUFhLENBQU07SUFDbkIsS0FBSyxDQUFLO0lBQ1YsYUFBYSxDQUFNO0lBQ25CLFVBQVUsQ0FBTTtJQUNoQixlQUFlLEdBQU8sRUFBRSxDQUFDO0lBQ3pCLGlCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ0csUUFBUSxHQUFHLElBQUks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VSxHQUFHLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLHVCQUF1QixDQUFDO1NBQzNDO0lBQ0gsQ0FBQzt1R0FsTFUscUJBQXFCOzJGQUFyQixxQkFBcUIseUpDbkJsQyx5N1JBaUhBOzsyRkQ5RmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjt1S0E0QnBCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTU4sT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCxIb3N0TGlzdGVuZXIsT25EZXN0cm95LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XHJcbmltcG9ydCB1dGMgZnJvbSBcImRheWpzL3BsdWdpbi91dGNcIjtcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gXCJkYXlqcy9wbHVnaW4vdGltZXpvbmVcIjtcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBbmFseXplUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vYW5hbHl6ZS1yZXBvcnQvYW5hbHl6ZS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLXRpY2tldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jcmVhdGUtdGlja2V0LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlVGlja2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgY291bnRUeXBlOiBzdHJpbmcgPSAnaGlnaGNvdW50JztcclxuICBzdG9yZURldGFpbHM6YW55O1xyXG4gIEZlYXR1cmVzOmFueSA9IFsnRm9vdGZhbGwnXVxyXG4gIGZpbHRlcmVkU3RvcmU6YW55O1xyXG4gIGZpbHRlcmVkRmVhdHVyZTphbnk7XHJcbiAgc2VhcmNoRGF0YTphbnk7XHJcbiAgZHJvcERvd25GZWF0dXJlOiBhbnk7XHJcbiAgZHJvcERvd25TdG9yZTogYW55O1xyXG4gIGVtYWlsOmFueTtcclxuICBmaWx0ZXJlZEl0ZW1zOiBhbnk7XHJcbiAgZW1haWxFcnJvcjogYW55O1xyXG4gIHNlbGVjdGVkRmlsdGVyczphbnkgPSB7fTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XHJcbiAgZGF5anMgPSBkYXlqcztcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGUgPSAgbSA+IHRoaXMuZGF5anMoKTsgICAgXHJcbiAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xyXG59XHJcbiAgZGF0ZVJhbmdlOiBhbnk7XHJcbiAgZmlsdGVyZWRTdG9yZUlkOiBhbnk7XHJcbiAgZGlzYWJsZWJ0bjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2xpZW50SWQ6YW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYscHVibGljIG1vZGFsU2VydmljZTogTmdiTW9kYWwscHVibGljIGFjdGl2ZU1vZGFsOk5nYkFjdGl2ZU1vZGFsLHByaXZhdGUgc2VydmljZTpUaWNrZXRzU2VydmljZSl7XHJcblxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0XHJcbiAgICAgIHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wZG93bicpKSB7XHJcbiAgICAgIC8vIHRoaXMuZHJvcERvd25GZWF0dXJlID0gZmFsc2U7XHJcbiAgICAgIC8vIHRoaXMuZHJvcERvd25TdG9yZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgfTtcclxuICAgIHRoaXMuZ2V0U3RvcmUoKTtcclxuICAgIC8vIHZhciBkYXRldGltZSA9IHtcclxuICAgIC8vICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgIC8vICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAvLyB9O1xyXG4gICAgLy8gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IGRhdGV0aW1lO1xyXG4gIH1cclxuXHJcbiAgLy8gbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgLy8gICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgLy8gfVxyXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxyXG4gICAgICAgICAgbSA+IHRoaXMuZGF5anMoKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCBcImRheXNcIikpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoMywgXCJkYXlzXCIpKTtcclxuICAgICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFN0b3JlKCl7XHJcbiAgICBsZXQgY2xpZW50SWQ9dGhpcy5jbGllbnRJZDtcclxuICAgIHRoaXMuc2VydmljZS5nZXRTdG9yZShjbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcmVEZXRhaWxzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuc3RvcmVEZXRhaWxzO1xyXG4gXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICBcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuICB9XHJcbiAgc2VhcmNoU3RvcmUoKXtcclxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnNlYXJjaERhdGEudG9Mb3dlckNhc2UoKS50cmltKCk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuc3RvcmVEZXRhaWxzLmZpbHRlcigoZWw6YW55ICk9PiBlbC5zdG9yZU5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhkYXRhKSlcclxuICB9XHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IGV2ZW50LmVuZERhdGVcclxuICAgICAgICB0aGlzLmRhdGVSYW5nZSA9IFtdO1xyXG4gICAgICAgIGxldCBjdXJyZW50RGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZTtcclxuICAgICAgICB3aGlsZSAoY3VycmVudERhdGUuaXNCZWZvcmUoZXZlbnQuZW5kRGF0ZSkgfHwgY3VycmVudERhdGUuaXNTYW1lKGV2ZW50LmVuZERhdGUsICdkYXknKSkge1xyXG4gICAgICAgICAgdGhpcy5kYXRlUmFuZ2UucHVzaCh0aGlzLmRheWpzKGN1cnJlbnREYXRlLFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpKTtcclxuICAgICAgICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGUuYWRkKDEsICdkYXknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgICAgIC8vICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAvLyAgIGVuZERhdGU6IHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSxcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAvLyB9O1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGUgPSBkYXRldGltZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gY29uc3QgaGVhZGVyRmlsdGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgLy8gICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICAvLyApO1xyXG4gICAgICAvLyB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gaGVhZGVyRmlsdGVycy5kYXRlO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmRhdGU7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKXtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCl7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPXtcclxuICAgICAgZGF0ZVJhbmdlOnRoaXMuZGF0ZVJhbmdlLFxyXG4gICAgICBjb3VudFR5cGU6dGhpcy5jb3VudFR5cGUsXHJcbiAgICAgIGZpbHRlcmVkU3RvcmU6dGhpcy5maWx0ZXJlZFN0b3JlLFxyXG4gICAgICBmaWx0ZXJlZFN0b3JlSWQ6dGhpcy5maWx0ZXJlZFN0b3JlSWQsXHJcbiAgICAgIGZpbHRlcmVkRmVhdHVyZTp0aGlzLmZpbHRlcmVkRmVhdHVyZSxcclxuICAgICAgZW1haWw6dGhpcy5lbWFpbD8udG9Mb3dlckNhc2UoKVxyXG4gICAgfVxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEFuYWx5emVSZXBvcnRDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibGdcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYW5hbHl6ZXJlcG9ydCA9IHJlcXVlc3REYXRhXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3BlbkRyb3Bkb3duKGV2ZW50OmFueSxrZXk6YW55KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYoa2V5ID09PSAnc3RvcmUnKXtcclxuICAgICAgdGhpcy5kcm9wRG93blN0b3JlID0gIXRoaXMuZHJvcERvd25TdG9yZTtcclxuICAgIHRoaXMuZHJvcERvd25GZWF0dXJlID0gZmFsc2U7fVxyXG4gICAgIGVsc2UgaWYoa2V5ID09PSAnZmVhdHVyZScpe1xyXG4gICAgICB0aGlzLmRyb3BEb3duRmVhdHVyZSA9ICF0aGlzLmRyb3BEb3duRmVhdHVyZTtcclxuICAgICB0aGlzLmRyb3BEb3duU3RvcmUgPSBmYWxzZTt9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOmFueSxJZDphbnksa2V5OmFueSl7XHJcbiAgIGlmKGtleSA9PT0gJ3N0b3JlJyl7XHJcbiAgICAgdGhpcy5maWx0ZXJlZFN0b3JlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRTdG9yZUlkID0gSWQ7XHJcbiAgICAgIHRoaXMuZHJvcERvd25TdG9yZSA9IGZhbHNlO1xyXG5cclxuICAgfVxyXG4gICBlbHNlIGlmKGtleSA9PT0gJ2ZlYXR1cmUnKVxyXG4gICAgdGhpcy5maWx0ZXJlZEZlYXR1cmUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICB0aGlzLmRyb3BEb3duRmVhdHVyZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gb25FbWFpbENoYW5nZShldmVudDogYW55KSB7XHJcbiAgLy8gICB0aGlzLmVtYWlsID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgLy8gfVxyXG5cclxuICBlbWFpbFZhbGlkYXRpb24oKXtcclxuICAgIGNvbnN0IGVtYWlsUGF0dGVybiA9IC9eW2EtekEtWjAtOS5fLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw2fSQvO1xyXG4gICAgaWYgKHRoaXMuZW1haWwubWF0Y2goZW1haWxQYXR0ZXJuKSAmJiB0aGlzLmZpbHRlcmVkU3RvcmUgIT09ICcnICYmIHRoaXMuZmlsdGVyZWRGZWF0dXJlICE9PScnKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtYWlsRXJyb3IgPSAnJztcclxuICAgIH0gZWxzZSBpZighdGhpcy5lbWFpbC5tYXRjaChlbWFpbFBhdHRlcm4pKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IHRydWU7XHJcbiAgICAgIHRoaXMuZW1haWxFcnJvciA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBweS0wIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwIG15LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPlN1cHBvcnQ8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlIG10LTNcIj5QbGVhc2UgZmlsbCB0aGUgZGV0YWlscyBmb3Igc3RvcmUgYW5hbHlzaXMgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTMgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTJcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMVwiPlNlbGVjdCBEYXRlIFJhbmdlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiBzdHlsZT1cIm1pbi13aWR0aDogMjYwcHggIWltcG9ydGFudDtcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJmYWxzZVwiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibm90ZXMgbXQtM1wiPk5vdGUgOiBBbmFseXNpcyByZXN0cmljdGVkIHRvIGxhc3QgNCBkYXlzIG9ubHkuIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb3VudFR5cGUgPT09ICdoaWdoY291bnQnID8gJ2N1c3RvbS1jb250YWluZXInOidub3JtYWwtY29udGFpbmVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJoaWdoQ291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgWyhuZ01vZGVsKV09XCJjb3VudFR5cGVcIiB2YWx1ZT1cImhpZ2hjb3VudFwiIGNsYXNzPVwicmFkaW8taW5wdXRcIiBbbmdDbGFzc109XCJ7J2hpZ2gtZG90JzogY291bnRUeXBlID09PSAnaGlnaGNvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpZ2hDb3VudFwiIGNsYXNzPVwicmFkaW8tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2hpZ2hjb3VudCcgPyAndGV4dCc6J29ydmFsIGZ3LXNlbWlib2xkJ1wiIGNsYXNzPVwidGV4dC1ub3dyYXAgZnctc2VtaWJvbGRcIj5IaWdoIENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2xvd2NvdW50JyA/ICdjdXN0b20tY29udGFpbmVyJzonbm9ybWFsLWNvbnRhaW5lcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwibG93Q291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgdmFsdWU9XCJsb3djb3VudFwiIFsobmdNb2RlbCldPVwiY291bnRUeXBlXCIgY2xhc3M9XCJyYWRpby1pbnB1dFwiIFtuZ0NsYXNzXT1cInsnbG93LWRvdCc6IGNvdW50VHlwZSA9PT0gJ2xvd2NvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvd0NvdW50XCIgY2xhc3M9XCJyYWRpby1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiY291bnRUeXBlID09PSAnbG93Y291bnQnID8gJ3RleHQnOidvcnZhbCBmdy1zZW1pYm9sZCdcIiBjbGFzcz1cInRleHQtbm93cmFwXCI+TG93IENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+ICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTIgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0yXCI+U2VsZWN0IFN0b3JlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdzdG9yZScpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2ZpbHRlcmVkU3RvcmUgPyBmaWx0ZXJlZFN0b3JlIDogJ1NlbGVjdCBTdG9yZSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRyb3BEb3duU3RvcmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0IHB4LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hEYXRhXCIgKGlucHV0KT1cInNlYXJjaFN0b3JlKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHN0b3JlIG9mIGZpbHRlcmVkSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cImZpbHRlcmVkU3RvcmVJZCA9PT0gc3RvcmU/LnN0b3JlSWQgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShzdG9yZT8uc3RvcmVOYW1lLHN0b3JlPy5zdG9yZUlkLCdzdG9yZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzdG9yZT8uc3RvcmVOYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0yIG10LTVcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMlwiPlNlbGVjdCBGZWF0dXJlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdmZWF0dXJlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWx0ZXJlZEZlYXR1cmUgPyBmaWx0ZXJlZEZlYXR1cmUgOiAnU2VsZWN0IEZlYXR1cmUnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93bkZlYXR1cmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBGZWF0dXJlc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5maWx0ZXJlZEZlYXR1cmUgPT09IGZlYXR1cmUgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShmZWF0dXJlLCdpZCcsJ2ZlYXR1cmUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZmVhdHVyZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktMiBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTJcIj5FbWFpbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE4LjMzMzcgNC45OTk5MkMxOC4zMzM3IDQuMDgzMjUgMTcuNTgzNyAzLjMzMzI1IDE2LjY2NyAzLjMzMzI1SDMuMzMzNjZDMi40MTY5OSAzLjMzMzI1IDEuNjY2OTkgNC4wODMyNSAxLjY2Njk5IDQuOTk5OTJNMTguMzMzNyA0Ljk5OTkyVjE0Ljk5OTlDMTguMzMzNyAxNS45MTY2IDE3LjU4MzcgMTYuNjY2NiAxNi42NjcgMTYuNjY2NkgzLjMzMzY2QzIuNDE2OTkgMTYuNjY2NiAxLjY2Njk5IDE1LjkxNjYgMS42NjY5OSAxNC45OTk5VjQuOTk5OTJNMTguMzMzNyA0Ljk5OTkyTDEwLjAwMDMgMTAuODMzM0wxLjY2Njk5IDQuOTk5OTJcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cInRleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBjdXN0b20tZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBbKG5nTW9kZWwpXT1cImVtYWlsXCIgcGxhY2Vob2xkZXI9XCJFbWFpbFwiIGFyaWEtbGFiZWw9XCJFbWFpbFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJiYXNpYy1hZGRvbjFcIiAoaW5wdXQpPVwiZW1haWxWYWxpZGF0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtYWlsRXJyb3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBlbWFpbEVycm9yIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggbXktNVwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG1zLTNcIiAgaWQ9XCJhbGVydC10b2FzdFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoKVwiPkFuYWx5emU8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpY2tldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS10aWNrZXQvY3JlYXRlLXRpY2tldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBQyxZQUFZLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU1wRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQU8xQyxNQUFNLE9BQU8scUJBQXFCO0lBeUJaO0lBQTRCO0lBQThCO0lBQW1DO0lBeEJqSCxTQUFTLEdBQVcsV0FBVyxDQUFDO0lBQ2hDLFlBQVksQ0FBSztJQUNqQixRQUFRLEdBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzQixhQUFhLENBQUs7SUFDbEIsZUFBZSxDQUFLO0lBQ3BCLFVBQVUsQ0FBSztJQUNmLGVBQWUsQ0FBTTtJQUNyQixhQUFhLENBQU07SUFDbkIsS0FBSyxDQUFLO0lBQ1YsYUFBYSxDQUFNO0lBQ25CLFVBQVUsQ0FBTTtJQUNoQixlQUFlLEdBQU8sRUFBRSxDQUFDO0lBQ3pCLGlCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ0csUUFBUSxHQUFHLElBQUks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NUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixtREFBbUQ7SUFDbkQsSUFBSTtJQUVKLGVBQWU7UUFDYixNQUFNLFlBQVksR0FBRyxpREFBaUQsQ0FBQztRQUN2RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO2FBQU0sSUFBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLENBQUM7U0FDM0M7SUFDSCxDQUFDO3dHQXZMVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5SkNuQmxDLG9nU0FpSEE7OzRGRDlGYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO3VLQTRCcEIsUUFBUTtzQkFBaEIsS0FBSztnQkFNTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LEhvc3RMaXN0ZW5lcixPbkRlc3Ryb3ksIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgXCJkYXlqcy9sb2NhbGUvZW5cIjtcclxuaW1wb3J0IHV0YyBmcm9tIFwiZGF5anMvcGx1Z2luL3V0Y1wiO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSBcImRheWpzL3BsdWdpbi90aW1lem9uZVwiO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCwgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEFuYWx5emVSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi9hbmFseXplLXJlcG9ydC9hbmFseXplLXJlcG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXRzLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtdGlja2V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXRpY2tldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVUaWNrZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBjb3VudFR5cGU6IHN0cmluZyA9ICdoaWdoY291bnQnO1xyXG4gIHN0b3JlRGV0YWlsczphbnk7XHJcbiAgRmVhdHVyZXM6YW55ID0gWydGb290ZmFsbCddXHJcbiAgZmlsdGVyZWRTdG9yZTphbnk7XHJcbiAgZmlsdGVyZWRGZWF0dXJlOmFueTtcclxuICBzZWFyY2hEYXRhOmFueTtcclxuICBkcm9wRG93bkZlYXR1cmU6IGFueTtcclxuICBkcm9wRG93blN0b3JlOiBhbnk7XHJcbiAgZW1haWw6YW55O1xyXG4gIGZpbHRlcmVkSXRlbXM6IGFueTtcclxuICBlbWFpbEVycm9yOiBhbnk7XHJcbiAgc2VsZWN0ZWRGaWx0ZXJzOmFueSA9IHt9O1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTtcclxuICBkYXlqcyA9IGRheWpzO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9ICBtID4gdGhpcy5kYXlqcygpOyAgICBcclxuICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbn1cclxuICBkYXRlUmFuZ2U6IGFueTtcclxuICBmaWx0ZXJlZFN0b3JlSWQ6IGFueTtcclxuICBkaXNhYmxlYnRuOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjbGllbnRJZDphbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZixwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxwdWJsaWMgYWN0aXZlTW9kYWw6TmdiQWN0aXZlTW9kYWwscHJpdmF0ZSBzZXJ2aWNlOlRpY2tldHNTZXJ2aWNlKXtcclxuXHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3RcclxuICAgICAgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQuY2xvc2VzdCgnLmRyb3Bkb3duJykpIHtcclxuICAgICAgLy8gdGhpcy5kcm9wRG93bkZlYXR1cmUgPSBmYWxzZTtcclxuICAgICAgLy8gdGhpcy5kcm9wRG93blN0b3JlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5kYXRlUmFuZ2UgPSB7XHJcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgfTtcclxuICAgIC8vIGxldCBjdXJyZW50RGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5nZXRTdG9yZSgpO1xyXG4gICAgLy8gdmFyIGRhdGV0aW1lID0ge1xyXG4gICAgLy8gICBzdGFydERhdGU6IHRoaXMuZGF5anMoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgLy8gICBlbmREYXRlOiB0aGlzLmRheWpzKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgIC8vIH07XHJcbiAgICAvLyB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gZGF0ZXRpbWU7XHJcbiAgfVxyXG5cclxuICAvLyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAvLyAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAvLyB9XHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9XHJcbiAgICAgICAgICBtID4gdGhpcy5kYXlqcygpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoOTAsIFwiZGF5c1wiKSkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCgzLCBcImRheXNcIikpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0U3RvcmUoKXtcclxuICAgIGxldCBjbGllbnRJZD10aGlzLmNsaWVudElkO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldFN0b3JlKGNsaWVudElkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9yZURldGFpbHMgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5zdG9yZURldGFpbHM7XHJcbiBcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgIFxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuICBzZWFyY2hTdG9yZSgpe1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuc2VhcmNoRGF0YS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5zdG9yZURldGFpbHMuZmlsdGVyKChlbDphbnkgKT0+IGVsLnN0b3JlTmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGRhdGEpKVxyXG4gIH1cclxuICBkYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmKCFldmVudC5zdGFydERhdGUgJiYgIWV2ZW50LmVuZERhdGUgKSB7XHJcbiAgICAgIGV2ZW50LnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoKTtcclxuICAgICAgZXZlbnQuZW5kRGF0ZSA9IHRoaXMuZGF5anMoKTtcclxuICAgIH1cclxuICAgIGlmIChldmVudCAmJiBldmVudC5zdGFydERhdGUgJiYgZXZlbnQuZW5kRGF0ZSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSAmJlxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSkuaXNWYWxpZCgpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gZXZlbnQuc3RhcnREYXRlXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlID0gZXZlbnQuZW5kRGF0ZVxyXG4gICAgICAgIHRoaXMuZGF0ZVJhbmdlID0gW107XHJcbiAgICAgICAgbGV0IGN1cnJlbnREYXRlID0gZXZlbnQuc3RhcnREYXRlO1xyXG4gICAgICAgIHdoaWxlIChjdXJyZW50RGF0ZS5pc0JlZm9yZShldmVudC5lbmREYXRlKSB8fCBjdXJyZW50RGF0ZS5pc1NhbWUoZXZlbnQuZW5kRGF0ZSwgJ2RheScpKSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGVSYW5nZS5wdXNoKHRoaXMuZGF5anMoY3VycmVudERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIikpO1xyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRlUmFuZ2UpXHJcbiAgICAgICAgICBjdXJyZW50RGF0ZSA9IGN1cnJlbnREYXRlLmFkZCgxLCAnZGF5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHZhciBkYXRldGltZSA9IHtcclxuICAgICAgICAvLyAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgLy8gICBlbmREYXRlOiB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUsXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgLy8gfTtcclxuICAgICAgICAvLyB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gZGF0ZXRpbWU7XHJcbiAgICAgIH1cclxuICAgIH0gXHJcbiAgICAvLyB0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlID0gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpe1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKXtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9e1xyXG4gICAgICBkYXRlUmFuZ2U6dGhpcy5kYXRlUmFuZ2UsXHJcbiAgICAgIGNvdW50VHlwZTp0aGlzLmNvdW50VHlwZSxcclxuICAgICAgZmlsdGVyZWRTdG9yZTp0aGlzLmZpbHRlcmVkU3RvcmUsXHJcbiAgICAgIGZpbHRlcmVkU3RvcmVJZDp0aGlzLmZpbHRlcmVkU3RvcmVJZCxcclxuICAgICAgZmlsdGVyZWRGZWF0dXJlOnRoaXMuZmlsdGVyZWRGZWF0dXJlLFxyXG4gICAgICBlbWFpbDp0aGlzLmVtYWlsPy50b0xvd2VyQ2FzZSgpXHJcbiAgICB9XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQW5hbHl6ZVJlcG9ydENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgc2l6ZTogXCJsZ1wiLFxyXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5hbmFseXplcmVwb3J0ID0gcmVxdWVzdERhdGFcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgIH0pO1xyXG4gIH1cclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6YW55LGtleTphbnkpe1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZihrZXkgPT09ICdzdG9yZScpe1xyXG4gICAgICB0aGlzLmRyb3BEb3duU3RvcmUgPSAhdGhpcy5kcm9wRG93blN0b3JlO1xyXG4gICAgdGhpcy5kcm9wRG93bkZlYXR1cmUgPSBmYWxzZTt9XHJcbiAgICAgZWxzZSBpZihrZXkgPT09ICdmZWF0dXJlJyl7XHJcbiAgICAgIHRoaXMuZHJvcERvd25GZWF0dXJlID0gIXRoaXMuZHJvcERvd25GZWF0dXJlO1xyXG4gICAgIHRoaXMuZHJvcERvd25TdG9yZSA9IGZhbHNlO31cclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0odmFsdWU6YW55LElkOmFueSxrZXk6YW55KXtcclxuICAgaWYoa2V5ID09PSAnc3RvcmUnKXtcclxuICAgICB0aGlzLmZpbHRlcmVkU3RvcmUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5maWx0ZXJlZFN0b3JlSWQgPSBJZDtcclxuICAgICAgdGhpcy5kcm9wRG93blN0b3JlID0gZmFsc2U7XHJcblxyXG4gICB9XHJcbiAgIGVsc2UgaWYoa2V5ID09PSAnZmVhdHVyZScpXHJcbiAgICB0aGlzLmZpbHRlcmVkRmVhdHVyZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgIHRoaXMuZHJvcERvd25GZWF0dXJlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBvbkVtYWlsQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAvLyAgIHRoaXMuZW1haWwgPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAvLyB9XHJcblxyXG4gIGVtYWlsVmFsaWRhdGlvbigpe1xyXG4gICAgY29uc3QgZW1haWxQYXR0ZXJuID0gL15bYS16QS1aMC05Ll8tXStAW2EtekEtWjAtOS4tXStcXC5bYS16QS1aXXsyLDZ9JC87XHJcbiAgICBpZiAodGhpcy5lbWFpbC5tYXRjaChlbWFpbFBhdHRlcm4pKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtYWlsRXJyb3IgPSAnJztcclxuICAgIH0gZWxzZSBpZighdGhpcy5lbWFpbC5tYXRjaChlbWFpbFBhdHRlcm4pKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWJ0biA9IHRydWU7XHJcbiAgICAgIHRoaXMuZW1haWxFcnJvciA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBweS0wIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwIG15LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPlN1cHBvcnQ8L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlIG10LTNcIj5QbGVhc2UgZmlsbCB0aGUgZGV0YWlscyBmb3Igc3RvcmUgYW5hbHlzaXMgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG15LTMgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTJcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMVwiPlNlbGVjdCBEYXRlIFJhbmdlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiBzdHlsZT1cIm1pbi13aWR0aDogMjYwcHggIWltcG9ydGFudDtcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJmYWxzZVwiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiICBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibm90ZXMgbXQtM1wiPk5vdGUgOiBBbmFseXNpcyByZXN0cmljdGVkIHRvIGxhc3QgNCBkYXlzIG9ubHkuIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb3VudFR5cGUgPT09ICdoaWdoY291bnQnID8gJ2N1c3RvbS1jb250YWluZXInOidub3JtYWwtY29udGFpbmVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJoaWdoQ291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgWyhuZ01vZGVsKV09XCJjb3VudFR5cGVcIiB2YWx1ZT1cImhpZ2hjb3VudFwiIGNsYXNzPVwicmFkaW8taW5wdXRcIiBbbmdDbGFzc109XCJ7J2hpZ2gtZG90JzogY291bnRUeXBlID09PSAnaGlnaGNvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpZ2hDb3VudFwiIGNsYXNzPVwicmFkaW8tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2hpZ2hjb3VudCcgPyAndGV4dCc6J29ydmFsIGZ3LXNlbWlib2xkJ1wiIGNsYXNzPVwidGV4dC1ub3dyYXAgZnctc2VtaWJvbGRcIj5IaWdoIENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvdW50VHlwZSA9PT0gJ2xvd2NvdW50JyA/ICdjdXN0b20tY29udGFpbmVyJzonbm9ybWFsLWNvbnRhaW5lcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwibG93Q291bnRcIiBuYW1lPVwiY291bnRUeXBlXCIgdmFsdWU9XCJsb3djb3VudFwiIFsobmdNb2RlbCldPVwiY291bnRUeXBlXCIgY2xhc3M9XCJyYWRpby1pbnB1dFwiIFtuZ0NsYXNzXT1cInsnbG93LWRvdCc6IGNvdW50VHlwZSA9PT0gJ2xvd2NvdW50J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxvd0NvdW50XCIgY2xhc3M9XCJyYWRpby1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiY291bnRUeXBlID09PSAnbG93Y291bnQnID8gJ3RleHQnOidvcnZhbCBmdy1zZW1pYm9sZCdcIiBjbGFzcz1cInRleHQtbm93cmFwXCI+TG93IENvdW50PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+ICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG15LTIgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0yXCI+U2VsZWN0IFN0b3JlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdzdG9yZScpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2ZpbHRlcmVkU3RvcmUgPyBmaWx0ZXJlZFN0b3JlIDogJ1NlbGVjdCBTdG9yZSd9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRyb3BEb3duU3RvcmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoRGF0YVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCIgKGlucHV0KT1cInNlYXJjaFN0b3JlKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHN0b3JlIG9mIGZpbHRlcmVkSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cImZpbHRlcmVkU3RvcmVJZCA9PT0gc3RvcmU/LnN0b3JlSWQgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShzdG9yZT8uc3RvcmVOYW1lLHN0b3JlPy5zdG9yZUlkLCdzdG9yZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzdG9yZT8uc3RvcmVOYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0yIG10LTVcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMlwiPlNlbGVjdCBGZWF0dXJlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50LCdmZWF0dXJlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZWxlY3RlZCBmdy1zZW1pYm9sZCBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmaWx0ZXJlZEZlYXR1cmUgPyBmaWx0ZXJlZEZlYXR1cmUgOiAnU2VsZWN0IEZlYXR1cmUnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93bkZlYXR1cmVcIiBjbGFzcz1cImNhcmQgcHktMSB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCB6LTEgZHJvcGRvd24taGVpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBGZWF0dXJlc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5maWx0ZXJlZEZlYXR1cmUgPT09IGZlYXR1cmUgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwic2VsZWN0SXRlbShmZWF0dXJlLCdpZCcsJ2ZlYXR1cmUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZmVhdHVyZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktMiBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTJcIj5FbWFpbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE4LjMzMzcgNC45OTk5MkMxOC4zMzM3IDQuMDgzMjUgMTcuNTgzNyAzLjMzMzI1IDE2LjY2NyAzLjMzMzI1SDMuMzMzNjZDMi40MTY5OSAzLjMzMzI1IDEuNjY2OTkgNC4wODMyNSAxLjY2Njk5IDQuOTk5OTJNMTguMzMzNyA0Ljk5OTkyVjE0Ljk5OTlDMTguMzMzNyAxNS45MTY2IDE3LjU4MzcgMTYuNjY2NiAxNi42NjcgMTYuNjY2NkgzLjMzMzY2QzIuNDE2OTkgMTYuNjY2NiAxLjY2Njk5IDE1LjkxNjYgMS42NjY5OSAxNC45OTk5VjQuOTk5OTJNMTguMzMzNyA0Ljk5OTkyTDEwLjAwMDMgMTAuODMzM0wxLjY2Njk5IDQuOTk5OTJcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cInRleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBjdXN0b20tZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBbKG5nTW9kZWwpXT1cImVtYWlsXCIgcGxhY2Vob2xkZXI9XCJFbWFpbFwiIGFyaWEtbGFiZWw9XCJFbWFpbFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJiYXNpYy1hZGRvbjFcIiAoaW5wdXQpPVwiZW1haWxWYWxpZGF0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtYWlsRXJyb3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBlbWFpbEVycm9yIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggbXktNVwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG1zLTNcIiAgaWQ9XCJhbGVydC10b2FzdFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlYnRuIHx8ICFmaWx0ZXJlZFN0b3JlPy5sZW5ndGggfHwgIWZpbHRlcmVkRmVhdHVyZS5sZW5ndGggXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoKVwiPkFuYWx5emU8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -34,6 +34,14 @@ export class RaiseTicketComponent {
34
34
  filePath: ['']
35
35
  });
36
36
  }
37
+ filepath() {
38
+ const filePath = this.raiseTicket?.value?.filePath;
39
+ if (!filePath) {
40
+ return 'Attachments';
41
+ }
42
+ const segments = filePath.split(/[\/\\]/); // Split by both '/' and '\'
43
+ return segments.pop() || 'Attachments'; // Get the last segment or return 'Attachments' if the path is empty
44
+ }
37
45
  onFileSelected(event) {
38
46
  if (event.target.files && event.target.files.length > 0) {
39
47
  for (let i = 0; i < event.target.files.length; i++) {
@@ -84,12 +92,12 @@ export class RaiseTicketComponent {
84
92
  },
85
93
  });
86
94
  }
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RaiseTicketComponent, deps: [{ token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.FormBuilder }, { token: i3.TicketsService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: RaiseTicketComponent, selector: "lib-raise-ticket", inputs: { data: "data" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "createTicket", first: true, predicate: ["createTicket"], descendants: true }], ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store {{data?.storeName}} on</span> <span class=\"sub-title1 ms-2\">{{data?.date}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"raiseTicket\" class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" formControlName=\"actualBilling\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" formControlName=\"expectedFootfall\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" formControlName=\"description\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" formControlName=\"filePath\" #fileInput style=\"display: none;\" accept=\"image/*\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></button><span class=\"mx-2 sub-title text-capitalize\">Attachments</span></span>\r\n </div>\r\n <div class=\"text-danger\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"activeModal.close()\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!raiseTicket.valid\" id=\"alert-toast\" (click)=\"submitTicket();activeModal.close()\"\r\n >Submit</button>\r\n </div>\r\n </form>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #createTicket let-modal>\r\n <div class=\"p-8\">\r\n <div class=\"\">\r\n <img src=\"./assets/tango/Images/Successtoast.png\">\r\n </div> \r\n <div class=\"mt-5 ticketData\">\r\n <span class=\"camera fw-bold\">Ticket Created Successfully</span>\r\n <div class=\"mt-3 sub-header fw-bold-400\">your ticket for {{data?.date}} have been created successful !</div>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-10\">\r\n <button type=\"button\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"modal.dismiss()\">Okay</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".camera{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}.title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: RaiseTicketComponent, deps: [{ token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.FormBuilder }, { token: i3.TicketsService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: RaiseTicketComponent, selector: "lib-raise-ticket", inputs: { data: "data" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "createTicket", first: true, predicate: ["createTicket"], descendants: true }], ngImport: i0, template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store {{data?.storeName}} on</span> <span class=\"sub-title1 ms-2\">{{data?.date}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"raiseTicket\" class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" formControlName=\"actualBilling\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" formControlName=\"expectedFootfall\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" formControlName=\"description\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" formControlName=\"filePath\" #fileInput style=\"display: none;\" accept=\"image/*\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"mx-2 sub-title text-capitalize\">{{filepath()}}</span></button></span>\r\n </div>\r\n <div class=\"text-danger\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"activeModal.close()\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!raiseTicket.valid\" id=\"alert-toast\" (click)=\"submitTicket();activeModal.close()\"\r\n >Submit</button>\r\n </div>\r\n </form>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #createTicket let-modal>\r\n <div class=\"p-8\">\r\n <div class=\"\">\r\n <img src=\"./assets/tango/Images/Successtoast.png\">\r\n </div> \r\n <div class=\"mt-5 ticketData\">\r\n <span class=\"camera fw-bold\">Ticket Created Successfully</span>\r\n <div class=\"mt-3 sub-header fw-bold-400\">your ticket for {{data?.date}} have been created successful !</div>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-10\">\r\n <button type=\"button\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"modal.dismiss()\">Okay</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".camera{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}.title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
89
97
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RaiseTicketComponent, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: RaiseTicketComponent, decorators: [{
91
99
  type: Component,
92
- args: [{ selector: 'lib-raise-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store {{data?.storeName}} on</span> <span class=\"sub-title1 ms-2\">{{data?.date}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"raiseTicket\" class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" formControlName=\"actualBilling\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" formControlName=\"expectedFootfall\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" formControlName=\"description\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" formControlName=\"filePath\" #fileInput style=\"display: none;\" accept=\"image/*\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></button><span class=\"mx-2 sub-title text-capitalize\">Attachments</span></span>\r\n </div>\r\n <div class=\"text-danger\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"activeModal.close()\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!raiseTicket.valid\" id=\"alert-toast\" (click)=\"submitTicket();activeModal.close()\"\r\n >Submit</button>\r\n </div>\r\n </form>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #createTicket let-modal>\r\n <div class=\"p-8\">\r\n <div class=\"\">\r\n <img src=\"./assets/tango/Images/Successtoast.png\">\r\n </div> \r\n <div class=\"mt-5 ticketData\">\r\n <span class=\"camera fw-bold\">Ticket Created Successfully</span>\r\n <div class=\"mt-3 sub-header fw-bold-400\">your ticket for {{data?.date}} have been created successful !</div>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-10\">\r\n <button type=\"button\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"modal.dismiss()\">Okay</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".camera{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}.title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"] }]
100
+ args: [{ selector: 'lib-raise-ticket', template: "<div class=\"card py-0 scroll\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"row w-100 my-5\">\r\n <div class=\"col-md-12\">\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Raise Ticket</a>\r\n <div class=\"my-2\"><span class=\"sub-title\">For Store {{data?.storeName}} on</span> <span class=\"sub-title1 ms-2\">{{data?.date}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <form [formGroup]=\"raiseTicket\" class=\"row my-3\">\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Actual Billing Count</label>\r\n <input type=\"text\" formControlName=\"actualBilling\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-6 my-3\">\r\n <label class=\"form-label\">Your Expected Footfall</label>\r\n <input type=\"text\" formControlName=\"expectedFootfall\" (keypress)=\"omit_special_char($event)\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <textarea class=\"type\" formControlName=\"description\" row=\"3\" class=\"form-control\" placeholder=\"Enter a description...\"></textarea>\r\n </div>\r\n <div class=\"col-md-12 my-3\">\r\n <span > <input type=\"file\" formControlName=\"filePath\" #fileInput style=\"display: none;\" accept=\"image/*\" (change)=\"onFileSelected($event)\">\r\n <button (click)=\"openFileInput()\" class=\"cursor-pointer btn btn-default p-0\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.8666 9.20835L10.2082 16.8667C9.27005 17.8049 7.99757 18.332 6.67075 18.332C5.34393 18.332 4.07145 17.8049 3.13325 16.8667C2.19505 15.9285 1.66797 14.656 1.66797 13.3292C1.66797 12.0024 2.19505 10.7299 3.13325 9.79168L10.7916 2.13335C11.4171 1.50788 12.2654 1.15649 13.1499 1.15649C14.0345 1.15649 14.8828 1.50788 15.5082 2.13335C16.1337 2.75882 16.4851 3.60713 16.4851 4.49168C16.4851 5.37623 16.1337 6.22455 15.5082 6.85002L7.84158 14.5083C7.52885 14.8211 7.10469 14.9968 6.66242 14.9968C6.22014 14.9968 5.79598 14.8211 5.48325 14.5083C5.17051 14.1956 4.99482 13.7715 4.99482 13.3292C4.99482 12.8869 5.17051 12.4627 5.48325 12.15L12.5582 5.08335\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"mx-2 sub-title text-capitalize\">{{filepath()}}</span></button></span>\r\n </div>\r\n <div class=\"text-danger\" *ngIf=\"errorMessage\">{{ errorMessage }}</div>\r\n <div class=\"d-flex my-5\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"activeModal.close()\" >Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!raiseTicket.valid\" id=\"alert-toast\" (click)=\"submitTicket();activeModal.close()\"\r\n >Submit</button>\r\n </div>\r\n </form>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #createTicket let-modal>\r\n <div class=\"p-8\">\r\n <div class=\"\">\r\n <img src=\"./assets/tango/Images/Successtoast.png\">\r\n </div> \r\n <div class=\"mt-5 ticketData\">\r\n <span class=\"camera fw-bold\">Ticket Created Successfully</span>\r\n <div class=\"mt-3 sub-header fw-bold-400\">your ticket for {{data?.date}} have been created successful !</div>\r\n </div>\r\n <div class=\"d-flex justify-content-between mt-10\">\r\n <button type=\"button\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"modal.dismiss()\">Okay</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".camera{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}.title{color:var(--Gray-900, #101828)!important;font-size:18px!important;font-weight:600;line-height:28px}.sub-title{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400;line-height:20px}.sub-title1{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:700;line-height:20px}\n"] }]
93
101
  }], ctorParameters: () => [{ type: i1.NgbModal }, { type: i1.NgbActiveModal }, { type: i2.FormBuilder }, { type: i3.TicketsService }, { type: i4.ToastService }], propDecorators: { fileInput: [{
94
102
  type: ViewChild,
95
103
  args: ['fileInput']
@@ -99,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
99
107
  }], data: [{
100
108
  type: Input
101
109
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtdGlja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLXRpY2tldC1pbmZyYS9zcmMvbGliL2NvbXBvbmVudHMvcmFpc2UtdGlja2V0L3JhaXNlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL3JhaXNlLXRpY2tldC9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBMEIsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTakYsTUFBTSxPQUFPLG9CQUFvQjtJQVFaO0lBQStCO0lBQXFDO0lBQXlCO0lBQWlDO0lBUHpILFNBQVMsQ0FBTTtJQUNaLFlBQVksQ0FBTTtJQUM3QyxRQUFRLENBQTBCO0lBQ3pCLElBQUksQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFJO0lBQ2hCLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQzFCLFlBQW1CLFlBQXNCLEVBQVMsV0FBMkIsRUFBVSxFQUFlLEVBQVUsT0FBdUIsRUFBVSxZQUEwQjtRQUF4SixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRTNLLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMvQixhQUFhLEVB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LEVBQUUsV0FBVyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2pELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTt3QkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDbEQ7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7YUFDRixDQUFDLENBQUE7SUFDSixDQUFDO3VHQXRFVSxvQkFBb0I7MkZBQXBCLG9CQUFvQix5UkNYakMsNC9IQXVEQTs7MkZENUNhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7NExBS0osU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFFaEIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsLCBOZ2JNb2RhbFJlZiB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yYWlzZS10aWNrZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yYWlzZS10aWNrZXQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWlzZVRpY2tldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgnY3JlYXRlVGlja2V0JykgY3JlYXRlVGlja2V0OiBhbnk7XHJcbiAgbW9kYWxSZWY6IE5nYk1vZGFsUmVmIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICByYWlzZVRpY2tldDogYW55O1xyXG4gIGVycm9yTWVzc2FnZTphbnlcclxuICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSwgcHJpdmF0ZSB0b2FzdHNlcnZpY2U6IFRvYXN0U2VydmljZSkge1xyXG5cclxuICB9XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gIHRoaXMucmFpc2VUaWNrZXQgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIGFjdHVhbEJpbGxpbmc6WycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZXhwZWN0ZWRGb290ZmFsbDogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZGVzY3JpcHRpb246WycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZmlsZVBhdGg6WycnXVxyXG4gIH0pXHJcbn1cclxuICBvbkZpbGVTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbaV07XHJcbiAgICAgICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoJ2ltZycsIGZpbGUpO1xyXG4gICAgICAgIGlmICghZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdPbmx5IGltYWdlIGZpbGVzIGFyZSBhbGxvd2VkISc7XHJcbiAgICAgICAgICByZXR1cm47IC8vIFN0b3AgZnVydGhlciBwcm9jZXNzaW5nXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5GaWxlSW5wdXQoKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIHN1Ym1pdFRpY2tldCgpIHtcclxuICAgIHRoaXMuVGlja2V0Y3JlYXRpb24oKTtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLmNyZWF0ZVRpY2tldCwgeyBjZW50ZXJlZDogdHJ1ZSB9KTtcclxuICB9XHJcbiAgLy8gY29uZmlybVRpY2tldCgpIHtcclxuICAvLyAgIHRoaXMuVGlja2V0Y3JlYXRpb24oKTtcclxuICAvLyB9XHJcbiAgb21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdmFyIGs7XHJcbiAgICBrID0gZXZlbnQuY2hhckNvZGU7ICAvLyAgICAgICAgIGsgPSBldmVudC5rZXlDb2RlOyAgKEJvdGggY2FuIGJlIHVzZWQpXHJcbiAgICByZXR1cm4gKGsgPT0gOCB8fCBrID09IDMyIHx8IChrID49IDQ4ICYmIGsgPD0gNTcpKTtcclxuICB9XHJcbiAgXHJcbiAgVGlja2V0Y3JlYXRpb24oKSB7XHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcInN0b3JlSWRcIix0aGlzLmRhdGE/LnN0b3JlSWQpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJEYXRlXCIsdGhpcy5kYXRhPy5kYXRlKSxcclxuICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKFwiaXNzdWVUeXBlXCIsdGhpcy5kYXRhPy5jb3VudFR5cGUpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJmZWF0dXJlXCIsdGhpcy5kYXRhPy5mZWF0dXJlKSxcclxuICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKFwiYWN0dWFsQ291bnRcIix0aGlzLnJhaXNlVGlja2V0Py52YWx1ZT8uYWN0dWFsQmlsbGluZyksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImV4cGVjdGVkQ291bnRcIix0aGlzLnJhaXNlVGlja2V0Py52YWx1ZT8uZXhwZWN0ZWRGb290ZmFsbCksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImNvbnRhY3RFbWFpbFwiLHRoaXMuZGF0YS5lbWFpbCksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImRlc2NyaXB0aW9uXCIsdGhpcy5yYWlzZVRpY2tldD8udmFsdWU/LmRlc2NyaXB0aW9uKSwgICAgXHJcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlVGlja2V0KHRoaXMuZm9ybURhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0c2VydmljZS5nZXRTdWNjZXNzVG9hc3QocmVzLm1lc3NhZ2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0c2VydmljZS5nZXRFcnJvclRvYXN0KCdObyBkYXRhIEZvdW5kJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3RzZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLmVycm9yKTtcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB5LTAgc2Nyb2xsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTAgZC1mbGV4IGZsZXgtc3RhcnQgZmxleC1jb2x1bW4gcC05IFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgdy0xMDAgbXktNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+UmFpc2UgVGlja2V0PC9hPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTJcIj48c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkZvciBTdG9yZSB7e2RhdGE/LnN0b3JlTmFtZX19IG9uPC9zcGFuPiA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZTEgbXMtMlwiPnt7ZGF0YT8uZGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicmFpc2VUaWNrZXRcIiBjbGFzcz1cInJvdyBteS0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QWN0dWFsIEJpbGxpbmcgQ291bnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0dWFsQmlsbGluZ1wiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+WW91ciBFeHBlY3RlZCBGb290ZmFsbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJleHBlY3RlZEZvb3RmYWxsXCIgKGtleXByZXNzKT1cIm9taXRfc3BlY2lhbF9jaGFyKCRldmVudClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJ0eXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiByb3c9XCIzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGEgZGVzY3JpcHRpb24uLi5cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiA+IDxpbnB1dCB0eXBlPVwiZmlsZVwiIGZvcm1Db250cm9sTmFtZT1cImZpbGVQYXRoXCIgI2ZpbGVJbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgYWNjZXB0PVwiaW1hZ2UvKlwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9wZW5GaWxlSW5wdXQoKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgYnRuIGJ0bi1kZWZhdWx0IHAtMFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy44NjY2IDkuMjA4MzVMMTAuMjA4MiAxNi44NjY3QzkuMjcwMDUgMTcuODA0OSA3Ljk5NzU3IDE4LjMzMiA2LjY3MDc1IDE4LjMzMkM1LjM0MzkzIDE4LjMzMiA0LjA3MTQ1IDE3LjgwNDkgMy4xMzMyNSAxNi44NjY3QzIuMTk1MDUgMTUuOTI4NSAxLjY2Nzk3IDE0LjY1NiAxLjY2Nzk3IDEzLjMyOTJDMS42Njc5NyAxMi4wMDI0IDIuMTk1MDUgMTAuNzI5OSAzLjEzMzI1IDkuNzkxNjhMMTAuNzkxNiAyLjEzMzM1QzExLjQxNzEgMS41MDc4OCAxMi4yNjU0IDEuMTU2NDkgMTMuMTQ5OSAxLjE1NjQ5QzE0LjAzNDUgMS4xNTY0OSAxNC44ODI4IDEuNTA3ODggMTUuNTA4MiAyLjEzMzM1QzE2LjEzMzcgMi43NTg4MiAxNi40ODUxIDMuNjA3MTMgMTYuNDg1MSA0LjQ5MTY4QzE2LjQ4NTEgNS4zNzYyMyAxNi4xMzM3IDYuMjI0NTUgMTUuNTA4MiA2Ljg1MDAyTDcuODQxNTggMTQuNTA4M0M3LjUyODg1IDE0LjgyMTEgNy4xMDQ2OSAxNC45OTY4IDYuNjYyNDIgMTQuOTk2OEM2LjIyMDE0IDE0Ljk5NjggNS43OTU5OCAxNC44MjExIDUuNDgzMjUgMTQuNTA4M0M1LjE3MDUxIDE0LjE5NTYgNC45OTQ4MiAxMy43NzE1IDQuOTk0ODIgMTMuMzI5MkM0Ljk5NDgyIDEyLjg4NjkgNS4xNzA1MSAxMi40NjI3IDUuNDgzMjUgMTIuMTVMMTIuNTU4MiA1LjA4MzM1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvYnV0dG9uPjxzcGFuIGNsYXNzPVwibXgtMiBzdWItdGl0bGUgdGV4dC1jYXBpdGFsaXplXCI+QXR0YWNobWVudHM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57eyBlcnJvck1lc3NhZ2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJkLWZsZXggbXktNVwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmNsb3NlKClcIiA+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwIG1zLTNcIiBbZGlzYWJsZWRdPVwiIXJhaXNlVGlja2V0LnZhbGlkXCIgIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwic3VibWl0VGlja2V0KCk7YWN0aXZlTW9kYWwuY2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNjcmVhdGVUaWNrZXQgbGV0LW1vZGFsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL1N1Y2Nlc3N0b2FzdC5wbmdcIj5cclxuICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTUgdGlja2V0RGF0YVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYSBmdy1ib2xkXCI+VGlja2V0IENyZWF0ZWQgU3VjY2Vzc2Z1bGx5PC9zcGFuPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIHN1Yi1oZWFkZXIgZnctYm9sZC00MDBcIj55b3VyIHRpY2tldCBmb3Ige3tkYXRhPy5kYXRlfX0gaGF2ZSBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bCAhPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0xMFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXByaW1hcnkgdy0xMDAgbWUtMlwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5Pa2F5PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtdGlja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLXRpY2tldC1pbmZyYS9zcmMvbGliL2NvbXBvbmVudHMvcmFpc2UtdGlja2V0L3JhaXNlLXRpY2tldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS10aWNrZXQtaW5mcmEvc3JjL2xpYi9jb21wb25lbnRzL3JhaXNlLXRpY2tldC9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBMEIsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTakYsTUFBTSxPQUFPLG9CQUFvQjtJQVFaO0lBQStCO0lBQXFDO0lBQXlCO0lBQWlDO0lBUHpILFNBQVMsQ0FBTTtJQUNaLFlBQVksQ0FBTTtJQUM3QyxRQUFRLENBQTBCO0lBQ3pCLElBQUksQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFJO0lBQ2hCLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQzFCLFlBQW1CLFlBQXNCLEVBQVMsV0FBMkIsRUFBVSxFQUFlLEVBQVUsT0FBdUIsRUFBVSxZQUEwQjtRQUF4SixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRTNLLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMvQixhQUFhLEVBQUMsQ0FBQyxFQUFFLEVBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN0QyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzFDLFdBQVcsRUFBQyxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BDLFFBQVEsRUFBQyxDQUFDLEVBQUUsQ0FBQztTQUNkLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxRQUFRO1FBQ04sTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixPQUFPLGFBQWEsQ0FBQztTQUN0QjtRQUNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDdkUsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksYUFBYSxDQUFDLENBQUMsb0VBQW9FO0lBQzlHLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFFdkQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLEdBQVMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLCtCQUErQixDQUFDO29CQUNwRCxPQUFPLENBQUMsMEJBQTBCO2lCQUNuQzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0Qsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQixJQUFJO0lBQ0osaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsQ0FBQztRQUNOLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUUsaURBQWlEO1FBQ3RFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUM7WUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDO1lBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2pELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTt3QkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUNoRDt5QkFBTTt3QkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDbEQ7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdDLENBQUM7YUFDRixDQUFDLENBQUE7SUFDSixDQUFDO3dHQS9FVSxvQkFBb0I7NEZBQXBCLG9CQUFvQix5UkNYakMsKy9IQXVEQTs7NEZENUNhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7NExBS0osU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFFaEIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsLCBOZ2JNb2RhbFJlZiB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yYWlzZS10aWNrZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWlzZS10aWNrZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yYWlzZS10aWNrZXQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWlzZVRpY2tldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgnY3JlYXRlVGlja2V0JykgY3JlYXRlVGlja2V0OiBhbnk7XHJcbiAgbW9kYWxSZWY6IE5nYk1vZGFsUmVmIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuICByYWlzZVRpY2tldDogYW55O1xyXG4gIGVycm9yTWVzc2FnZTphbnlcclxuICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSwgcHJpdmF0ZSB0b2FzdHNlcnZpY2U6IFRvYXN0U2VydmljZSkge1xyXG5cclxuICB9XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gIHRoaXMucmFpc2VUaWNrZXQgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIGFjdHVhbEJpbGxpbmc6WycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZXhwZWN0ZWRGb290ZmFsbDogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZGVzY3JpcHRpb246WycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgZmlsZVBhdGg6WycnXVxyXG4gIH0pXHJcbn1cclxuZmlsZXBhdGgoKXtcclxuICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucmFpc2VUaWNrZXQ/LnZhbHVlPy5maWxlUGF0aDtcclxuICAgIGlmICghZmlsZVBhdGgpIHtcclxuICAgICAgcmV0dXJuICdBdHRhY2htZW50cyc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWdtZW50cyA9IGZpbGVQYXRoLnNwbGl0KC9bXFwvXFxcXF0vKTsgLy8gU3BsaXQgYnkgYm90aCAnLycgYW5kICdcXCdcclxuICAgIHJldHVybiBzZWdtZW50cy5wb3AoKSB8fCAnQXR0YWNobWVudHMnOyAvLyBHZXQgdGhlIGxhc3Qgc2VnbWVudCBvciByZXR1cm4gJ0F0dGFjaG1lbnRzJyBpZiB0aGUgcGF0aCBpcyBlbXB0eVxyXG4gIH1cclxuXHJcbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5maWxlcyAmJiBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgIFxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzW2ldO1xyXG4gICAgICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKCdpbWcnLCBmaWxlKTtcclxuICAgICAgICBpZiAoIWZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnT25seSBpbWFnZSBmaWxlcyBhcmUgYWxsb3dlZCEnO1xyXG4gICAgICAgICAgcmV0dXJuOyAvLyBTdG9wIGZ1cnRoZXIgcHJvY2Vzc2luZ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvcGVuRmlsZUlucHV0KCkge1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuICBzdWJtaXRUaWNrZXQoKSB7XHJcbiAgICB0aGlzLlRpY2tldGNyZWF0aW9uKCk7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5jcmVhdGVUaWNrZXQsIHsgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgfVxyXG4gIC8vIGNvbmZpcm1UaWNrZXQoKSB7XHJcbiAgLy8gICB0aGlzLlRpY2tldGNyZWF0aW9uKCk7XHJcbiAgLy8gfVxyXG4gIG9taXRfc3BlY2lhbF9jaGFyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBrO1xyXG4gICAgayA9IGV2ZW50LmNoYXJDb2RlOyAgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxyXG4gICAgcmV0dXJuIChrID09IDggfHwgayA9PSAzMiB8fCAoayA+PSA0OCAmJiBrIDw9IDU3KSk7XHJcbiAgfVxyXG4gIFxyXG4gIFRpY2tldGNyZWF0aW9uKCkge1xyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJzdG9yZUlkXCIsdGhpcy5kYXRhPy5zdG9yZUlkKSxcclxuICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKFwiRGF0ZVwiLHRoaXMuZGF0YT8uZGF0ZSksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImlzc3VlVHlwZVwiLHRoaXMuZGF0YT8uY291bnRUeXBlKSxcclxuICAgIHRoaXMuZm9ybURhdGEuYXBwZW5kKFwiZmVhdHVyZVwiLHRoaXMuZGF0YT8uZmVhdHVyZSksXHJcbiAgICB0aGlzLmZvcm1EYXRhLmFwcGVuZChcImFjdHVhbENvdW50XCIsdGhpcy5yYWlzZVRpY2tldD8udmFsdWU/LmFjdHVhbEJpbGxpbmcpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJleHBlY3RlZENvdW50XCIsdGhpcy5yYWlzZVRpY2tldD8udmFsdWU/LmV4cGVjdGVkRm9vdGZhbGwpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJjb250YWN0RW1haWxcIix0aGlzLmRhdGEuZW1haWwpLFxyXG4gICAgdGhpcy5mb3JtRGF0YS5hcHBlbmQoXCJkZXNjcmlwdGlvblwiLHRoaXMucmFpc2VUaWNrZXQ/LnZhbHVlPy5kZXNjcmlwdGlvbiksICAgIFxyXG4gICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZVRpY2tldCh0aGlzLmZvcm1EYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy50b2FzdHNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b2FzdHNlcnZpY2UuZ2V0RXJyb3JUb2FzdCgnTm8gZGF0YSBGb3VuZCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0c2VydmljZS5nZXRFcnJvclRvYXN0KGVyci5lcnJvcik7XHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBweS0wIHNjcm9sbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHctMTAwIG15LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPlJhaXNlIFRpY2tldDwvYT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+PHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIj5Gb3IgU3RvcmUge3tkYXRhPy5zdG9yZU5hbWV9fSBvbjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJzdWItdGl0bGUxIG1zLTJcIj57e2RhdGE/LmRhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInJhaXNlVGlja2V0XCIgY2xhc3M9XCJyb3cgbXktM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkFjdHVhbCBCaWxsaW5nIENvdW50PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cImFjdHVhbEJpbGxpbmdcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPllvdXIgRXhwZWN0ZWQgRm9vdGZhbGw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiZXhwZWN0ZWRGb290ZmFsbFwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwidHlwZVwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCIgcm93PVwiM1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBhIGRlc2NyaXB0aW9uLi4uXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gPiA8aW5wdXQgdHlwZT1cImZpbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJmaWxlUGF0aFwiICNmaWxlSW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGFjY2VwdD1cImltYWdlLypcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvcGVuRmlsZUlucHV0KClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIGJ0biBidG4tZGVmYXVsdCBwLTBcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuODY2NiA5LjIwODM1TDEwLjIwODIgMTYuODY2N0M5LjI3MDA1IDE3LjgwNDkgNy45OTc1NyAxOC4zMzIgNi42NzA3NSAxOC4zMzJDNS4zNDM5MyAxOC4zMzIgNC4wNzE0NSAxNy44MDQ5IDMuMTMzMjUgMTYuODY2N0MyLjE5NTA1IDE1LjkyODUgMS42Njc5NyAxNC42NTYgMS42Njc5NyAxMy4zMjkyQzEuNjY3OTcgMTIuMDAyNCAyLjE5NTA1IDEwLjcyOTkgMy4xMzMyNSA5Ljc5MTY4TDEwLjc5MTYgMi4xMzMzNUMxMS40MTcxIDEuNTA3ODggMTIuMjY1NCAxLjE1NjQ5IDEzLjE0OTkgMS4xNTY0OUMxNC4wMzQ1IDEuMTU2NDkgMTQuODgyOCAxLjUwNzg4IDE1LjUwODIgMi4xMzMzNUMxNi4xMzM3IDIuNzU4ODIgMTYuNDg1MSAzLjYwNzEzIDE2LjQ4NTEgNC40OTE2OEMxNi40ODUxIDUuMzc2MjMgMTYuMTMzNyA2LjIyNDU1IDE1LjUwODIgNi44NTAwMkw3Ljg0MTU4IDE0LjUwODNDNy41Mjg4NSAxNC44MjExIDcuMTA0NjkgMTQuOTk2OCA2LjY2MjQyIDE0Ljk5NjhDNi4yMjAxNCAxNC45OTY4IDUuNzk1OTggMTQuODIxMSA1LjQ4MzI1IDE0LjUwODNDNS4xNzA1MSAxNC4xOTU2IDQuOTk0ODIgMTMuNzcxNSA0Ljk5NDgyIDEzLjMyOTJDNC45OTQ4MiAxMi44ODY5IDUuMTcwNTEgMTIuNDYyNyA1LjQ4MzI1IDEyLjE1TDEyLjU1ODIgNS4wODMzNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm14LTIgc3ViLXRpdGxlIHRleHQtY2FwaXRhbGl6ZVwiPnt7ZmlsZXBhdGgoKX19PC9zcGFuPjwvYnV0dG9uPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3sgZXJyb3JNZXNzYWdlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZC1mbGV4IG15LTVcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdy0xMDAgbWUtM1wiIChjbGljayk9XCJhY3RpdmVNb2RhbC5jbG9zZSgpXCIgPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTEwMCBtcy0zXCIgW2Rpc2FibGVkXT1cIiFyYWlzZVRpY2tldC52YWxpZFwiICBpZD1cImFsZXJ0LXRvYXN0XCIgKGNsaWNrKT1cInN1Ym1pdFRpY2tldCgpO2FjdGl2ZU1vZGFsLmNsb3NlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5TdWJtaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY3JlYXRlVGlja2V0IGxldC1tb2RhbD5cclxuICAgIDxkaXYgY2xhc3M9XCJwLThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9TdWNjZXNzdG9hc3QucG5nXCI+XHJcbiAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC01IHRpY2tldERhdGFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPlRpY2tldCBDcmVhdGVkIFN1Y2Nlc3NmdWxseTwvc3Bhbj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMyBzdWItaGVhZGVyIGZ3LWJvbGQtNDAwXCI+eW91ciB0aWNrZXQgZm9yIHt7ZGF0YT8uZGF0ZX19IGhhdmUgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWwgITwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMTBcIj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1wcmltYXJ5IHctMTAwIG1lLTJcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+T2theTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuIl19