tango-app-ui-ticket-user 3.0.55-dev → 3.0.56-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.
@@ -30,22 +30,23 @@ export class ViewhistoryComponent {
30
30
  this.destroy$.complete();
31
31
  }
32
32
  viewHistory(data) {
33
- console.log('data', this.data);
34
33
  var payload = {
35
- userId: data?._id,
36
- storeId: data?.store_id,
37
- fileDate: data?.file_date
34
+ storeId: data?.storeId,
35
+ fileDate: data?.fileDate,
36
+ zoneName: data?.zoneName
38
37
  };
39
- this.auditservice.getAuditmappinglist(payload).pipe(takeUntil(this.destroy$)).subscribe((res) => {
38
+ this.Loading = true;
39
+ this.nodata = false;
40
+ this.auditservice.getAuditmappinglist(payload, data?.selectedType).pipe(takeUntil(this.destroy$)).subscribe((res) => {
40
41
  if (res && res.code == 200) {
42
+ this.auditmappingdata = res?.data?.result?.customer;
43
+ this.junkimage = res?.data?.result?.junk;
44
+ this.employeimage = res?.data?.result?.employee;
45
+ this.customercount = res?.data?.result?.customerCount;
46
+ this.employeecount = res?.data?.result?.employeeCount;
47
+ this.junkcount = res?.data?.result?.junkCount;
41
48
  this.Loading = false;
42
49
  this.nodata = false;
43
- this.auditmappingdata = res.data.customer;
44
- this.junkimage = res.data.junk;
45
- this.employeimage = res.data.employee;
46
- this.customercount = res.data.customer_count;
47
- this.employeecount = res.data.employee_count;
48
- this.junkcount = res.data.junk_count;
49
50
  }
50
51
  else if (!res || res.code == 204) {
51
52
  this.Loading = false;
@@ -67,12 +68,12 @@ export class ViewhistoryComponent {
67
68
  return this.auditmappingdata.filter((obj) => obj.count === count);
68
69
  }
69
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewhistoryComponent, deps: [{ token: i1.TicketsService }, { token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
70
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ViewhistoryComponent, selector: "lib-viewhistory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body pt-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ getFilteredData(1).length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ViewhistoryComponent, selector: "lib-viewhistory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card border-0\">\r\n <div class=\"card-body p-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ auditmappingdata?.length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <!-- <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div> -->\r\n \r\n <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".item{position:relative;padding-top:10px;display:inline-block;max-height:595px}.img{width:95px;height:200px}.card-label{font-family:Inter;font-style:normal;font-weight:700!important;font-size:20px!important;line-height:27px;color:#3f4254!important}.text-col{font-family:Inter;font-style:normal;font-weight:400;font-size:14px;line-height:17px;color:#3f4254}.img-ret{width:90px;height:170px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
71
72
  }
72
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewhistoryComponent, decorators: [{
73
74
  type: Component,
74
- args: [{ selector: 'lib-viewhistory', template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body pt-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ getFilteredData(1).length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> -->\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
75
+ args: [{ selector: 'lib-viewhistory', template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card border-0\">\r\n <div class=\"card-body p-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ auditmappingdata?.length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <!-- <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div> -->\r\n \r\n <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".item{position:relative;padding-top:10px;display:inline-block;max-height:595px}.img{width:95px;height:200px}.card-label{font-family:Inter;font-style:normal;font-weight:700!important;font-size:20px!important;line-height:27px;color:#3f4254!important}.text-col{font-family:Inter;font-style:normal;font-weight:400;font-size:14px;line-height:17px;color:#3f4254}.img-ret{width:90px;height:170px}\n"] }]
75
76
  }], ctorParameters: () => [{ type: i1.TicketsService }, { type: i2.NgbActiveModal }], propDecorators: { data: [{
76
77
  type: Input
77
78
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2hpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdoaXN0b3J5L3ZpZXdoaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy92aWV3aGlzdG9yeS92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzFDLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFvQztJQWIvQyxJQUFJLENBQUs7SUFDbEIsU0FBUyxDQUFNO0lBQ2YsT0FBTyxHQUFRLElBQUksQ0FBQTtJQUNuQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGdCQUFnQixHQUFPLEVBQUUsQ0FBQztJQUMxQixhQUFhLENBQU07SUFDbkIsU0FBUyxHQUFRLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQVEsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUNOLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRzFDLFlBQW9CLFlBQTRCLEVBQVEsV0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQVEsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBRW5GLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFSCxXQUFXLENBQUMsSUFBUTtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxPQUFPLEdBQUc7WUFDWixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUztTQUMxQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ25HLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTthQUdyQztpQkFBTSxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGtCQUFrQixHQUFNLENBQUMsQ0FBQztJQUV4QixjQUFjLENBQUMsR0FBUTtRQUNyQixJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7U0FDbEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0FyRVUsb0JBQW9COzRGQUFwQixvQkFBb0IsaUZDVmpDLHV6UEFtSUE7OzRGRHpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO2dIQU1sQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12aWV3aGlzdG9yeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXdoaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdmlld2hpc3RvcnkuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3aGlzdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBkYXRhOmFueTtcclxuICBkYXRhdmFsdWU6IGFueTtcclxuICBMb2FkaW5nOiBhbnkgPSB0cnVlXHJcbiAganVua2ltYWdlOiBhbnkgPSBbXVxyXG4gIGF1ZGl0bWFwcGluZ2RhdGE6IGFueSA9W107XHJcbiAgY3VzdG9tZXJjb3VudDogYW55O1xyXG4gIGp1bmtjb3VudDogYW55ID0gMDtcclxuICBlbXBsb3llZWNvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVpbWFnZTogYW55ID1bXTtcclxuICBub2RhdGE6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdWRpdHNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLHB1YmxpYyBhY3RpdmVtb2RhbDogTmdiQWN0aXZlTW9kYWwpe1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy52aWV3SGlzdG9yeSh0aGlzLmRhdGEpO1xyXG4gIH1cclxuICBcclxuICBuZ09uRGVzdHJveSgpe1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbnZpZXdIaXN0b3J5KGRhdGE6YW55KXtcclxuICBjb25zb2xlLmxvZygnZGF0YScsdGhpcy5kYXRhKTtcclxuICB2YXIgcGF5bG9hZCA9IHtcclxuICAgIHVzZXJJZDogZGF0YT8uX2lkLFxyXG4gICAgc3RvcmVJZDogZGF0YT8uc3RvcmVfaWQsXHJcbiAgICBmaWxlRGF0ZTogZGF0YT8uZmlsZV9kYXRlXHJcbiAgfVxyXG4gIHRoaXMuYXVkaXRzZXJ2aWNlLmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlXHJcbiAgICAgIHRoaXMubm9kYXRhID1mYWxzZTtcclxuICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gcmVzLmRhdGEuY3VzdG9tZXJcclxuICAgICAgdGhpcy5qdW5raW1hZ2UgPSByZXMuZGF0YS5qdW5rXHJcbiAgICAgIHRoaXMuZW1wbG95ZWltYWdlID0gcmVzLmRhdGEuZW1wbG95ZWVcclxuICAgICAgdGhpcy5jdXN0b21lcmNvdW50ID0gcmVzLmRhdGEuY3VzdG9tZXJfY291bnRcclxuICAgICAgdGhpcy5lbXBsb3llZWNvdW50ID0gcmVzLmRhdGEuZW1wbG95ZWVfY291bnRcclxuICAgICAgdGhpcy5qdW5rY291bnQgPSByZXMuZGF0YS5qdW5rX2NvdW50XHJcblxyXG5cclxuICAgIH0gZWxzZSBpZiAoIXJlcyB8fCByZXMuY29kZSA9PSAyMDQpIHtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2VcclxudGhpcy5ub2RhdGEgPXRydWU7XHJcbiAgICB9XHJcbiAgfSlcclxufVxyXG5cclxuY3VycmVudEdyb3VwTnVtYmVyOmFueSA9MDtcclxuXHJcbiAgZ2V0R3JvdXBOdW1iZXIob2JqOiBhbnkpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGlmIChvYmouY291bnQgPiAxKSB7XHJcbiAgICAgIHJldHVybiArK3RoaXMuY3VycmVudEdyb3VwTnVtYmVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZXNldEdyb3VwTnVtYmVyKCkge1xyXG4gICAgdGhpcy5jdXJyZW50R3JvdXBOdW1iZXIgPSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWREYXRhKGNvdW50OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuZmlsdGVyKChvYmo6YW55KSA9PiBvYmouY291bnQgPT09IGNvdW50KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG10LTRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcy00IHRleHQtZGFyayBmdy1ib2xkZXIgbXktMiBteC0xMFwiPiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIgZnctYm9sZCB0ZXh0LWRhcmtcIj48ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IG15LTFcIj5TdG9yZSBJRCA6e3tkYXRhPy5zdG9yZUlkfX08L2Rpdj48c3BhbiAqbmdJZj1cImRhdGE/LmZpbGVEYXRlXCI+RGF0ZSA6e3tkYXRhPy5maWxlRGF0ZX19PC9zcGFuPiA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnkgbWUtNVwiIChjbGljayk9XCJhY3RpdmVtb2RhbC5kaXNtaXNzKClcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiNlwiIHk9XCIxNy4zMTM3XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDYgMTcuMzEzNylcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI3LjQxNDIyXCIgeT1cIjZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSA3LjQxNDIyIDYpXCIgZmlsbD1cImJsYWNrXCI+XHJcbiAgICAgICAgICAgICAgICA8L3JlY3Q+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZGFzaGVkXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTNcIiA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kYXRhXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFMb2FkaW5nICYmICFub2RhdGFcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB0LTAgIHNjcm9sbC15IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqdW5rY291bnQgIT09MFwiIGNsYXNzPVwiaC01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIG1zLTJcIj5KdW5rIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7anVua2NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YganVua2ltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCIgbmFtZT1cImp1bmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cIm9iai5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tvYmouaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVlY291bnQgIT09MFwiIGNsYXNzPVwiIGgtNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBtcy0yXCI+RW1wbG95ZWUgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+e3tlbXBsb3llZWNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YgZW1wbG95ZWltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgbmFtZT1cImVtcGxveWVlXCIgW3NyY109XCJvYmouaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7b2JqLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC01MDBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBcIj5DdXN0b21lciA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj57eyBnZXRGaWx0ZXJlZERhdGEoMSkubGVuZ3RoIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNldEdyb3VwTnVtYmVyKCkgPT09IG51bGxcIj48L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aW1nLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzZXRHcm91cE51bWJlcigpID09PSBudWxsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iaj8uY291bnQgPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZyBvZiBvYmoubWFwcGVkaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiBuYW1lPVwie3tvYmouaW1nX2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpbWcuaW1nX2lkfX1cIiBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cImltZy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpbWcuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouY291bnQgPiAxXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+R3JvdXAge3sgZ2V0R3JvdXBOdW1iZXIob2JqKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiICpuZ0lmPVwib2JqLmNvdW50ID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgZHJhZ2dhYmxlPVwidHJ1ZVwiIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2ltZy5pbWdfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2hpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdoaXN0b3J5L3ZpZXdoaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy92aWV3aGlzdG9yeS92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzFDLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFvQztJQWIvQyxJQUFJLENBQUs7SUFDbEIsU0FBUyxDQUFNO0lBQ2YsT0FBTyxHQUFRLElBQUksQ0FBQTtJQUNuQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGdCQUFnQixHQUFPLEVBQUUsQ0FBQztJQUMxQixhQUFhLENBQU07SUFDbkIsU0FBUyxHQUFRLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQVEsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUNOLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRzFDLFlBQW9CLFlBQTRCLEVBQVEsV0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQVEsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBRW5GLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFSCxXQUFXLENBQUMsSUFBUTtRQUNsQixJQUFJLE9BQU8sR0FBRztZQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTztZQUN0QixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDeEIsUUFBUSxFQUFHLElBQUksRUFBRSxRQUFRO1NBQzFCLENBQUE7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0SCxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQTtnQkFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUE7Z0JBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFBO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQTtnQkFDckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUE7Z0JBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFBO2dCQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxLQUFLLENBQUM7YUFDcEI7aUJBQU0sSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsa0JBQWtCLEdBQU0sQ0FBQyxDQUFDO0lBRXhCLGNBQWMsQ0FBQyxHQUFRO1FBQ3JCLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUNsQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDO3dHQXBFVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixpRkNWakMsaTBQQW1JQTs7NEZEekhhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7Z0hBTWxCLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZpZXdoaXN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlld2hpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi92aWV3aGlzdG9yeS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdoaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6YW55O1xyXG4gIGRhdGF2YWx1ZTogYW55O1xyXG4gIExvYWRpbmc6IGFueSA9IHRydWVcclxuICBqdW5raW1hZ2U6IGFueSA9IFtdXHJcbiAgYXVkaXRtYXBwaW5nZGF0YTogYW55ID1bXTtcclxuICBjdXN0b21lcmNvdW50OiBhbnk7XHJcbiAganVua2NvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVlY291bnQ6IGFueSA9IDA7XHJcbiAgZW1wbG95ZWltYWdlOiBhbnkgPVtdO1xyXG4gIG5vZGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1ZGl0c2VydmljZTogVGlja2V0c1NlcnZpY2UscHVibGljIGFjdGl2ZW1vZGFsOiBOZ2JBY3RpdmVNb2RhbCl7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnZpZXdIaXN0b3J5KHRoaXMuZGF0YSk7XHJcbiAgfVxyXG4gIFxyXG4gIG5nT25EZXN0cm95KCl7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxudmlld0hpc3RvcnkoZGF0YTphbnkpe1xyXG4gIHZhciBwYXlsb2FkID0ge1xyXG4gICAgc3RvcmVJZDogZGF0YT8uc3RvcmVJZCxcclxuICAgIGZpbGVEYXRlOiBkYXRhPy5maWxlRGF0ZSxcclxuICAgIHpvbmVOYW1lIDogZGF0YT8uem9uZU5hbWVcclxuICB9XHJcbiAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLm5vZGF0YSA9IGZhbHNlO1xyXG4gIHRoaXMuYXVkaXRzZXJ2aWNlLmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZCxkYXRhPy5zZWxlY3RlZFR5cGUpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEgPSByZXM/LmRhdGE/LnJlc3VsdD8uY3VzdG9tZXJcclxuICAgICAgdGhpcy5qdW5raW1hZ2UgPSByZXM/LmRhdGE/LnJlc3VsdD8uanVua1xyXG4gICAgICB0aGlzLmVtcGxveWVpbWFnZSA9IHJlcz8uZGF0YT8ucmVzdWx0Py5lbXBsb3llZVxyXG4gICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSByZXM/LmRhdGE/LnJlc3VsdD8uY3VzdG9tZXJDb3VudFxyXG4gICAgICB0aGlzLmVtcGxveWVlY291bnQgPSByZXM/LmRhdGE/LnJlc3VsdD8uZW1wbG95ZWVDb3VudFxyXG4gICAgICB0aGlzLmp1bmtjb3VudCA9IHJlcz8uZGF0YT8ucmVzdWx0Py5qdW5rQ291bnRcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2VcclxuICAgICAgdGhpcy5ub2RhdGEgPWZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICghcmVzIHx8IHJlcy5jb2RlID09IDIwNCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB0aGlzLm5vZGF0YSA9dHJ1ZTtcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5jdXJyZW50R3JvdXBOdW1iZXI6YW55ID0wO1xyXG5cclxuICBnZXRHcm91cE51bWJlcihvYmo6IGFueSk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKG9iai5jb3VudCA+IDEpIHtcclxuICAgICAgcmV0dXJuICsrdGhpcy5jdXJyZW50R3JvdXBOdW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJlc2V0R3JvdXBOdW1iZXIoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRHcm91cE51bWJlciA9IDA7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZERhdGEoY291bnQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maWx0ZXIoKG9iajphbnkpID0+IG9iai5jb3VudCA9PT0gY291bnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbXQtNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBkLWZsZXggXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTQgdGV4dC1kYXJrIGZ3LWJvbGRlciBteS0yIG14LTEwXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiBmdy1ib2xkIHRleHQtZGFya1wiPjxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbXktMVwiPlN0b3JlIElEIDp7e2RhdGE/LnN0b3JlSWR9fTwvZGl2PjxzcGFuICpuZ0lmPVwiZGF0YT8uZmlsZURhdGVcIj5EYXRlIDp7e2RhdGE/LmZpbGVEYXRlfX08L3NwYW4+IDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSBtZS01XCIgKGNsaWNrKT1cImFjdGl2ZW1vZGFsLmRpc21pc3MoKVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCI2XCIgeT1cIjE3LjMxMzdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgNiAxNy4zMTM3KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjcuNDE0MjJcIiB5PVwiNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDcuNDE0MjIgNilcIiBmaWxsPVwiYmxhY2tcIj5cclxuICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kYXNoZWRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIUxvYWRpbmcgJiYgIW5vZGF0YVwiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIHNjcm9sbC15IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqdW5rY291bnQgIT09MFwiIGNsYXNzPVwiaC01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIG1zLTJcIj5KdW5rIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7anVua2NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YganVua2ltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCIgbmFtZT1cImp1bmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cIm9iai5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tvYmouaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVlY291bnQgIT09MFwiIGNsYXNzPVwiIGgtNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBtcy0yXCI+RW1wbG95ZWUgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+e3tlbXBsb3llZWNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YgZW1wbG95ZWltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgbmFtZT1cImVtcGxveWVlXCIgW3NyY109XCJvYmo/LmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iaj8uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTUwMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIFwiPkN1c3RvbWVyIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IGF1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzZXRHcm91cE51bWJlcigpID09PSBudWxsXCI+PC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nPy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2ltZz8uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc2V0R3JvdXBOdW1iZXIoKSA9PT0gbnVsbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb2JqIG9mIGF1ZGl0bWFwcGluZ2RhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmo/LmNvdW50ID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWcgb2Ygb2JqLm1hcHBlZGlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBkcmFnZ2FibGU9XCJ0cnVlXCIgbmFtZT1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7aW1nLmltZ19pZH19XCIgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgW3NyY109XCJpbWcuaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aW1nLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb2JqIG9mIGF1ZGl0bWFwcGluZ2RhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmNvdW50ID4gMVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPkdyb3VwIHt7IGdldEdyb3VwTnVtYmVyKG9iaikgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiAqbmdJZj1cIm9iai5jb3VudCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBvYmoubWFwcGVkaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiBuYW1lPVwie3tvYmouaW1nX2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpbWcuaW1nX2lkfX1cIiBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cImltZy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpbWcuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -18,6 +18,7 @@ export class TicketsService {
18
18
  auditApiUrl;
19
19
  dataSubject = new BehaviorSubject(null);
20
20
  metricsApiUrl;
21
+ zoneauditApiUrl;
21
22
  constructor(http, gs) {
22
23
  this.http = http;
23
24
  this.gs = gs;
@@ -29,6 +30,7 @@ export class TicketsService {
29
30
  this.edgeAppApiUrl = env.edgeAppApiUrl;
30
31
  this.auditApiUrl = env.auditApiUrl;
31
32
  this.metricsApiUrl = env.auditmetricApiUrl;
33
+ this.zoneauditApiUrl = env.zoneauditApiUrl;
32
34
  }
33
35
  this.gs.dataRangeValue.subscribe((e) => {
34
36
  if (e) {
@@ -137,29 +139,17 @@ export class TicketsService {
137
139
  auditHistory(data) {
138
140
  return this.http.post(`${this.metricsApiUrl}/user-audit-history`, data);
139
141
  }
140
- getAuditMapping(id, name, limit, nextId) {
141
- return this.http.get(`${this.auditApiUrl}/audit/audit_list?user_id=${id}&queue_name=${name}&limit=${limit}&nextId=${nextId}`);
142
+ export(offset, limit, searchValue, data, type) {
143
+ let Url = type === 'zone' ? this.zoneauditApiUrl : this.auditApiUrl;
144
+ return this.http.get(`${Url}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`, { responseType: 'arraybuffer' });
142
145
  }
143
- export(offset, limit, searchValue, data) {
144
- return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`, { responseType: 'arraybuffer' });
146
+ getAudit(offset, limit, searchValue, data, type) {
147
+ let Url = type === 'zone' ? this.zoneauditApiUrl : this.auditApiUrl;
148
+ return this.http.get(`${Url}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`);
145
149
  }
146
- getauditCard(filter, user) {
147
- return this.http.get(`${this.auditApiUrl}/audit/userAuditSummary?range=${filter}&userId=${user}`);
148
- }
149
- getactivitylog(data) {
150
- return this.http.post(`${this.auditApiUrl}/activitylog/list`, data);
151
- }
152
- getAudit(offset, limit, searchValue, data) {
153
- return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`);
154
- }
155
- saveDraft(data) {
156
- return this.http.post(`${this.auditApiUrl}/audit/saveDraft`, data);
157
- }
158
- getAuditmappinglist(data) {
159
- return this.http.post(`${this.auditApiUrl}/audit/getmapping`, data);
160
- }
161
- saveaudit(data) {
162
- return this.http.post(`${this.auditApiUrl}/audit/saveAudit`, data);
150
+ getAuditmappinglist(payload, type) {
151
+ let params = type === 'zone' ? `${this.zoneauditApiUrl}/get-drafted-data?fileDate=${payload?.fileDate}&storeId=${payload?.storeId}&zoneName=${payload?.zoneName}` : `${this.auditApiUrl}/get-drafted-data?fileDate=${payload?.fileDate}&storeId=${payload?.storeId}`;
152
+ return this.http.get(params);
163
153
  }
164
154
  getstoreList(data) {
165
155
  return this.http.post(`${this.auditApiUrl}/store/audit-stores`, data);
@@ -179,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
179
169
  providedIn: 'root'
180
170
  }]
181
171
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWluZnJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sY0FBYztJQWdCTDtJQUEwQjtJQWQ5QyxZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBTTtJQUNWLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUM3QyxhQUFhLENBQU07SUFFbkIsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FB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QUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3RCLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakUsT0FBTyxRQUFRLENBQUE7UUFDbkIsQ0FBQyxDQUFDLEVBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBcFBZLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCB0aHJvd0Vycm9yLEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRzU2VydmljZSB7XHJcblxyXG4gIHRpY2tldEFwaVVybDogYW55O1xyXG4gIHN0b3JlQXBpVXJsOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIHVzZXJVcmw6IGFueTtcclxuICB0b2tlblN0b3JhZ2U6IGFueTtcclxuICBlZGdlQXBwQXBpVXJsOiBhbnk7XHJcbiAgY2xpZW50QXBpVXJsOnN0cmluZ1xyXG5cclxuICBjbGllbnRJZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcclxuICBjbGllbnREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpXHJcbiAgYXVkaXRBcGlVcmw6IGFueTtcclxuICBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBtZXRyaWNzQXBpVXJsOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnRpY2tldEFwaVVybCA9IGVudi50aWNrZXRzQXBpVXJsXHJcbiAgICAgICAgdGhpcy5zdG9yZUFwaVVybCA9IGVudi5zdG9yZUFwaVVybDtcclxuICAgICAgICB0aGlzLnVzZXJVcmwgPSBlbnYudXNlclVybDtcclxuICAgICAgICB0aGlzLmVkZ2VBcHBBcGlVcmwgPSBlbnYuZWRnZUFwcEFwaVVybDtcclxuICAgICAgICB0aGlzLmF1ZGl0QXBpVXJsID0gZW52LmF1ZGl0QXBpVXJsO1xyXG4gICAgICAgIHRoaXMubWV0cmljc0FwaVVybCA9IGVudi5hdWRpdG1ldHJpY0FwaVVybFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUuc3Vic2NyaWJlKChlOmFueSk9PnsgICAgICBcclxuICAgICAgICBpZihlKXtcclxuICAgICAgICAgIHRoaXMuY2xpZW50SWQubmV4dChlLmNsaWVudClcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICB1c2VyVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGlja2V0TGlzdGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuICBleHBvcnR1c2VyVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvdXNlclRpY2tldExpc3RgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICB1c2VyVGFrZVRpY2tldChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGFrZVRpY2tldGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcmltYXJ5UmVhc29uKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9QcmltYXJ5UmVhc29uc2AsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZWNvbmRhcnlSZWFzb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9zZWNvbmRhcnlSZWFzb25gLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSlcclxuICB9XHJcblxyXG4gIGVkZ2VBcHBMb2dUYWJsZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2VkZ2VBcHBMb2dUYWJsZWAsIGRhdGEpXHJcblxyXG4gIH1cclxuXHJcbiAgZWRnZUFwcExvZ1RhYmxlRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvZWRnZUFwcExvZ1RhYmxlYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuXHJcbiAgfVxyXG5cclxuICB1cGxvYWRBdHRhY2htZW50cyh0aWNrZXRJZDogYW55LCBmb3JtRGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGxvYWRBdHRhY2htZW50cy8ke3RpY2tldElkfWAsIGZvcm1EYXRhKVxyXG4gIH1cclxuICByZW1vdmVBdHRhY2htZW50KHRpY2tldElkOiBhbnksIGRhdGE6IGFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvcmVtb3ZlQXR0YWNobWVudC8ke3RpY2tldElkfWAsIGRhdGEpXHJcbiAgfVxyXG4gIHZpZXdlZGdlQXBwTG9nKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvdmlld2VkZ2VBcHBMb2dgLCBkYXRhKVxyXG5cclxuICB9XHJcbiAgdXBkYXRlVGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdXBkYXRlVGlja2V0SXNzdWVgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRjYXJkKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRjYXJkYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRMaXN0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0TGlzdEV4cG9ydChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldExpc3RgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICB2aWV3VGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdmlld1RpY2tldGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG4gIGdldENhbWVyYUxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0Q2FtZXJhSW1hZ2VgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuICBzdGF0dXNVcGRhdGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGRhdGVTdGF0dXNgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgd29ya0hpc3RvcnkoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3dvcmtIaXN0b3J5YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHdvcmtIaXN0b3J5RXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS93b3JrSGlzdG9yeWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBnZXRTcG9jTG9nRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zcG9jLWxpc3RgLCBkYXRhKVxyXG5cclxuICB9XHJcblxyXG4gIGNhbWVyYUFuZ2xlQ2hhbmdlKGRhdGE6IGFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2NhbWVyYUFuZ2xlQ2hhbmdlYCxkYXRhKVxyXG4gIH1cclxuICBjYW1lcmFMaXN0KHN0b3JlSWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRBbGxDYW1lcmFTdHJlYW1EYXRhP3N0b3JlSWQ9JHtzdG9yZUlkfWApXHJcbiAgfVxyXG4gIGFkZFNpbmdsZVNwb2MoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vY3JlYXRlLXNwb2MvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3BvYyhpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS91cGRhdGUtc3BvYy8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBkZWxldGVTcG9jKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2RlbGV0ZS1zcG9jLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFJlbW90ZShpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9nZXQtc3RvcmUvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlUmVtb3RlKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5zdG9yZUFwaVVybH0vdXBkYXRlLXN0b3JlLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGFjdGl2ZVRpY2tldChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL2FjdGl2ZVRpY2tldExpc3RgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtZXJhSW1hZ2VzKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0QWxsQ2FtZXJhU3RyZWFtRGF0YWAsIHsgcGFyYW1zOiBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVN0b3JlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS91cGRhdGVTdG9yZUlzc3VlLyR7aWR9YCwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcbiAgZ2V0QWxsQ291bnRzKGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvcGVuZGluZ1RpY2tldGAsIGRhdGEpXHJcbiAgfVxyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoXHJcbiAgICAgICgpID0+IG5ldyBFcnJvcihcIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQ7IHBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuLy8gYXVkaXQgY29kZVxyXG5cclxuYXVkaXRIaXN0b3J5KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5tZXRyaWNzQXBpVXJsfS91c2VyLWF1ZGl0LWhpc3RvcnlgLGRhdGEpXHJcbn1cclxuXHJcbmdldEF1ZGl0TWFwcGluZyhpZDogYW55LCBuYW1lOiBhbnksIGxpbWl0OiBhbnksIG5leHRJZDogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvYXVkaXRfbGlzdD91c2VyX2lkPSR7aWR9JnF1ZXVlX25hbWU9JHtuYW1lfSZsaW1pdD0ke2xpbWl0fSZuZXh0SWQ9JHtuZXh0SWR9YClcclxufVxyXG5cclxuZXhwb3J0KG9mZnNldDogYW55LCBsaW1pdDogYW55LCBzZWFyY2hWYWx1ZTogYW55LGRhdGE6YW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vd29yay1zcGFjZT8mc2VhcmNoVmFsdWU9JHtzZWFyY2hWYWx1ZX0mb2Zmc2V0PSR7b2Zmc2V0fSZsaW1pdD0ke2xpbWl0fSZpc0V4cG9ydD0ke2RhdGF9YCwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbn1cclxuXHJcbmdldGF1ZGl0Q2FyZChmaWx0ZXI6IGFueSx1c2VyOmFueSl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvdXNlckF1ZGl0U3VtbWFyeT9yYW5nZT0ke2ZpbHRlcn0mdXNlcklkPSR7dXNlcn1gKVxyXG59XHJcblxyXG5nZXRhY3Rpdml0eWxvZyhkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYWN0aXZpdHlsb2cvbGlzdGAsIGRhdGEpXHJcbn1cclxuZ2V0QXVkaXQob2Zmc2V0OiBhbnksIGxpbWl0OiBhbnksIHNlYXJjaFZhbHVlOiBhbnksZGF0YTphbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS93b3JrLXNwYWNlPyZzZWFyY2hWYWx1ZT0ke3NlYXJjaFZhbHVlfSZvZmZzZXQ9JHtvZmZzZXR9JmxpbWl0PSR7bGltaXR9JmlzRXhwb3J0PSR7ZGF0YX1gKVxyXG59XHJcbnNhdmVEcmFmdChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvc2F2ZURyYWZ0YCwgZGF0YSlcclxufVxyXG5nZXRBdWRpdG1hcHBpbmdsaXN0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdWRpdC9nZXRtYXBwaW5nYCwgZGF0YSlcclxufVxyXG5zYXZlYXVkaXQoZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0L3NhdmVBdWRpdGAsIGRhdGEpXHJcbn1cclxuZ2V0c3RvcmVMaXN0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vc3RvcmUvYXVkaXQtc3RvcmVzYCxkYXRhKVxyXG59XHJcblxyXG51c2VyRGV0YWlscygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdXRoL21lYCwge1xyXG4gIH0pLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlci1pbmZvJywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSkpO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXHJcbiAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbn1cclxuXHJcblxyXG5cclxufVxyXG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWluZnJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sY0FBYztJQWlCTDtJQUEwQjtJQWY5QyxZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBTTtJQUNWLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUM3QyxhQUFhLENBQU07SUFDbkIsZUFBZSxDQUFLO0lBRXBCLFlBQW9CLElBQWdCLEVBQVUsRUFBc0I7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxJQUFJLENB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Q0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBMU9ZLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCB0aHJvd0Vycm9yLEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRzU2VydmljZSB7XHJcblxyXG4gIHRpY2tldEFwaVVybDogYW55O1xyXG4gIHN0b3JlQXBpVXJsOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIHVzZXJVcmw6IGFueTtcclxuICB0b2tlblN0b3JhZ2U6IGFueTtcclxuICBlZGdlQXBwQXBpVXJsOiBhbnk7XHJcbiAgY2xpZW50QXBpVXJsOnN0cmluZ1xyXG5cclxuICBjbGllbnRJZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcclxuICBjbGllbnREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpXHJcbiAgYXVkaXRBcGlVcmw6IGFueTtcclxuICBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBtZXRyaWNzQXBpVXJsOiBhbnk7XHJcbiAgem9uZWF1ZGl0QXBpVXJsOmFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudGlja2V0QXBpVXJsID0gZW52LnRpY2tldHNBcGlVcmxcclxuICAgICAgICB0aGlzLnN0b3JlQXBpVXJsID0gZW52LnN0b3JlQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudXNlclVybCA9IGVudi51c2VyVXJsO1xyXG4gICAgICAgIHRoaXMuZWRnZUFwcEFwaVVybCA9IGVudi5lZGdlQXBwQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuYXVkaXRBcGlVcmwgPSBlbnYuYXVkaXRBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5tZXRyaWNzQXBpVXJsID0gZW52LmF1ZGl0bWV0cmljQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuem9uZWF1ZGl0QXBpVXJsPSBlbnYuem9uZWF1ZGl0QXBpVXJsXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5zdWJzY3JpYmUoKGU6YW55KT0+eyAgICAgIFxyXG4gICAgICAgIGlmKGUpe1xyXG4gICAgICAgICAgdGhpcy5jbGllbnRJZC5uZXh0KGUuY2xpZW50KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHVzZXJUaWNrZXRMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3VzZXJUaWNrZXRMaXN0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG4gIGV4cG9ydHVzZXJUaWNrZXRMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGlja2V0TGlzdGAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG4gIHVzZXJUYWtlVGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3VzZXJUYWtlVGlja2V0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaW1hcnlSZWFzb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL1ByaW1hcnlSZWFzb25zYCwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHNlY29uZGFyeVJlYXNvbihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3NlY29uZGFyeVJlYXNvbmAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKVxyXG4gIH1cclxuXHJcbiAgZWRnZUFwcExvZ1RhYmxlKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvZWRnZUFwcExvZ1RhYmxlYCwgZGF0YSlcclxuXHJcbiAgfVxyXG5cclxuICBlZGdlQXBwTG9nVGFibGVFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9lZGdlQXBwTG9nVGFibGVgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG5cclxuICB9XHJcblxyXG4gIHVwbG9hZEF0dGFjaG1lbnRzKHRpY2tldElkOiBhbnksIGZvcm1EYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3VwbG9hZEF0dGFjaG1lbnRzLyR7dGlja2V0SWR9YCwgZm9ybURhdGEpXHJcbiAgfVxyXG4gIHJlbW92ZUF0dGFjaG1lbnQodGlja2V0SWQ6IGFueSwgZGF0YTogYW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9yZW1vdmVBdHRhY2htZW50LyR7dGlja2V0SWR9YCwgZGF0YSlcclxuICB9XHJcbiAgdmlld2VkZ2VBcHBMb2coZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS92aWV3ZWRnZUFwcExvZ2AsIGRhdGEpXHJcblxyXG4gIH1cclxuICB1cGRhdGVUaWNrZXQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGRhdGVUaWNrZXRJc3N1ZWAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzdG9yZVRpY2tldGNhcmQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldGNhcmRgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldExpc3RgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRMaXN0RXhwb3J0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0TGlzdGAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG4gIHZpZXdUaWNrZXQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS92aWV3VGlja2V0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcbiAgZ2V0Q2FtZXJhTGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRDYW1lcmFJbWFnZWAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG4gIHN0YXR1c1VwZGF0ZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3VwZGF0ZVN0YXR1c2AsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICB3b3JrSGlzdG9yeShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvd29ya0hpc3RvcnlgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgd29ya0hpc3RvcnlFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3dvcmtIaXN0b3J5YCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGdldFNwb2NMb2dEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vZ2V0LXNwb2MtbGlzdGAsIGRhdGEpXHJcblxyXG4gIH1cclxuXHJcbiAgY2FtZXJhQW5nbGVDaGFuZ2UoZGF0YTogYW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvY2FtZXJhQW5nbGVDaGFuZ2VgLGRhdGEpXHJcbiAgfVxyXG4gIGNhbWVyYUxpc3Qoc3RvcmVJZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L2dldEFsbENhbWVyYVN0cmVhbURhdGE/c3RvcmVJZD0ke3N0b3JlSWR9YClcclxuICB9XHJcbiAgYWRkU2luZ2xlU3BvYyhpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9jcmVhdGUtc3BvYy8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVTcG9jKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L3VwZGF0ZS1zcG9jLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNwb2MoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vZGVsZXRlLXNwb2MvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0UmVtb3RlKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zdG9yZS8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZW1vdGUoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnN0b3JlQXBpVXJsfS91cGRhdGUtc3RvcmUvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlVGlja2V0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvYWN0aXZlVGlja2V0TGlzdGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDYW1lcmFJbWFnZXMocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRBbGxDYW1lcmFTdHJlYW1EYXRhYCwgeyBwYXJhbXM6IHBhcmFtcyB9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3RvcmUoaWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L3VwZGF0ZVN0b3JlSXNzdWUvJHtpZH1gLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuICBnZXRBbGxDb3VudHMoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS9wZW5kaW5nVGlja2V0YCwgZGF0YSlcclxuICB9XHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihcclxuICAgICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4vLyBhdWRpdCBjb2RlXHJcblxyXG5hdWRpdEhpc3RvcnkoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm1ldHJpY3NBcGlVcmx9L3VzZXItYXVkaXQtaGlzdG9yeWAsZGF0YSlcclxufVxyXG5cclxuZXhwb3J0KG9mZnNldDogYW55LCBsaW1pdDogYW55LCBzZWFyY2hWYWx1ZTogYW55LGRhdGE6YW55LHR5cGU6YW55KSB7XHJcbiAgbGV0IFVybCA9IHR5cGU9PT0nem9uZScgPyB0aGlzLnpvbmVhdWRpdEFwaVVybCA6IHRoaXMuYXVkaXRBcGlVcmw7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7VXJsfS93b3JrLXNwYWNlPyZzZWFyY2hWYWx1ZT0ke3NlYXJjaFZhbHVlfSZvZmZzZXQ9JHtvZmZzZXR9JmxpbWl0PSR7bGltaXR9JmlzRXhwb3J0PSR7ZGF0YX1gLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxufVxyXG5cclxuZ2V0QXVkaXQob2Zmc2V0OiBhbnksIGxpbWl0OiBhbnksIHNlYXJjaFZhbHVlOiBhbnksZGF0YTphbnksdHlwZTphbnkpIHtcclxuICBsZXQgVXJsID0gdHlwZT09PSd6b25lJyA/IHRoaXMuem9uZWF1ZGl0QXBpVXJsIDogdGhpcy5hdWRpdEFwaVVybDtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtVcmx9L3dvcmstc3BhY2U/JnNlYXJjaFZhbHVlPSR7c2VhcmNoVmFsdWV9Jm9mZnNldD0ke29mZnNldH0mbGltaXQ9JHtsaW1pdH0maXNFeHBvcnQ9JHtkYXRhfWApXHJcbn1cclxuXHJcbmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZDphbnksdHlwZSA6YW55KSB7XHJcbiAgICBsZXQgcGFyYW1zID0gdHlwZT09PSd6b25lJyA/IGAke3RoaXMuem9uZWF1ZGl0QXBpVXJsfS9nZXQtZHJhZnRlZC1kYXRhP2ZpbGVEYXRlPSR7cGF5bG9hZD8uZmlsZURhdGV9JnN0b3JlSWQ9JHtwYXlsb2FkPy5zdG9yZUlkfSZ6b25lTmFtZT0ke3BheWxvYWQ/LnpvbmVOYW1lfWA6IGAke3RoaXMuYXVkaXRBcGlVcmx9L2dldC1kcmFmdGVkLWRhdGE/ZmlsZURhdGU9JHtwYXlsb2FkPy5maWxlRGF0ZX0mc3RvcmVJZD0ke3BheWxvYWQ/LnN0b3JlSWR9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocGFyYW1zKVxyXG59XHJcblxyXG5nZXRzdG9yZUxpc3QoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9zdG9yZS9hdWRpdC1zdG9yZXNgLGRhdGEpXHJcbn1cclxuXHJcbnVzZXJEZXRhaWxzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1dGgvbWVgLCB7XHJcbiAgfSkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VyLWluZm8nLCBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5kYXRhKSk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxufVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==